|
OOFEM 3.0
|
#include <mixedgradientpressurebc.h>
Public Member Functions | |
| MixedGradientPressureBC (int n, Domain *d) | |
| virtual | ~MixedGradientPressureBC () |
| Destructor. | |
| bcType | giveType () const override |
| Not relevant for this boundary condition. | |
| void | initializeFrom (InputRecord &ir) override |
| double | domainSize () |
| virtual void | computeFields (FloatArray &stressDev, double &vol, TimeStep *tStep)=0 |
| virtual void | computeTangents (FloatMatrix &Ed, FloatArray &Ep, FloatArray &Cd, double &Cp, TimeStep *tStep)=0 |
| virtual void | setPrescribedPressure (double p)=0 |
| virtual void | setPrescribedDeviatoricGradientFromVoigt (const FloatArray &ddev)=0 |
| Public Member Functions inherited from oofem::ActiveBoundaryCondition | |
| ActiveBoundaryCondition (int n, Domain *d) | |
| virtual | ~ActiveBoundaryCondition () |
| Destructor. | |
| virtual void | addElementSide (int elem, int side) |
| virtual void | assemble (SparseMtrx &answer, TimeStep *tStep, CharType type, const UnknownNumberingScheme &r_s, const UnknownNumberingScheme &c_s, double scale=1.0, void *lock=nullptr) |
| virtual void | assembleVector (FloatArray &answer, TimeStep *tStep, CharType type, ValueModeType mode, const UnknownNumberingScheme &s, FloatArray *eNorms=nullptr, void *lock=nullptr) |
| virtual void | giveLocationArrays (std ::vector< IntArray > &rows, std ::vector< IntArray > &cols, CharType type, const UnknownNumberingScheme &r_s, const UnknownNumberingScheme &c_s) |
| virtual bool | requiresActiveDofs () |
| virtual bool | isPrimaryDof (ActiveDof *dof) |
| virtual double | giveBcValue (Dof *dof, ValueModeType mode, TimeStep *tStep) |
| virtual bool | hasBc (Dof *dof, TimeStep *tStep) |
| virtual int | giveNumberOfMasterDofs (ActiveDof *dof) |
| virtual Dof * | giveMasterDof (ActiveDof *dof, int mdof) |
| virtual void | computeDofTransformation (ActiveDof *dof, FloatArray &masterContribs) |
| virtual double | giveUnknown (PrimaryField &field, ValueModeType mode, TimeStep *tStep, ActiveDof *dof) |
| virtual double | giveUnknown (ValueModeType mode, TimeStep *tStep, ActiveDof *dof) |
| Public Member Functions inherited from oofem::GeneralBoundaryCondition | |
| GeneralBoundaryCondition (int n, Domain *d) | |
| virtual | ~GeneralBoundaryCondition () |
| Destructor. | |
| int | giveSetNumber () const |
| virtual int | giveNumberOfInternalDofManagers () |
| Gives the number of internal dof managers. | |
| virtual DofManager * | giveInternalDofManager (int i) |
| Gives an internal dof manager from receiver. | |
| Function * | giveTimeFunction () |
| int | getIsImposedTimeFunctionNumber () const |
| void | setIsImposedTimeFunctionNumber (int funcIndx) |
| virtual bcValType | giveBCValType () const |
| virtual bool | isImposed (TimeStep *tStep) |
| virtual const IntArray & | giveDofIDs () const |
| virtual bcGeomType | giveBCGeoType () const |
| virtual void | scale (double s) |
| virtual double | giveProperty (int aProperty, TimeStep *tStep) const |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| virtual void | updateYourself (TimeStep *tStep) |
| 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 int | checkConsistency () |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. | |
| 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::GeneralBoundaryCondition | |
| int | timeFunction |
| Associated load time function. | |
| bcValType | valType |
| Physical meaning of BC value. | |
| IntArray | dofs |
| Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s). | |
| int | isImposedTimeFunction |
| int | set |
| Set number for boundary condition to be applied to. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
General class for boundary condition that prolongates macroscopic fields to incompressible flow. Both the deviatoric strain rate, and the pressure is controlled.
Definition at line 58 of file mixedgradientpressurebc.h.
|
inline |
Creates boundary condition with given number, belonging to given domain.
| n | Boundary condition number. |
| d | Domain to which new object will belongs. |
Definition at line 66 of file mixedgradientpressurebc.h.
References oofem::ActiveBoundaryCondition::ActiveBoundaryCondition().
Referenced by oofem::MixedGradientPressureDirichlet::MixedGradientPressureDirichlet(), oofem::MixedGradientPressureNeumann::MixedGradientPressureNeumann(), and oofem::MixedGradientPressureWeakPeriodic::MixedGradientPressureWeakPeriodic().
|
inlinevirtual |
Destructor.
Definition at line 69 of file mixedgradientpressurebc.h.
|
pure virtual |
Computes the homogenized fields through sensitivity analysis.
| [out] | stressDev | Computes the homogenized deviatoric stress. |
| [out] | vol | Computes the homogenized volumetric gradient. |
| tStep | Time step for which field to obtain. |
Implemented in oofem::MixedGradientPressureDirichlet, oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStress3D().
|
pure virtual |
Computes the macroscopic tangents through sensitivity analysis.
| [out] | Ed | Tangent \( \frac{\partial \sigma_{\mathrm{dev}}}{\partial d_{\mathrm{dev}}} \). |
| [out] | Ep | Tangent \( \frac{\partial \sigma_{\mathrm{dev}}}{\partial p} \). |
| [out] | Cd | Tangent \( \frac{\partial d_{\mathrm{vol}}}{\partial d_{\mathrm{dev}}} \). |
| [out] | Cp | Tangent \( \frac{\partial d_{\mathrm{vol}}}{\partial p} \). |
| tStep | Time step for the tangents. |
Implemented in oofem::MixedGradientPressureDirichlet, oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
| double oofem::MixedGradientPressureBC::domainSize | ( | ) |
Computes the size (including pores) by surface integral over the domain
Definition at line 43 of file mixedgradientpressurebc.C.
References oofem::IntArray::at(), oofem::FEMComponent::domain, oofem::FEInterpolation::evalNXIntegral(), oofem::FEMComponent::giveDomain(), oofem::Element::giveInterpolation(), oofem::IntArray::giveSize(), and oofem::GeneralBoundaryCondition::set.
Referenced by oofem::MixedGradientPressureDirichlet::assembleVector(), oofem::MixedGradientPressureNeumann::assembleVector(), oofem::MixedGradientPressureWeakPeriodic::assembleVector(), oofem::MixedGradientPressureDirichlet::computeFields(), oofem::MixedGradientPressureNeumann::computeFields(), oofem::MixedGradientPressureWeakPeriodic::computeFields(), oofem::MixedGradientPressureDirichlet::computeTangents(), oofem::MixedGradientPressureNeumann::computeTangents(), and oofem::MixedGradientPressureWeakPeriodic::computeTangents().
|
inlineoverridevirtual |
Not relevant for this boundary condition.
Reimplemented from oofem::GeneralBoundaryCondition.
Reimplemented in oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
Definition at line 72 of file mixedgradientpressurebc.h.
References oofem::UnknownBT.
|
overridevirtual |
Initializes receiver according to object description stored in input record. The input record contains two fields;
Reimplemented from oofem::ActiveBoundaryCondition.
Reimplemented in oofem::MixedGradientPressureDirichlet, oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
Definition at line 61 of file mixedgradientpressurebc.C.
References _IFT_MixedGradientPressure_devGradient, _IFT_MixedGradientPressure_pressure, IR_GIVE_FIELD, setPrescribedDeviatoricGradientFromVoigt(), and setPrescribedPressure().
|
pure virtual |
Sets the prescribed tensor from the matrix from given Voigt notation. Assumes use of double values (gamma) for off-diagonal, usually the way for strain in Voigt form.
| ddev | Vector in Voigt format. |
Implemented in oofem::MixedGradientPressureDirichlet, oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStress3D(), and initializeFrom().
|
pure virtual |
Set prescribed pressure.
| p | New prescribed pressure. |
Implemented in oofem::MixedGradientPressureDirichlet, oofem::MixedGradientPressureNeumann, and oofem::MixedGradientPressureWeakPeriodic.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStress3D(), and initializeFrom().