OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::FE2FluidMaterialStatus Class Reference

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...
 
EngngModelgiveRVE ()
 
MixedGradientPressureBCgiveBC ()
 
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...
 
FloatMatrixgiveDeviatoricTangent ()
 
FloatArraygiveDeviatoricPressureTangent ()
 
FloatArraygiveVolumetricDeviatoricTangent ()
 
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 FloatArraygiveDeviatoricStressVector ()
 Gives the deviatoric stress. More...
 
const FloatArraygiveDeviatoricStrainRateVector ()
 
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...
 
DomaingiveDomain () 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 InterfacegiveInterface (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< EngngModelrve
 The subscale flow. More...
 
MixedGradientPressureBCbc
 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
GaussPointgp
 Associated integration point. More...
 
- Protected Attributes inherited from oofem::FEMComponent
int number
 Component number. More...
 
Domaindomain
 Link to domain object, useful for communicating with other FEM components. More...
 

Detailed Description

Class representing material status for the subscale fluid, i.e an Representative Volume Element (RVE).

Author
Mikael Öhman

Definition at line 58 of file fe2fluidmaterial.h.

Constructor & Destructor Documentation

oofem::FE2FluidMaterialStatus::FE2FluidMaterialStatus ( int  n,
Domain d,
GaussPoint gp,
const std::string &  inputfile 
)

Creates new material status.

Parameters
nMaterial status number.
dDomain that status belongs to.
gpGauss point that the status belongs to.
inputfileThe 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().

oofem::FE2FluidMaterialStatus::~FE2FluidMaterialStatus ( )
virtual

Destructor.

Definition at line 326 of file fe2fluidmaterial.C.

Member Function Documentation

bool oofem::FE2FluidMaterialStatus::createRVE ( int  n,
GaussPoint gp,
const std::string &  inputfile 
)
MixedGradientPressureBC* oofem::FE2FluidMaterialStatus::giveBC ( )
inline
virtual const char* oofem::FE2FluidMaterialStatus::giveClassName ( ) const
inlinevirtual
Returns
Class name of the receiver.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 118 of file fe2fluidmaterial.h.

FloatArray& oofem::FE2FluidMaterialStatus::giveDeviatoricPressureTangent ( )
inline

Definition at line 103 of file fe2fluidmaterial.h.

References Ep.

Referenced by computeTangents(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().

FloatMatrix& oofem::FE2FluidMaterialStatus::giveDeviatoricTangent ( )
inline
double oofem::FE2FluidMaterialStatus::givePressure ( )
inline

Definition at line 107 of file fe2fluidmaterial.h.

References pressure.

Referenced by oofem::FE2FluidMaterial::giveIPValue().

EngngModel* oofem::FE2FluidMaterialStatus::giveRVE ( )
inline
double oofem::FE2FluidMaterialStatus::giveVOFFraction ( )
inline
FloatArray& oofem::FE2FluidMaterialStatus::giveVolumetricDeviatoricTangent ( )
inline

Definition at line 104 of file fe2fluidmaterial.h.

References Cd.

Referenced by computeTangents(), and oofem::FE2FluidMaterial::giveStiffnessMatrices().

double& oofem::FE2FluidMaterialStatus::giveVolumetricPressureTangent ( )
inline
void oofem::FE2FluidMaterialStatus::initTempStatus ( )
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().

void oofem::FE2FluidMaterialStatus::letPressureBe ( double  val)
inline
void oofem::FE2FluidMaterialStatus::markOldTangents ( )
void oofem::FE2FluidMaterialStatus::printOutputAt ( FILE *  file,
TimeStep tStep 
)
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().

contextIOResultType oofem::FE2FluidMaterialStatus::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Restores the receiver state previously written in stream.

See also
saveContext
Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
objSpecial parameter for sending extra information.
Returns
contextIOResultType.
Exceptions
throwsan 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().

contextIOResultType oofem::FE2FluidMaterialStatus::saveContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
objSpecial parameter, used only to send particular integration point to material class version of this method.
Returns
contextIOResultType.
Exceptions
throwsan 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::updateYourself ( TimeStep )
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().

Member Data Documentation

MixedGradientPressureBC* oofem::FE2FluidMaterialStatus::bc
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().

FloatArray oofem::FE2FluidMaterialStatus::Cd
protected

Definition at line 67 of file fe2fluidmaterial.h.

Referenced by giveVolumetricDeviatoricTangent().

double oofem::FE2FluidMaterialStatus::Cp
protected

Definition at line 69 of file fe2fluidmaterial.h.

Referenced by giveVolumetricPressureTangent().

FloatMatrix oofem::FE2FluidMaterialStatus::Ed
protected

Definition at line 66 of file fe2fluidmaterial.h.

Referenced by giveDeviatoricTangent().

FloatArray oofem::FE2FluidMaterialStatus::Ep
protected

Definition at line 68 of file fe2fluidmaterial.h.

Referenced by giveDeviatoricPressureTangent().

bool oofem::FE2FluidMaterialStatus::oldTangents
protected

Definition at line 74 of file fe2fluidmaterial.h.

Referenced by computeTangents(), FE2FluidMaterialStatus(), and markOldTangents().

double oofem::FE2FluidMaterialStatus::pressure
protected
std :: unique_ptr< EngngModel > oofem::FE2FluidMaterialStatus::rve
protected

The subscale flow.

Definition at line 62 of file fe2fluidmaterial.h.

Referenced by createRVE(), restoreContext(), saveContext(), setTimeStep(), and updateYourself().

double oofem::FE2FluidMaterialStatus::voffraction
protected

Definition at line 72 of file fe2fluidmaterial.h.

Referenced by FE2FluidMaterialStatus(), giveVOFFraction(), and updateYourself().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:35 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011