43 #define PRECAST_CAPACITY_COEFF 1e-2 // coefficient for obtaining capacity before cast of the material : 1e-4, tried 1e-2 for jete (no convergency with 1e-4) 56 if ( result !=
IRRT_OK )
return result;
60 if ( result !=
IRRT_OK )
return result;
85 printf(
"\nHydratingHeMoMat %d: using mixture %d.\n",
giveNumber(), value);
89 printf(
"HydratingHeMoMat %d: hydration heat neglected.\n",
giveNumber() );
98 printf(
"HydratingHeMoMat %d: hydration heat not included in LHS.\n",
giveNumber() );
118 OOFEM_ERROR(
"Can't setup undefined hydrationModel.");
142 hydrationModel->computeInternalSourceVector(val, gp, tStep, VM_Incremental);
191 FILE *vyst = fopen(
"teplota.out",
"a");
199 fprintf( vyst,
"Elem %.3d krok %.2d: t= %.0f, dt=%.0f, %ld. it, ksi= %.12f, T= %.8f, heat=%.8f\n", gp->
giveElement()->
giveNumber(), tStep->
giveNumber(),
213 if ( ( rmode >= Capacity_ww ) && ( rmode <= Capacity_wh ) ) {
218 }
else if ( ( rmode >= IntSource_ww ) && ( rmode <= IntSource_wh ) ) {
231 answer =
hydrationModel->giveCharacteristicValue(vec, rmode, gp, tStep)
233 if ( ( rmode == IntSource_ww ) || ( rmode == IntSource_hw ) ) {
287 if ( type == IST_HydrationDegree ) {
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
#define _IFT_HydratingHeMoMaterial_noHeat
#define _IFT_HydratingHeMoMaterial_mix
Domain * domain
Link to domain object, useful for communicating with other FEM components.
double give_dphi_dw(double w)
virtual int hasInternalSource()
Returns nonzero if receiver generates internal source of state variable(s), zero otherwise.
virtual contextIOResultType saveIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Stores integration point state to output stream.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
double & at(int i)
Coefficient access function.
virtual double giveCharacteristicValue(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the characteristic value of receiver in given integration point, respecting its history...
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
void clear()
Clears receiver (zero size).
const char * __MatResponseModeToString(MatResponseMode _value)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double giveTargetTime()
Returns target time.
Element * giveElement()
Returns corresponding element to receiver.
virtual contextIOResultType restoreIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Reads integration point state to output stream.
This class implements a transport material status information.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
MatResponseMode
Describes the character of characteristic material matrix.
contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
virtual void updateInternalState(const FloatArray &state, GaussPoint *gp, TimeStep *tStep)
Calls hydrationModel->updateInternalState, if the material is already cast.
double giveTimeIncrement()
Returns solution step associated time increment.
std::unique_ptr< HydrationModel > hydrationModel
Reference to the associated hydrationModel instance.
int giveNumber()
Returns receiver's number.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
StateCounterType giveSolutionStateCounter()
Returns current solution state counter.
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.
int giveNumber()
Returns number of receiver.
virtual void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
Computes the internal source vector of receiver.
Isotropic material for heat with hydration.
bool isEmpty() const
Returns true if receiver is empty.
double giveHydrationDegree(GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
Returns the hydration degree at end of TimeStep tStep in given integration point. ...
Abstract base class representing a material status information.
#define PRECAST_CAPACITY_COEFF
Class representing vector of real numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual double giveCharacteristicValue(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the characteristic value of receiver in given integration point, respecting its history...
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
void zero()
Zeroes all coefficients of receiver.
void times(double s)
Multiplies receiver with scalar.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual contextIOResultType restoreIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Reads integration point state to output stream.
REGISTER_Material(DummyMaterial)
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
double castAt
Material cast time - start of hydration.
#define _IFT_HydratingHeMoMaterial_hydration
virtual contextIOResultType saveIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Stores integration point state to output stream.
void letTempStateVectorBe(FloatArray v)
Class representing integration point in finite element program.
virtual void updateInternalState(const FloatArray &vec, GaussPoint *gp, TimeStep *tStep)
Calls hydrationModel->updateInternalState, if the material is already cast.
#define _IFT_HydratingHeMoMaterial_noLHS
Class representing solution step.
void setMixture(MixtureType mix)
IRResultType initializeFrom(InputRecord *ir)
Creates and initializes the hydration model according to object description stored in input record...
double inverse_sorption_isotherm(double w)
void resize(int s)
Resizes receiver towards requested size.