|
OOFEM 3.0
|
#include <fluiddynamicmaterial.h>
Classes | |
| struct | Tangents |
Public Member Functions | |
| 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< 6 > | computeDeviatoricStress3D (const FloatArrayF< 6 > &eps, GaussPoint *gp, TimeStep *tStep) const =0 |
| 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< 6, 6 > | computeTangent3D (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const =0 |
| 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 |
| virtual double | giveEffectiveViscosity (GaussPoint *gp, TimeStep *tStep) const =0 |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) 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 | 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 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 std::unique_ptr< MaterialStatus > | CreateStatus (GaussPoint *gp) const |
| 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 fluid materials. The fluid materials can have compressible response, though most will be incompressible. The models are characterized by having deviatoric strain rate, and pressure as input at each integration point.
Definition at line 92 of file fluiddynamicmaterial.h.
|
inline |
Constructor. Creates material with given number, belonging to given domain.
Definition at line 107 of file fluiddynamicmaterial.h.
References oofem::Material::Material().
Referenced by oofem::BinghamFluidMaterial2::BinghamFluidMaterial2(), oofem::FE2FluidMaterial::FE2FluidMaterial(), oofem::TwoFluidMaterial::giveMaterial(), oofem::NewtonianFluidMaterial::NewtonianFluidMaterial(), oofem::NonlinearFluidMaterial::NonlinearFluidMaterial(), and oofem::TwoFluidMaterial::TwoFluidMaterial().
|
virtual |
Definition at line 52 of file fluiddynamicmaterial.C.
References oofem::assemble(), and computeDeviatoricStress3D().
Referenced by oofem::TR1_2D_PFEM::computeDeviatoricStress(), oofem::TR1_2D_SUPG::computeDiffusionTerm_MB(), oofem::Tr1BubbleStokes::computeInternalForcesVector(), oofem::Tr21Stokes::computeInternalForcesVector(), and oofem::FluidMaterialEvaluator::solveYourself().
|
virtual |
Definition at line 63 of file fluiddynamicmaterial.C.
References oofem::assemble(), and computeDeviatoricStress3D().
|
virtual |
Computes the deviatoric stress vector and volumetric strain rate from given deviatoric strain and pressure. Defaults to incompressible function.
| gp | Integration point. |
| eps | Strain-rate. |
| pressure | Pressure. |
| tStep | Time step. |
Reimplemented in oofem::FE2FluidMaterial.
Definition at line 43 of file fluiddynamicmaterial.C.
References computeDeviatoricStress3D().
Referenced by computeDeviatoricStress2D(), computeDeviatoricStress2D(), computeDeviatoricStress3D(), computeDeviatoricStressAxi(), oofem::Hexa21Stokes::computeInternalForcesVector(), oofem::Tet1BubbleStokes::computeInternalForcesVector(), oofem::Tet21Stokes::computeInternalForcesVector(), oofem::tet21ghostsolid::computeStiffnessMatrix(), oofem::tet21ghostsolid::giveInternalForcesVectorGivenSolution(), oofem::tet21ghostsolid::giveInternalForcesVectorGivenSolutionDebug(), and oofem::FluidMaterialEvaluator::solveYourself().
|
pure virtual |
Computes the deviatoric stress vector from given strain.
| answer | Deviatoric stress. |
| gp | Integration point. |
| eps | Strain-rate. |
| tStep | Time step. |
Implemented in oofem::BinghamFluidMaterial2, oofem::FE2FluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearFluidMaterial, and oofem::TwoFluidMaterial.
|
virtual |
Definition at line 71 of file fluiddynamicmaterial.C.
References oofem::assemble(), and computeDeviatoricStress3D().
Referenced by oofem::TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), oofem::TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), and oofem::TR1_2D_SUPG_AXI::computeDiffusionTerm_MC().
|
virtual |
Definition at line 79 of file fluiddynamicmaterial.C.
References computeTangent3D().
Referenced by oofem::PFEMElement2d::computeStiffnessMatrix().
|
pure virtual |
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. |
Implemented in oofem::BinghamFluidMaterial2, oofem::FE2FluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearFluidMaterial, and oofem::TwoFluidMaterial.
Referenced by oofem::tet21ghostsolid::computeStiffnessMatrix(), computeTangent2D(), computeTangentAxi(), and computeTangents3D().
|
virtual |
Definition at line 87 of file fluiddynamicmaterial.C.
References computeTangent3D().
Referenced by oofem::TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), and oofem::TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC().
|
virtual |
Definition at line 107 of file fluiddynamicmaterial.C.
References computeTangents3D(), oofem::FluidDynamicMaterial::Tangents< N >::dedd, oofem::FluidDynamicMaterial::Tangents< N >::dedp, oofem::FluidDynamicMaterial::Tangents< N >::dsdd, and oofem::FluidDynamicMaterial::Tangents< N >::dsdp.
Referenced by oofem::Tr1BubbleStokes::computeStiffnessMatrix(), oofem::Tr21Stokes::computeStiffnessMatrix(), and oofem::FluidMaterialEvaluator::solveYourself().
|
virtual |
Computes the 4 tangents of the compressible material response in 3D.
| mode | Mode of result. |
| gp | Integration point. |
| tStep | Time step. |
Reimplemented in oofem::FE2FluidMaterial.
Definition at line 95 of file fluiddynamicmaterial.C.
References computeTangent3D(), and oofem::zeros().
Referenced by oofem::Hexa21Stokes::computeStiffnessMatrix(), oofem::Tet1BubbleStokes::computeStiffnessMatrix(), oofem::Tet21Stokes::computeStiffnessMatrix(), computeTangents2D(), and oofem::FluidMaterialEvaluator::solveYourself().
|
pure virtual |
Gives the effective viscosity for the given integration point.
| gp | Gauss point of interest. |
| tStep | Time step. |
Implemented in oofem::BinghamFluidMaterial2, oofem::FE2FluidMaterial, oofem::NewtonianFluidMaterial, oofem::NonlinearFluidMaterial, and oofem::TwoFluidMaterial.
Referenced by 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.
Reimplemented in oofem::TwoFluidMaterial.
Definition at line 134 of file fluiddynamicmaterial.C.
References oofem::FloatArray::at(), oofem::Material::give(), giveEffectiveViscosity(), oofem::Material::giveStatus(), and oofem::FloatArray::resize().
Referenced by oofem::FluidMaterialEvaluator::doStepOutput().