51 IsotropicHeatTransferMaterial :: initializeFrom(ir);
54 HydrationModelInterface :: initializeFrom(ir);
69 printf(
"\nHydratingHeatMat %d: using mixture %d.\n",
giveNumber(), value);
73 printf(
"HydratingHeatMat %d: hydration heat neglected.\n",
giveNumber() );
82 printf(
"HydratingHeatMat %d: hydration heat not included in LHS.\n",
giveNumber() );
97 OOFEM_ERROR(
"Can't setup undefined hydrationModel.");
102HydratingIsoHeatMaterial :: hasInternalSource()
const
116 hydrationModel->computeInternalSourceVector(val, gp, tStep, VM_Incremental);
117 val.times( 1. / tStep->giveTimeIncrement() );
150 HydrationModelInterface :: updateInternalState(vec, gp, tStep);
154 FILE *vyst = fopen(
"teplota.out",
"a");
163 fprintf( vyst,
"Elem %.3d krok %.2d: t= %.0f, dt=%.0f, %ld. it, ksi= %.12f, T= %.8f, heat=%.8f\n", gp->
giveElement()->
giveNumber(), tStep->
giveNumber(),
173HydratingIsoHeatMaterial :: giveCharacteristicValue(MatResponseMode rmode,
GaussPoint *gp,
TimeStep *tStep)
const
175 if ( rmode == Capacity ) {
186 double h = status->giveTempHumidity();
190 OOFEM_ERROR(
"unknown MatResponseMode (%s)", __MatResponseModeToString(rmode) );
197 TransportMaterial :: saveIPContext(stream, mode, gp);
200 HydrationModelInterface :: saveContext(stream, mode);
206 TransportMaterial :: restoreIPContext(stream, mode, gp);
209 HydrationModelInterface :: restoreContext(stream, mode);
216 if ( type == IST_HydrationDegree ) {
224 return TransportMaterial :: giveIPValue(answer, gp, type, tStep);
228std::unique_ptr<MaterialStatus>
229HydratingIsoHeatMaterial :: CreateStatus(
GaussPoint *gp)
const
231 return std::make_unique<HydratingTransportMaterialStatus>(gp);
236HydratingTransportMaterialStatus :: printOutputAt(FILE *file,
TimeStep *tStep)
const
238 fprintf(file,
" status ");
239 HydrationModelStatusInterface :: printOutputAt(file, tStep);
240 TransportMaterialStatus :: printOutputAt(file, tStep);
#define REGISTER_Material(class)
void zero()
Zeroes all coefficients of receiver.
bool isEmpty() const
Returns true if receiver is empty.
int giveNumber()
Returns number of receiver.
Element * giveElement()
Returns corresponding element to receiver.
double giveTempTemperature() const
Return last field.
void setMixture(MixtureType mix)
void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override
std ::unique_ptr< HydrationModel > hydrationModel
Reference to the associated hydrationModel instance.
double giveHydrationDegree(GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
double castAt
Material cast time - start of hydration.
HydrationModelStatusInterface()
Constructor. Nulls the hydrationModelStatus pointer.
double giveProperty(int aProperty, GaussPoint *gp, TimeStep *tStep) const
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
double giveTimeIncrement()
Returns solution step associated time increment.
double giveTargetTime()
Returns target time.
int giveNumber()
Returns receiver's number.
StateCounterType giveSolutionStateCounter()
void setTempField(double newField)
Set field.
#define _IFT_HydratingIsoHeatMaterial_noLHS
#define _IFT_HydratingIsoHeatMaterial_hydration
#define _IFT_HydratingIsoHeatMaterial_mix
#define _IFT_HydratingIsoHeatMaterial_noHeat
@ HydrationModelStatusInterfaceType