|
OOFEM 3.0
|
#include <binghamfluid2.h>
Public Member Functions | |
| BinghamFluidMaterial2 (int n, Domain *d) | |
| FloatArrayF< 6 > | computeDeviatoricStress3D (const FloatArrayF< 6 > &eps, GaussPoint *gp, TimeStep *tStep) const override |
| FloatMatrixF< 6, 6 > | computeTangent3D (MatResponseMode, GaussPoint *gp, TimeStep *tStep) const override |
| double | giveEffectiveViscosity (GaussPoint *gp, TimeStep *tStep) const override |
| double | give (int aProperty, GaussPoint *gp) const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) 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 |
| 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 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. | |
| 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 | |
| double | computeActualViscosity (double tau, double shearRate) const |
Static Protected Member Functions | |
| static double | computeDevStrainMagnitude (const FloatArrayF< 6 > &epsd) |
| static double | computeDevStressMagnitude (const FloatArrayF< 6 > &sigd) |
| static FloatArrayF< 6 > | computeDeviatoricStrain (const FloatArrayF< 6 > &eps) |
| static FloatArrayF< 6 > | computeDeviatoricStress (const FloatArrayF< 6 > &deps, double nu) |
Protected Attributes | |
| double | mu_0 = 0. |
| Viscosity. | |
| double | tau_0 = 0. |
| Yield stress. | |
| double | tau_c = 0. |
| double | mu_inf = 1.e6 |
| double | stressGrowthRate = BINGHAM_DEFAULT_STRESS_GROWTH_RATE |
| Stress growth rate - parameter controlling the shape of regularized model. | |
| 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. | |
Constitutive model of Bingham fluid for concentrated suspensions and pastes. This is the simplest two-constant model, with yield stress and viscosity as parameters.
Definition at line 101 of file binghamfluid2.h.
| oofem::BinghamFluidMaterial2::BinghamFluidMaterial2 | ( | int | n, |
| Domain * | d ) |
Constructor. Creates material with given number, belonging to given domain.
Definition at line 58 of file binghamfluid2.C.
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::FEMComponent.
Definition at line 237 of file binghamfluid2.C.
References oofem::FEMComponent::domain, mu_0, oofem::Material::propertyDictionary, tau_0, oofem::VST_Density, and oofem::VST_Viscosity.
|
protected |
Definition at line 252 of file binghamfluid2.C.
References BINGHAM_MIN_SHEAR_RATE, oofem::max(), mu_0, mu_inf, stressGrowthRate, tau_0, and tau_c.
Referenced by computeDeviatoricStress3D(), computeTangent3D(), and giveEffectiveViscosity().
|
staticprotected |
Definition at line 291 of file binghamfluid2.C.
Referenced by computeDeviatoricStress3D().
|
staticprotected |
Definition at line 307 of file binghamfluid2.C.
Referenced by computeDeviatoricStress3D().
|
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 155 of file binghamfluid2.C.
References computeActualViscosity(), computeDeviatoricStrain(), computeDeviatoricStress(), computeDevStrainMagnitude(), computeDevStressMagnitude(), oofem::Material::giveStatus(), oofem::FluidDynamicMaterialStatus::letDeviatoricStressVectorBe(), oofem::BinghamFluidMaterial2Status::letTempDeviatoricStrainVectorBe(), oofem::BinghamFluidMaterial2Status::letTempDevStrainMagnitudeBe(), oofem::BinghamFluidMaterial2Status::letTempDevStressMagnitudeBe(), mu_inf, tau_0, and tau_c.
|
staticprotected |
Definition at line 275 of file binghamfluid2.C.
Referenced by computeDeviatoricStress3D().
|
staticprotected |
Definition at line 283 of file binghamfluid2.C.
Referenced by computeDeviatoricStress3D().
|
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 192 of file binghamfluid2.C.
References oofem::FloatMatrixF< N, M >::at(), BINGHAM_MIN_SHEAR_RATE, computeActualViscosity(), oofem::Material::giveStatus(), oofem::BinghamFluidMaterial2Status::giveTempDeviatoricStrainVector(), oofem::BinghamFluidMaterial2Status::giveTempDevStrainMagnitude(), mu_0, stressGrowthRate, and tau_0.
|
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 148 of file binghamfluid2.C.
|
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 135 of file binghamfluid2.C.
References mu_0, tau_0, Viscosity, and YieldStress.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 129 of file binghamfluid2.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 90 of file binghamfluid2.C.
References oofem::FloatArray::at(), BINGHAM_MIN_SHEAR_RATE, computeActualViscosity(), oofem::Material::giveStatus(), oofem::BinghamFluidMaterial2Status::giveTempDeviatoricStrainVector(), oofem::BinghamFluidMaterial2Status::giveTempDevStrainMagnitude(), oofem::min(), mu_0, mu_inf, stressGrowthRate, tau_0, and tau_c.
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::FEMComponent.
Definition at line 80 of file binghamfluid2.C.
References _IFT_BinghamFluidMaterial2_mu0, _IFT_BinghamFluidMaterial2_muinf, _IFT_BinghamFluidMaterial2_stressGrowthRate, _IFT_BinghamFluidMaterial2_tau0, mu_0, mu_inf, oofem::DynamicInputRecord::setField(), stressGrowthRate, and tau_0.
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 130 of file binghamfluid2.h.
References _IFT_BinghamFluidMaterial2_Name.
|
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::FEMComponent.
Definition at line 63 of file binghamfluid2.C.
References _IFT_BinghamFluidMaterial2_mu0, _IFT_BinghamFluidMaterial2_muinf, _IFT_BinghamFluidMaterial2_stressGrowthRate, _IFT_BinghamFluidMaterial2_tau0, BINGHAM_DEFAULT_STRESS_GROWTH_RATE, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, mu_0, mu_inf, stressGrowthRate, tau_0, and tau_c.
|
protected |
Viscosity.
Definition at line 105 of file binghamfluid2.h.
Referenced by checkConsistency(), computeActualViscosity(), computeTangent3D(), give(), giveEffectiveViscosity(), giveInputRecord(), and initializeFrom().
|
protected |
Definition at line 109 of file binghamfluid2.h.
Referenced by computeActualViscosity(), computeDeviatoricStress3D(), giveEffectiveViscosity(), giveInputRecord(), and initializeFrom().
|
protected |
Stress growth rate - parameter controlling the shape of regularized model.
Definition at line 111 of file binghamfluid2.h.
Referenced by computeActualViscosity(), computeTangent3D(), giveEffectiveViscosity(), giveInputRecord(), and initializeFrom().
|
protected |
Yield stress.
Definition at line 107 of file binghamfluid2.h.
Referenced by checkConsistency(), computeActualViscosity(), computeDeviatoricStress3D(), computeTangent3D(), give(), giveEffectiveViscosity(), giveInputRecord(), and initializeFrom().
|
protected |
Definition at line 108 of file binghamfluid2.h.
Referenced by computeActualViscosity(), computeDeviatoricStress3D(), giveEffectiveViscosity(), and initializeFrom().