|
OOFEM 3.0
|
#include <transportmaterial.h>
Public Member Functions | |
| TransportMaterial (int n, Domain *d) | |
| virtual void | giveFluxVector (FloatArray &answer, GaussPoint *gp, const FloatArray &grad, const FloatArray &field, TimeStep *tStep) const |
| virtual FloatArrayF< 3 > | computeFlux3D (const FloatArrayF< 3 > &grad, double field, GaussPoint *gp, 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 |
| virtual FloatMatrixF< 3, 3 > | computeTangent3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const =0 |
| FloatMatrixF< 2, 2 > | computeTangent2D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| FloatMatrixF< 1, 1 > | computeTangent1D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual double | giveCharacteristicValue (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override=0 |
| virtual void | updateInternalState (const FloatArray &state, GaussPoint *gp, TimeStep *tStep) |
| virtual bool | hasInternalSource () const |
| virtual void | computeInternalSourceVector (FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const |
| virtual double | giveHumidity (GaussPoint *gp, ValueModeType mode) const |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| std::unique_ptr< MaterialStatus > | CreateStatus (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 int | initMaterial (Element *element) |
| virtual MaterialStatus * | giveStatus (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. | |
| virtual const char * | giveClassName () const =0 |
| virtual const char * | giveInputRecordName () const =0 |
| Domain * | giveDomain () 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 Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Additional Inherited Members | |
| 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. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Abstract base class for all constitutive models for transport problems. It declares common services provided by all structural material models. The implementation of these services is partly left on derived classes, which will implement constitutive model dependent part. Some general purpose services are implemented on this level. For details, how to store material model related history variables in integration points, see base class Material documentation.
Definition at line 191 of file transportmaterial.h.
|
inline |
Constructor. Creates material with given number, belonging to given domain.
Definition at line 199 of file transportmaterial.h.
References oofem::Material::Material().
Referenced by oofem::AnisotropicMassTransferMaterial::AnisotropicMassTransferMaterial(), oofem::TwoPhaseMaterial::giveMaterial(), oofem::HeMoBazNajMaterial::HeMoBazNajMaterial(), oofem::HeMoKunzelMaterial::HeMoKunzelMaterial(), oofem::HeMoTKMaterial::HeMoTKMaterial(), oofem::IsotropicHeatTransferMaterial::IsotropicHeatTransferMaterial(), oofem::IsotropicMoistureTransferMaterial::IsotropicMoistureTransferMaterial(), oofem::LatticeTransportMaterial::LatticeTransportMaterial(), oofem::NonlinearMassTransferMaterial::NonlinearMassTransferMaterial(), oofem::RVEStokesFlow::RVEStokesFlow(), and oofem::TwoPhaseMaterial::TwoPhaseMaterial().
| FloatArrayF< 1 > oofem::TransportMaterial::computeFlux1D | ( | const FloatArrayF< 1 > & | grad, |
| double | field, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 333 of file transportmaterial.C.
References computeFlux3D().
Referenced by giveFluxVector().
| FloatArrayF< 2 > oofem::TransportMaterial::computeFlux2D | ( | const FloatArrayF< 2 > & | grad, |
| double | field, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 325 of file transportmaterial.C.
References computeFlux3D().
Referenced by giveFluxVector().
|
virtual |
Reimplemented in oofem::AnisotropicMassTransferMaterial, oofem::IsotropicHeatTransferMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::LatticeTransportMaterial, oofem::NonlinearMassTransferMaterial, oofem::RVEStokesFlow, and oofem::TwoPhaseMaterial.
Definition at line 318 of file transportmaterial.C.
References OOFEM_ERROR.
Referenced by computeFlux1D(), computeFlux2D(), and giveFluxVector().
| std::pair< FloatArrayF< 1 >, FloatArrayF< 1 > > oofem::TransportMaterial::computeHeMoFlux1D | ( | const FloatArrayF< 1 > & | grad_t, |
| const FloatArrayF< 1 > & | grad_w, | ||
| double | t, | ||
| double | h, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 355 of file transportmaterial.C.
References computeHeMoFlux3D().
| std::pair< FloatArrayF< 2 >, FloatArrayF< 2 > > oofem::TransportMaterial::computeHeMoFlux2D | ( | const FloatArrayF< 2 > & | grad_t, |
| const FloatArrayF< 2 > & | grad_w, | ||
| double | t, | ||
| double | h, | ||
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 347 of file transportmaterial.C.
References computeHeMoFlux3D().
|
virtual |
Reimplemented in oofem::HeMoBazNajMaterial, oofem::HeMoKunzelMaterial, and oofem::HeMoTKMaterial.
Definition at line 341 of file transportmaterial.C.
References OOFEM_ERROR.
Referenced by computeHeMoFlux1D(), computeHeMoFlux2D(), and giveFluxVector().
|
inlinevirtual |
Computes the internal source vector of receiver.
| val | Contains response. |
| gp | Integration point. |
| tStep | Solution step. |
| mode | Determines response mode. |
Reimplemented in oofem::CemhydMat, oofem::HydratingConcreteMat, oofem::HydratingHeMoMaterial, oofem::HydratingIsoHeatMaterial, and oofem::NlIsoMoistureMaterial.
Definition at line 274 of file transportmaterial.h.
References oofem::FloatArray::clear().
Referenced by oofem::TransportElement::computeInternalForcesVector(), oofem::TransportElement::computeInternalSourceRhsSubVectorAt(), and giveIPValue().
| FloatMatrixF< 1, 1 > oofem::TransportMaterial::computeTangent1D | ( | MatResponseMode | mode, |
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 374 of file transportmaterial.C.
References computeTangent3D().
Referenced by giveCharacteristicMatrix().
| FloatMatrixF< 2, 2 > oofem::TransportMaterial::computeTangent2D | ( | MatResponseMode | mode, |
| GaussPoint * | gp, | ||
| TimeStep * | tStep ) const |
Definition at line 363 of file transportmaterial.C.
References computeTangent3D().
Referenced by giveCharacteristicMatrix().
|
pure virtual |
Implemented in oofem::AnisotropicMassTransferMaterial, oofem::HeMoBazNajMaterial, oofem::HeMoKunzelMaterial, oofem::HeMoTKMaterial, oofem::IsotropicHeatTransferMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::LatticeTransportMaterial, oofem::NonlinearMassTransferMaterial, oofem::RVEStokesFlow, and oofem::TwoPhaseMaterial.
Referenced by computeTangent1D(), computeTangent2D(), and giveCharacteristicMatrix().
|
inlineoverridevirtual |
Creates new copy of associated status and inserts it into given integration point.
| gp | Integration point where newly created status will be stored. |
Reimplemented from oofem::Material.
Definition at line 283 of file transportmaterial.h.
|
overridevirtual |
Computes characteristic matrix of receiver in given integration point. The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.
| answer | Contains result. |
| mode | Material response mode. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when tStep is current time step). |
Reimplemented from oofem::Material.
Definition at line 298 of file transportmaterial.C.
References computeTangent1D(), computeTangent2D(), computeTangent3D(), and oofem::GaussPoint::giveMaterialMode().
|
overridepure virtual |
Computes the characteristic value of receiver in given integration point, respecting its history. The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.
| mode | Material response mode. |
| gp | Integration point. |
| tStep | Time step (most models are able to respond only when tStep is current time step). |
Reimplemented from oofem::Material.
Implemented in oofem::AnisotropicMassTransferMaterial, oofem::CemhydMat, oofem::HeMoBazNajMaterial, oofem::HeMoKunzelMaterial, oofem::HeMoTKMaterial, oofem::HydratingConcreteMat, oofem::HydratingHeMoMaterial, oofem::HydratingIsoHeatMaterial, oofem::IsotropicHeatTransferMaterial, oofem::IsotropicMoistureTransferMaterial, oofem::LatticeTransportMaterial, oofem::NonlinearMassTransferMaterial, oofem::RVEStokesFlow, and oofem::TwoPhaseMaterial.
Referenced by oofem::TransportElement::computeCapacitySubMatrix(), and oofem::TransportElement::computeIntSourceLHSSubMatrix().
|
virtual |
Returns the flux for the field and its gradient.
| answer | The flux. |
| gp | Gauss point. |
| grad | Gradient of the primary field, usually the main input. |
| field | The value of the field itself. |
| tStep | Active time step. |
Definition at line 260 of file transportmaterial.C.
References oofem::FloatArray::at(), computeFlux1D(), computeFlux2D(), computeFlux3D(), computeHeMoFlux3D(), oofem::FloatArray::giveSize(), and oofem::FloatArray::resize().
Referenced by oofem::TransportElement::computeInternalForcesVector(), and oofem::TransportElement::updateInternalState().
|
inlinevirtual |
Returns positive value of humidity if implemented and enabled in derived material, -1 otherwise.
Reimplemented in oofem::BazantNajjarMoistureTransferMaterial, oofem::HeMoTKMaterial, and oofem::NlIsoMoistureMaterial.
Definition at line 279 of file transportmaterial.h.
Referenced by oofem::HeMoBazNajMaterial::giveIPValue(), and oofem::HeMoKunzelMaterial::giveIPValue().
|
overridevirtual |
Returns the integration point corresponding value in Reduced form.
| answer | Contain corresponding ip value, zero sized if not available. |
| gp | Integration point to which the value refers. |
| type | Determines the type of internal variable. |
| tStep | Determines the time step. |
Reimplemented from oofem::Material.
Definition at line 383 of file transportmaterial.C.
References oofem::TransportElement::computeFlow(), computeInternalSourceVector(), oofem::Material::give(), oofem::GaussPoint::giveElement(), oofem::TransportMaterialStatus::giveField(), oofem::TransportMaterialStatus::giveFlux(), oofem::TransportMaterialStatus::giveGradient(), oofem::TransportMaterialStatus::giveMaturity(), oofem::Material::giveStatus(), hasInternalSource(), oofem::FloatArray::resize(), oofem::FloatArray::resizeWithValues(), and oofem::FloatArray::zero().
|
inlinevirtual |
Returns nonzero if receiver generates internal source of state variable(s), zero otherwise.
Reimplemented in oofem::CemhydMat, oofem::HydratingConcreteMat, oofem::HydratingHeMoMaterial, oofem::HydratingIsoHeatMaterial, and oofem::NlIsoMoistureMaterial.
Definition at line 266 of file transportmaterial.h.
Referenced by oofem::TransportElement::computeInternalForcesVector(), oofem::TransportElement::computeInternalSourceRhsSubVectorAt(), oofem::TransportElement::computeIntSourceLHSMatrix(), and giveIPValue().
|
virtual |
Updates internal state of material according to new state vector.
| state | New state vector. |
| gp | Integration point. |
| tStep | Solution step. |
Reimplemented in oofem::HydratingHeMoMaterial, and oofem::HydratingIsoHeatMaterial.
Definition at line 242 of file transportmaterial.C.
References oofem::FloatArray::giveSize(), and oofem::Material::giveStatus().
Referenced by oofem::Lattice2d_mt::updateInternalState(), oofem::Lattice3d_mt::updateInternalState(), and oofem::TransportElement::updateInternalState().