|
OOFEM 3.0
|
#include <twofluidmaterial.h>
Public Member Functions | |
| TwoFluidMaterial (int n, Domain *d) | |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| FloatArrayF< 6 > | computeDeviatoricStress3D (const FloatArrayF< 6 > &answer, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 6, 6 > | computeTangent3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override |
| double | giveEffectiveViscosity (GaussPoint *gp, TimeStep *tStep) const override |
| double | give (int aProperty, GaussPoint *gp) const override |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| int | checkConsistency () override |
| std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const override |
| Public Member Functions inherited from oofem::FluidDynamicMaterial | |
| FluidDynamicMaterial (int n, Domain *d) | |
| virtual std::pair< FloatArrayF< 6 >, double > | computeDeviatoricStress3D (const FloatArrayF< 6 > &eps, double pressure, GaussPoint *gp, TimeStep *tStep) const |
| virtual std::pair< FloatArrayF< 3 >, double > | computeDeviatoricStress2D (const FloatArrayF< 3 > &eps, double pressure, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 3 > | computeDeviatoricStress2D (const FloatArrayF< 3 > &eps, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatArrayF< 4 > | computeDeviatoricStressAxi (const FloatArrayF< 4 > &eps, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 3, 3 > | computeTangent2D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual FloatMatrixF< 4, 4 > | computeTangentAxi (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual Tangents< 6 > | computeTangents3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| virtual Tangents< 3 > | computeTangents2D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const |
| Public Member Functions inherited from oofem::Material | |
| Material (int n, Domain *d) | |
| virtual | ~Material ()=default |
| Destructor. | |
| virtual bool | isCharacteristicMtrxSymmetric (MatResponseMode rMode) const |
| virtual void | giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic matrix of the receiver. | |
| virtual void | giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic vector of the receiver. | |
| virtual double | giveCharacteristicValue (MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const |
| Returns characteristic value of the receiver. | |
| 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 | 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) |
| 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. | |
| 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). | |
Protected Member Functions | |
| FluidDynamicMaterial * | giveMaterial (int i) const |
| double | giveTempVOF (GaussPoint *gp) const |
Protected Attributes | |
| IntArray | slaveMaterial |
| 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. | |
Material coupling the behavior of two particular materials based on rule of mixture. The weighting factor is VOF fraction.
Definition at line 58 of file twofluidmaterial.h.
|
inline |
Constructor. Creates material with given number, belonging to given domain.
Definition at line 69 of file twofluidmaterial.h.
References oofem::FluidDynamicMaterial::FluidDynamicMaterial().
|
overridevirtual |
Allows programmer to test some internal data, before computation begins. For example, one may use this function, to ensure that element has material with required capabilities is assigned to element. This must be done after all mesh components are instanciated.
Reimplemented from oofem::Material.
Definition at line 49 of file twofluidmaterial.C.
References giveMaterial().
|
overridevirtual |
Computes the deviatoric stress vector from given strain.
| answer | Deviatoric stress. |
| gp | Integration point. |
| eps | Strain-rate. |
| tStep | Time step. |
Implements oofem::FluidDynamicMaterial.
Definition at line 121 of file twofluidmaterial.C.
References giveMaterial(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint0(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint1(), oofem::Material::giveStatus(), giveTempVOF(), oofem::FluidDynamicMaterialStatus::letDeviatoricStrainRateVectorBe(), and oofem::FluidDynamicMaterialStatus::letDeviatoricStressVectorBe().
|
overridevirtual |
Computes the deviatoric stiffness; \( \frac{\partial\sigma_{\mathrm{dev}}}{\partial \epsilon_{\mathrm{dev}}}\).
| answer | Stiffness matrix. |
| mode | Mode of result. |
| gp | Integration point. |
| tStep | Time step. |
Implements oofem::FluidDynamicMaterial.
Definition at line 138 of file twofluidmaterial.C.
References giveMaterial(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint0(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint1(), oofem::Material::giveStatus(), and giveTempVOF().
|
overridevirtual |
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 108 of file twofluidmaterial.C.
References giveMaterial(), and slaveMaterial.
|
overridevirtual |
Returns the value of material property 'aProperty'. Property must be identified by unique int id. Integration point also passed to allow for materials with spatially varying properties
| aProperty | ID of property requested. |
| gp | Integration point, |
Reimplemented from oofem::Material.
Definition at line 85 of file twofluidmaterial.C.
References giveMaterial(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint0(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint1(), oofem::Material::giveStatus(), and giveTempVOF().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 80 of file twofluidmaterial.h.
|
overridevirtual |
Gives the effective viscosity for the given integration point.
| gp | Gauss point of interest. |
| tStep | Time step. |
Implements oofem::FluidDynamicMaterial.
Definition at line 75 of file twofluidmaterial.C.
References giveMaterial(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint0(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint1(), oofem::Material::giveStatus(), and giveTempVOF().
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::Material.
Definition at line 67 of file twofluidmaterial.C.
References _IFT_TwoFluidMaterial_mat, oofem::DynamicInputRecord::setField(), and slaveMaterial.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 81 of file twofluidmaterial.h.
References _IFT_TwoFluidMaterial_Name.
|
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::FluidDynamicMaterial.
Definition at line 94 of file twofluidmaterial.C.
References oofem::FloatArray::add(), giveMaterial(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint0(), oofem::TwoFluidMaterialStatus::giveSlaveGaussPoint1(), oofem::Material::giveStatus(), giveTempVOF(), and oofem::FloatArray::times().
|
protected |
Definition at line 115 of file twofluidmaterial.C.
References oofem::FEMComponent::domain, oofem::FluidDynamicMaterial::FluidDynamicMaterial(), and slaveMaterial.
Referenced by checkConsistency(), computeDeviatoricStress3D(), computeTangent3D(), CreateStatus(), give(), giveEffectiveViscosity(), and giveIPValue().
|
protected |
Definition at line 150 of file twofluidmaterial.C.
References oofem::FloatArray::at(), oofem::FEMComponent::domain, oofem::GaussPoint::giveElement(), oofem::MaterialInterface::giveElementMaterialMixture(), oofem::FEMComponent::giveNumber(), and OOFEM_ERROR.
Referenced by computeDeviatoricStress3D(), computeTangent3D(), give(), giveEffectiveViscosity(), and giveIPValue().
|
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.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::Material.
Definition at line 57 of file twofluidmaterial.C.
References _IFT_TwoFluidMaterial_mat, IR_GIVE_FIELD, and slaveMaterial.
|
protected |
Definition at line 61 of file twofluidmaterial.h.
Referenced by CreateStatus(), giveInputRecord(), giveMaterial(), and initializeFrom().