|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing material status for the subscale fluid, i.e an Representative Volume Element (RVE). More...
#include <fe2fluidmaterial.h>
Inheritance diagram for oofem::FE2FluidMaterialStatus:
Collaboration diagram for oofem::FE2FluidMaterialStatus:Public Member Functions | |
| FE2FluidMaterialStatus (int n, Domain *d, GaussPoint *gp, const std::string &inputfile) | |
| Creates new material status. More... | |
| virtual | ~FE2FluidMaterialStatus () |
| Destructor. More... | |
| EngngModel * | giveRVE () |
| MixedGradientPressureBC * | giveBC () |
| void | markOldTangents () |
| void | computeTangents (TimeStep *tStep) |
| double | giveVOFFraction () |
| bool | createRVE (int n, GaussPoint *gp, const std::string &inputfile) |
| Creates/Initiates the RVE problem. More... | |
| void | setTimeStep (TimeStep *tStep) |
| Copies time step data to RVE. More... | |
| FloatMatrix & | giveDeviatoricTangent () |
| FloatArray & | giveDeviatoricPressureTangent () |
| FloatArray & | giveVolumetricDeviatoricTangent () |
| double & | giveVolumetricPressureTangent () |
| double | givePressure () |
| void | letPressureBe (double val) |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| Print receiver's output to given stream. More... | |
| virtual void | initTempStatus () |
| Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables. More... | |
| virtual void | updateYourself (TimeStep *tStep) |
| Update equilibrium history variables according to temp-variables. More... | |
| virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Stores receiver state to output stream. More... | |
| virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| Restores the receiver state previously written in stream. More... | |
| virtual const char * | giveClassName () const |
Public Member Functions inherited from oofem::FluidDynamicMaterialStatus | |
| FluidDynamicMaterialStatus (int n, Domain *d, GaussPoint *g) | |
| Constructor - creates new TransportMaterialStatus with number n, belonging to domain d and integration point g. More... | |
| virtual | ~FluidDynamicMaterialStatus () |
| Destructor. More... | |
| const FloatArray & | giveDeviatoricStressVector () |
| Gives the deviatoric stress. More... | |
| const FloatArray & | giveDeviatoricStrainRateVector () |
| void | letDeviatoricStressVectorBe (FloatArray v) |
| Sets the deviatoric stress. More... | |
| void | letDeviatoricStrainRateVectorBe (FloatArray v) |
Public Member Functions inherited from oofem::MaterialStatus | |
| MaterialStatus (int n, Domain *d, GaussPoint *g) | |
| Constructor. More... | |
| virtual | ~MaterialStatus () |
| Destructor. More... | |
| virtual bool | giveMaterialProperty (int propID, double &value) |
| Returns the value of material model property stored in receiving status. More... | |
| virtual void | setMaterialProperty (int propID, double value) |
| Allows to set the value of material model property to be stored in receiving status. More... | |
| virtual void | setStatusVariable (int varID, double value) |
| Allows to set the value of a specific variable, identified by varID. More... | |
| virtual void | restoreConsistency () |
| Restores consistency of the status, i.e., computes or corrects the values of certain status variables such that the state is admissible. More... | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. More... | |
Public Member Functions inherited from oofem::IntegrationPointStatus | |
| IntegrationPointStatus (int n, Domain *d, GaussPoint *g) | |
| Constructor. More... | |
| virtual | ~IntegrationPointStatus () |
| Destructor. More... | |
| virtual const char * | giveInputRecordName () const |
Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| Regular constructor, creates component with given number and belonging to given domain. More... | |
| virtual | ~FEMComponent () |
| Virtual destructor. More... | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| Sets associated Domain. More... | |
| int | giveNumber () const |
| void | setNumber (int num) |
| Sets number of receiver. More... | |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| Local renumbering support. More... | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| Setups the input record string of receiver. More... | |
| virtual int | checkConsistency () |
| Allows programmer to test some internal data, before computation begins. More... | |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. More... | |
| virtual Interface * | giveInterface (InterfaceType t) |
| Interface requesting service. More... | |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). More... | |
Protected Attributes | |
| std::unique_ptr< EngngModel > | rve |
| The subscale flow. More... | |
| MixedGradientPressureBC * | bc |
| Boundary condition in RVE that performs the computational homogenization. More... | |
| FloatMatrix | Ed |
| FloatArray | Cd |
| FloatArray | Ep |
| double | Cp |
| double | pressure |
| double | voffraction |
| bool | oldTangents |
Protected Attributes inherited from oofem::FluidDynamicMaterialStatus | |
| FloatArray | deviatoricStressVector |
| Stress vector in reduced form. More... | |
| FloatArray | deviatoricStrainRateVector |
| Strain vector in reduced form. More... | |
Protected Attributes inherited from oofem::IntegrationPointStatus | |
| GaussPoint * | gp |
| Associated integration point. More... | |
Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. More... | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. More... | |
Class representing material status for the subscale fluid, i.e an Representative Volume Element (RVE).
Definition at line 58 of file fe2fluidmaterial.h.
| oofem::FE2FluidMaterialStatus::FE2FluidMaterialStatus | ( | int | n, |
| Domain * | d, | ||
| GaussPoint * | gp, | ||
| const std::string & | inputfile | ||
| ) |
Creates new material status.
| n | Material status number. |
| d | Domain that status belongs to. |
| gp | Gauss point that the status belongs to. |
| inputfile | The input file describing the micro problem. |
Definition at line 312 of file fe2fluidmaterial.C.
References createRVE(), oldTangents, OOFEM_ERROR, and voffraction.
Referenced by oofem::FE2FluidMaterial::CreateStatus().
|
virtual |
Destructor.
Definition at line 326 of file fe2fluidmaterial.C.
| void oofem::FE2FluidMaterialStatus::computeTangents | ( | TimeStep * | tStep | ) |
Definition at line 404 of file fe2fluidmaterial.C.
References bc, oofem::MixedGradientPressureBC::computeTangents(), giveDeviatoricPressureTangent(), giveDeviatoricTangent(), giveVolumetricDeviatoricTangent(), giveVolumetricPressureTangent(), oofem::TimeStep::isTheCurrentTimeStep(), oldTangents, and OOFEM_ERROR.
Referenced by giveBC(), oofem::FE2FluidMaterial::giveDeviatoricStiffnessMatrix(), oofem::FE2FluidMaterial::giveEffectiveViscosity(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().
| bool oofem::FE2FluidMaterialStatus::createRVE | ( | int | n, |
| GaussPoint * | gp, | ||
| const std::string & | inputfile | ||
| ) |
Creates/Initiates the RVE problem.
Definition at line 331 of file fe2fluidmaterial.C.
References oofem::_processor, bc, oofem::FEMComponent::domain, oofem::Domain::giveEngngModel(), oofem::EngngModel::giveNumberOfProcesses(), oofem::EngngModel::giveRank(), oofem::InstanciateProblem(), oofem::EngngModel::isParallel(), oofem::microScale, OOFEM_ERROR, and rve.
Referenced by FE2FluidMaterialStatus(), and giveVOFFraction().
|
inline |
Definition at line 89 of file fe2fluidmaterial.h.
References bc, computeTangents(), and markOldTangents().
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector().
|
inlinevirtual |
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 118 of file fe2fluidmaterial.h.
|
inline |
Definition at line 103 of file fe2fluidmaterial.h.
References Ep.
Referenced by computeTangents(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().
|
inline |
Definition at line 102 of file fe2fluidmaterial.h.
References Ed.
Referenced by computeTangents(), oofem::FE2FluidMaterial::giveDeviatoricStiffnessMatrix(), oofem::FE2FluidMaterial::giveEffectiveViscosity(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().
|
inline |
Definition at line 107 of file fe2fluidmaterial.h.
References pressure.
Referenced by oofem::FE2FluidMaterial::giveIPValue().
|
inline |
Definition at line 88 of file fe2fluidmaterial.h.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector().
|
inline |
Definition at line 94 of file fe2fluidmaterial.h.
References createRVE(), oofem::IntegrationPointStatus::gp, setTimeStep(), and voffraction.
Referenced by oofem::FE2FluidMaterial::giveIPValue().
|
inline |
Definition at line 104 of file fe2fluidmaterial.h.
References Cd.
Referenced by computeTangents(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().
|
inline |
Definition at line 105 of file fe2fluidmaterial.h.
References Cp.
Referenced by computeTangents(), oofem::FE2FluidMaterial::giveIPValue(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::FluidDynamicMaterialStatus.
Definition at line 376 of file fe2fluidmaterial.C.
References oofem::FluidDynamicMaterialStatus::initTempStatus().
Referenced by letPressureBe().
|
inline |
Definition at line 108 of file fe2fluidmaterial.h.
References initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector().
| void oofem::FE2FluidMaterialStatus::markOldTangents | ( | ) |
Definition at line 402 of file fe2fluidmaterial.C.
References oldTangents.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector(), giveBC(), and restoreContext().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::FluidDynamicMaterialStatus.
Definition at line 360 of file fe2fluidmaterial.C.
References oofem::FluidDynamicMaterialStatus::printOutputAt().
Referenced by letPressureBe().
|
virtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| mode | Determines amount of info available in stream (state, definition, ...). |
| obj | Special parameter for sending extra information. |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::FluidDynamicMaterialStatus.
Definition at line 391 of file fe2fluidmaterial.C.
References oofem::CIO_OK, markOldTangents(), oofem::FluidDynamicMaterialStatus::restoreContext(), rve, and THROW_CIOERR.
Referenced by letPressureBe().
|
virtual |
Stores receiver state to output stream.
| stream | Output stream. |
| mode | Determines amount of info required in stream (state, definition, ...). |
| obj | Special parameter, used only to send particular integration point to material class version of this method. |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::FluidDynamicMaterialStatus.
Definition at line 381 of file fe2fluidmaterial.C.
References oofem::CIO_OK, rve, oofem::FluidDynamicMaterialStatus::saveContext(), and THROW_CIOERR.
Referenced by letPressureBe().
| void oofem::FE2FluidMaterialStatus::setTimeStep | ( | TimeStep * | tStep | ) |
Copies time step data to RVE.
Definition at line 56 of file fe2fluidmaterial.C.
References oofem::TimeStep::giveNumber(), oofem::TimeStep::giveTargetTime(), oofem::TimeStep::giveTimeIncrement(), rve, oofem::TimeStep::setNumber(), oofem::TimeStep::setTime(), and oofem::TimeStep::setTimeIncrement().
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector(), and giveVOFFraction().
|
virtual |
Update equilibrium history variables according to temp-variables.
Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::MaterialStatus.
Definition at line 365 of file fe2fluidmaterial.C.
References bc, oofem::MixedGradientPressureBC::domainSize(), rve, oofem::MaterialStatus::updateYourself(), and voffraction.
Referenced by letPressureBe().
|
protected |
Boundary condition in RVE that performs the computational homogenization.
Definition at line 64 of file fe2fluidmaterial.h.
Referenced by oofem::FE2FluidMaterial::computeDeviatoricStressVector(), computeTangents(), createRVE(), giveBC(), and updateYourself().
|
protected |
Definition at line 67 of file fe2fluidmaterial.h.
Referenced by giveVolumetricDeviatoricTangent().
|
protected |
Definition at line 69 of file fe2fluidmaterial.h.
Referenced by giveVolumetricPressureTangent().
|
protected |
Definition at line 66 of file fe2fluidmaterial.h.
Referenced by giveDeviatoricTangent().
|
protected |
Definition at line 68 of file fe2fluidmaterial.h.
Referenced by giveDeviatoricPressureTangent().
|
protected |
Definition at line 74 of file fe2fluidmaterial.h.
Referenced by computeTangents(), FE2FluidMaterialStatus(), and markOldTangents().
|
protected |
Definition at line 71 of file fe2fluidmaterial.h.
Referenced by oofem::FE2FluidMaterial::giveIPValue(), givePressure(), oofem::FE2FluidMaterial::giveStiffnessMatrices(), and oofem::FE2FluidMaterial::~FE2FluidMaterial().
|
protected |
The subscale flow.
Definition at line 62 of file fe2fluidmaterial.h.
Referenced by createRVE(), restoreContext(), saveContext(), setTimeStep(), and updateYourself().
|
protected |
Definition at line 72 of file fe2fluidmaterial.h.
Referenced by FE2FluidMaterialStatus(), giveVOFFraction(), and updateYourself().