OOFEM 3.0
Loading...
Searching...
No Matches
oofem::CemhydMat Class Reference

#include <cemhydmat.h>

Inheritance diagram for oofem::CemhydMat:
Collaboration diagram for oofem::CemhydMat:

Public Member Functions

 CemhydMat (int n, Domain *d)
 Constructor.
const char * giveInputRecordName () const override
 Returns input record name of the receiver.
const char * giveClassName () const override
bool hasInternalSource () const override
void computeInternalSourceVector (FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const override
virtual int giveCycleNumber (GaussPoint *gp)
 Returns cycle number at the closest cycle after the target time.
virtual double giveTimeOfCycle (GaussPoint *gp)
 Returns time of the CEMHYD3D at the first cycle after the target time.
virtual double giveDoHActual (GaussPoint *gp)
 Returns DoH of the closest CEMHYD3D cycle after the target time.
double giveIsotropicConductivity (GaussPoint *gp, TimeStep *tStep) const override
 Returns concrete heat conductivity depending on chosen type.
virtual double giveConcreteCapacity (GaussPoint *gp, TimeStep *tStep) const
 Returns concrete thermal capacity depending on chosen type.
virtual double giveConcreteDensity (GaussPoint *gp, TimeStep *tStep) const
 Returns concrete density depending on chosen type.
double giveCharacteristicValue (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
 Compute heat thermal capacity per volume.
int giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
int initMaterial (Element *element) override
virtual void clearWeightTemperatureProductVolume (Element *element)
 Clear temperatures multiplied with volume around GPs - need before temperature averaging.
virtual void storeWeightTemperatureProductVolume (Element *element, TimeStep *tStep)
 Store temperatures multiplied with volume around GPs - need before temperature averaging.
virtual void averageTemperature ()
 Perform averaging on a master CemhydMatStatus.
void initializeFrom (InputRecord &ir) override
MaterialStatusCreateStatus (GaussPoint *gp) const override
Public Member Functions inherited from oofem::IsotropicHeatTransferMaterial
 IsotropicHeatTransferMaterial (int n, Domain *d)
FloatArrayF< 3 > computeFlux3D (const FloatArrayF< 3 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const override
FloatMatrixF< 3, 3 > computeTangent3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
double giveCharacteristicValue (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
virtual double giveMaturityT0 () const
int giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
const char * giveInputRecordName () const override
const char * giveClassName () const override
void initializeFrom (InputRecord &ir) override
double giveProperty (int aProperty, GaussPoint *gp, TimeStep *tStep) const
double giveTemperature (GaussPoint *gp) const
Public Member Functions inherited from oofem::TransportMaterial
 TransportMaterial (int n, Domain *d)
virtual void giveFluxVector (FloatArray &answer, GaussPoint *gp, const FloatArray &grad, const FloatArray &field, TimeStep *tStep) const
FloatArrayF< 2 > computeFlux2D (const FloatArrayF< 2 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const
FloatArrayF< 1 > computeFlux1D (const FloatArrayF< 1 > &grad, double field, GaussPoint *gp, TimeStep *tStep) const
virtual std::pair< FloatArrayF< 3 >, FloatArrayF< 3 > > computeHeMoFlux3D (const FloatArrayF< 3 > &grad_t, const FloatArrayF< 3 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const
std::pair< FloatArrayF< 2 >, FloatArrayF< 2 > > computeHeMoFlux2D (const FloatArrayF< 2 > &grad_t, const FloatArrayF< 2 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const
std::pair< FloatArrayF< 1 >, FloatArrayF< 1 > > computeHeMoFlux1D (const FloatArrayF< 1 > &grad_t, const FloatArrayF< 1 > &grad_w, double t, double h, GaussPoint *gp, TimeStep *tStep) const
virtual void giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
FloatMatrixF< 2, 2 > computeTangent2D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 1, 1 > computeTangent1D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
virtual void updateInternalState (const FloatArray &state, GaussPoint *gp, TimeStep *tStep)
virtual double giveHumidity (GaussPoint *gp, ValueModeType mode) const
int giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
std::unique_ptr< MaterialStatusCreateStatus (GaussPoint *gp) const override
Public Member Functions inherited from oofem::Material
 Material (int n, Domain *d)
virtual ~Material ()=default
 Destructor.
virtual bool isCharacteristicMtrxSymmetric (MatResponseMode rMode) const
virtual void giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const
 Returns characteristic vector of the receiver.
virtual double give (int aProperty, GaussPoint *gp) const
virtual bool hasProperty (int aProperty, GaussPoint *gp) const
virtual void modifyProperty (int aProperty, double value, GaussPoint *gp)
double giveCastingTime () const
virtual bool isActivated (TimeStep *tStep) const
virtual bool hasMaterialModeCapability (MaterialMode mode) const
virtual bool hasCastingTimeSupport () const
virtual int setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type)
void initializeFrom (InputRecord &ir) override
void giveInputRecord (DynamicInputRecord &input) override
void printYourself () override
 Prints receiver state on stdout. Useful for debugging.
virtual void saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
virtual void restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
int checkConsistency () override
virtual void restoreConsistency (GaussPoint *gp)
virtual MaterialStatusgiveStatus (GaussPoint *gp) const
virtual int packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip)
virtual int unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip)
virtual int estimatePackSize (DataStream &buff, GaussPoint *ip)
virtual double predictRelativeComputationalCost (GaussPoint *gp)
virtual double predictRelativeRedistributionCost (GaussPoint *gp)
virtual void initTempStatus (GaussPoint *gp) const
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Public Attributes

int conductivityType
 Use different methods to evaluate material parameters.
int capacityType
int densityType
IntArray nowarnings
 Array containing warnings supression for density, conductivity, capacity, high temperature.
FloatArray scaling
 Array containing scaling factors for density, conductivity and capacity.
int reinforcementDegree
 Degree of reinforcement, if defined, reinforcement effect for conductivity and capacity is accounted for. Isotropic case.
int eachGP
 Assign a separate microstructure in each integration point.
std::string XMLfileName
 XML input file name for CEMHYD3D.
CemhydMatStatusMasterCemhydMatStatus

Additional Inherited Members

Protected Attributes inherited from oofem::IsotropicHeatTransferMaterial
ScalarFunction conductivity
 Conductivity (k in input file).
ScalarFunction capacity
 Capacity (c in input file).
ScalarFunction density
 Density (td in input file).
double maturityT0 = 0.
 Baseline for maturity mathod.
Protected Attributes inherited from oofem::Material
Dictionary propertyDictionary
double castingTime
int preCastingTimeMat
 Material existing before casting time - optional parameter, zero by default.
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

Detailed Description

Definition at line 92 of file cemhydmat.h.

Constructor & Destructor Documentation

◆ CemhydMat()

oofem::CemhydMat::CemhydMat ( int n,
Domain * d )

Member Function Documentation

◆ averageTemperature()

void oofem::CemhydMat::averageTemperature ( )
virtual

◆ clearWeightTemperatureProductVolume()

void oofem::CemhydMat::clearWeightTemperatureProductVolume ( Element * element)
virtual

◆ computeInternalSourceVector()

void oofem::CemhydMat::computeInternalSourceVector ( FloatArray & val,
GaussPoint * gp,
TimeStep * tStep,
ValueModeType mode ) const
overridevirtual

Computes the internal source vector of receiver.

Parameters
valContains response.
gpIntegration point.
tStepSolution step.
modeDetermines response mode.

Reimplemented from oofem::TransportMaterial.

Definition at line 103 of file cemhydmat.C.

References oofem::FloatArray::at(), averageTemperature(), eachGP, oofem::CemhydMatStatus::giveAverageTemperature(), oofem::CemhydMatStatus::GivePower(), oofem::Material::giveStatus(), oofem::TimeStep::giveTargetTime(), oofem::CemhydMatStatus::LastCallTime, MasterCemhydMatStatus, OOFEM_ERROR, oofem::CemhydMatStatus::PartHeat, and oofem::FloatArray::resize().

◆ CreateStatus()

MaterialStatus * oofem::CemhydMat::CreateStatus ( GaussPoint * gp) const
overridevirtual

Creates new copy of associated status and inserts it into given integration point.

Parameters
gpIntegration point where newly created status will be stored.
Returns
Reference to new status.

Reimplemented from oofem::Material.

Definition at line 444 of file cemhydmat.C.

References OOFEM_ERROR.

◆ giveCharacteristicValue()

double oofem::CemhydMat::giveCharacteristicValue ( MatResponseMode mode,
GaussPoint * gp,
TimeStep * tStep ) const
overridevirtual

◆ giveClassName()

const char * oofem::CemhydMat::giveClassName ( ) const
inlineoverridevirtual
Returns
Class name of the receiver.

Implements oofem::FEMComponent.

Definition at line 99 of file cemhydmat.h.

◆ giveConcreteCapacity()

double oofem::CemhydMat::giveConcreteCapacity ( GaussPoint * gp,
TimeStep * tStep ) const
virtual

Returns concrete thermal capacity depending on chosen type.

Definition at line 197 of file cemhydmat.C.

References capacityType, oofem::Material::giveStatus(), MasterCemhydMatStatus, nowarnings, OOFEM_ERROR, OOFEM_WARNING, reinforcementDegree, and scaling.

Referenced by giveCharacteristicValue(), giveIPValue(), and oofem::CemhydMatStatus::printOutputAt().

◆ giveConcreteDensity()

double oofem::CemhydMat::giveConcreteDensity ( GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ giveCycleNumber()

int oofem::CemhydMat::giveCycleNumber ( GaussPoint * gp)
virtual

Returns cycle number at the closest cycle after the target time.

Definition at line 133 of file cemhydmat.C.

References oofem::CemhydMatStatus::GiveCycNum(), oofem::Material::giveStatus(), and MasterCemhydMatStatus.

Referenced by oofem::CemhydMatStatus::printOutputAt().

◆ giveDoHActual()

double oofem::CemhydMat::giveDoHActual ( GaussPoint * gp)
virtual

Returns DoH of the closest CEMHYD3D cycle after the target time.

Definition at line 155 of file cemhydmat.C.

References oofem::CemhydMatStatus::GiveDoHActual(), oofem::Material::giveStatus(), and MasterCemhydMatStatus.

Referenced by giveIPValue(), and oofem::CemhydMatStatus::printOutputAt().

◆ giveInputRecordName()

const char * oofem::CemhydMat::giveInputRecordName ( ) const
inlineoverridevirtual

Returns input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 98 of file cemhydmat.h.

References _IFT_CemhydMat_Name.

◆ giveIPValue()

int oofem::CemhydMat::giveIPValue ( FloatArray & answer,
GaussPoint * gp,
InternalStateType type,
TimeStep * tStep )
overridevirtual

Returns the integration point corresponding value in Reduced form.

Parameters
answerContain corresponding ip value, zero sized if not available.
gpIntegration point to which the value refers.
typeDetermines the type of internal variable.
tStepDetermines the time step.
Returns
Nonzero if the assignment can be done, zero if this type of variable is not supported.

Reimplemented from oofem::Material.

Definition at line 301 of file cemhydmat.C.

References oofem::FloatArray::at(), oofem::CemhydMatStatus::giveAverageTemperature(), giveConcreteCapacity(), giveConcreteDensity(), giveDoHActual(), giveIsotropicConductivity(), oofem::Material::giveStatus(), oofem::CemhydMatStatus::last_values, MasterCemhydMatStatus, and oofem::FloatArray::resize().

◆ giveIsotropicConductivity()

double oofem::CemhydMat::giveIsotropicConductivity ( GaussPoint * gp,
TimeStep * tStep ) const
overridevirtual

Returns concrete heat conductivity depending on chosen type.

Reimplemented from oofem::IsotropicHeatTransferMaterial.

Definition at line 166 of file cemhydmat.C.

References conductivityType, oofem::Material::giveStatus(), MasterCemhydMatStatus, nowarnings, OOFEM_ERROR, OOFEM_WARNING, reinforcementDegree, and scaling.

Referenced by giveIPValue(), and oofem::CemhydMatStatus::printOutputAt().

◆ giveTimeOfCycle()

double oofem::CemhydMat::giveTimeOfCycle ( GaussPoint * gp)
virtual

Returns time of the CEMHYD3D at the first cycle after the target time.

Definition at line 143 of file cemhydmat.C.

References oofem::CemhydMatStatus::GiveCycTime(), oofem::Material::giveStatus(), and MasterCemhydMatStatus.

Referenced by oofem::CemhydMatStatus::printOutputAt().

◆ hasInternalSource()

bool oofem::CemhydMat::hasInternalSource ( ) const
inlineoverridevirtual

Returns nonzero if receiver generates internal source of state variable(s), zero otherwise.

Reimplemented from oofem::TransportMaterial.

Definition at line 101 of file cemhydmat.h.

◆ initializeFrom()

void oofem::CemhydMat::initializeFrom ( InputRecord & ir)
overridevirtual

Initializes receiver according to object description stored in input record. This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record. Note that initializeFrom may be called mutiple times.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
priorityPriority of the input record. This is used to determine the order of initialization

Reimplemented from oofem::FEMComponent.

Definition at line 405 of file cemhydmat.C.

References _IFT_CemhydMat_capacitytype, _IFT_CemhydMat_conductivitytype, _IFT_CemhydMat_densitytype, _IFT_CemhydMat_eachgp, _IFT_CemhydMat_inputFileName, _IFT_CemhydMat_nowarnings, _IFT_CemhydMat_reinforcementDegree, _IFT_CemhydMat_scaling, capacityType, oofem::Material::castingTime, conductivityType, densityType, eachGP, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, nowarnings, OOFEM_ERROR, reinforcementDegree, scaling, and XMLfileName.

◆ initMaterial()

int oofem::CemhydMat::initMaterial ( Element * element)
overridevirtual

Optional function to call specific procedures when initializing a material. For example, multiscale simulations need to create master and slave material statuses on specific integration points before the computation.

Parameters
elementPointer to element.
Returns
Zero on error.

Reimplemented from oofem::Material.

Definition at line 352 of file cemhydmat.C.

References eachGP, oofem::Element::giveDefaultIntegrationRulePtr(), and MasterCemhydMatStatus.

Referenced by oofem::NonStationaryTransportProblem::applyIC(), and oofem::TransportElement::updateInternalState().

◆ storeWeightTemperatureProductVolume()

void oofem::CemhydMat::storeWeightTemperatureProductVolume ( Element * element,
TimeStep * tStep )
virtual

Member Data Documentation

◆ capacityType

int oofem::CemhydMat::capacityType

Definition at line 130 of file cemhydmat.h.

Referenced by giveConcreteCapacity(), and initializeFrom().

◆ conductivityType

int oofem::CemhydMat::conductivityType

Use different methods to evaluate material parameters.

Definition at line 130 of file cemhydmat.h.

Referenced by giveIsotropicConductivity(), and initializeFrom().

◆ densityType

int oofem::CemhydMat::densityType

Definition at line 130 of file cemhydmat.h.

Referenced by giveConcreteDensity(), and initializeFrom().

◆ eachGP

int oofem::CemhydMat::eachGP

◆ MasterCemhydMatStatus

CemhydMatStatus* oofem::CemhydMat::MasterCemhydMatStatus

Pointer to master CemhydMatStatus, which is shared among related integration points (on element, for example). When Cemhyd3D runs seperately in each GP, MasterCemhydMatStatus belongs to the first instance, from which the microstructure is copied to the rest of integration points.

Definition at line 146 of file cemhydmat.h.

Referenced by averageTemperature(), CemhydMat(), computeInternalSourceVector(), oofem::CemhydMatStatus::giveAverageTemperature(), giveCharacteristicValue(), giveConcreteCapacity(), giveConcreteDensity(), giveCycleNumber(), giveDoHActual(), giveIPValue(), giveIsotropicConductivity(), giveTimeOfCycle(), initMaterial(), oofem::CemhydMatStatus::printOutputAt(), and storeWeightTemperatureProductVolume().

◆ nowarnings

IntArray oofem::CemhydMat::nowarnings

Array containing warnings supression for density, conductivity, capacity, high temperature.

Definition at line 132 of file cemhydmat.h.

Referenced by giveConcreteCapacity(), giveConcreteDensity(), giveIsotropicConductivity(), oofem::CemhydMatStatus::GivePower(), and initializeFrom().

◆ reinforcementDegree

int oofem::CemhydMat::reinforcementDegree

Degree of reinforcement, if defined, reinforcement effect for conductivity and capacity is accounted for. Isotropic case.

Definition at line 136 of file cemhydmat.h.

Referenced by giveConcreteCapacity(), giveConcreteDensity(), giveIsotropicConductivity(), and initializeFrom().

◆ scaling

FloatArray oofem::CemhydMat::scaling

Array containing scaling factors for density, conductivity and capacity.

Definition at line 134 of file cemhydmat.h.

Referenced by giveConcreteCapacity(), giveConcreteDensity(), giveIsotropicConductivity(), and initializeFrom().

◆ XMLfileName

std::string oofem::CemhydMat::XMLfileName

XML input file name for CEMHYD3D.

Definition at line 140 of file cemhydmat.h.

Referenced by oofem::CemhydMatStatus::CemhydMatStatus(), and initializeFrom().


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011