OOFEM 3.0
Loading...
Searching...
No Matches
oofem::FE2FluidMaterialStatus Class Reference

#include <fe2fluidmaterial.h>

Inheritance diagram for oofem::FE2FluidMaterialStatus:
Collaboration diagram for oofem::FE2FluidMaterialStatus:

Public Member Functions

 FE2FluidMaterialStatus (int n, int rank, GaussPoint *gp, const std ::string &inputfile)
EngngModelgiveRVE ()
MixedGradientPressureBCgiveBC ()
void markOldTangents ()
void computeTangents (TimeStep *tStep)
double giveVOFFraction ()
bool createRVE (int n, int rank, GaussPoint *gp, const std ::string &inputfile)
 Creates/Initiates the RVE problem.
void setTimeStep (TimeStep *tStep)
 Copies time step data to RVE.
FloatMatrixgiveDeviatoricTangent ()
FloatArraygiveDeviatoricPressureTangent ()
FloatArraygiveVolumetricDeviatoricTangent ()
double & giveVolumetricPressureTangent ()
double givePressure ()
void letPressureBe (double val)
void printOutputAt (FILE *file, TimeStep *tStep) const override
 Print receiver's output to given stream.
void initTempStatus () override
void updateYourself (TimeStep *tStep) override
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
const char * giveClassName () const override
Public Member Functions inherited from oofem::FluidDynamicMaterialStatus
 FluidDynamicMaterialStatus (GaussPoint *g)
 Constructor - creates new TransportMaterialStatus with number n, belonging to domain d and integration point g.
void printOutputAt (FILE *file, TimeStep *tStep) const override
 Print receiver's output to given stream.
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
const FloatArrayF< 6 > & giveDeviatoricStressVector () const
const FloatArrayF< 6 > & giveDeviatoricStrainRateVector () const
void letDeviatoricStressVectorBe (const FloatArrayF< 6 > &v)
void letDeviatoricStrainRateVectorBe (const FloatArrayF< 6 > &v)
const char * giveClassName () const override
Public Member Functions inherited from oofem::MaterialStatus
 MaterialStatus (GaussPoint *g)
void printOutputAt (FILE *file, TimeStep *tStep) const override
 Print receiver's output to given stream.
void updateYourself (TimeStep *) override
virtual bool giveMaterialProperty (int propID, double &value)
virtual void setMaterialProperty (int propID, double value)
Public Member Functions inherited from oofem::IntegrationPointStatus
 IntegrationPointStatus (GaussPoint *g)
virtual ~IntegrationPointStatus ()=default
 Destructor.
virtual void setStatusVariable (int varID, double value)
virtual InterfacegiveInterface (InterfaceType t)

Protected Attributes

std ::unique_ptr< EngngModelrve
 The subscale flow.
MixedGradientPressureBCbc
 Boundary condition in RVE that performs the computational homogenization.
FloatMatrix Ed
FloatArray Cd
FloatArray Ep
double Cp
double pressure
double voffraction
bool oldTangents
Protected Attributes inherited from oofem::FluidDynamicMaterialStatus
FloatArrayF< 6 > deviatoricStressVector
 Stress vector in reduced form.
FloatArrayF< 6 > deviatoricStrainRateVector
 Strain vector in reduced form.
Protected Attributes inherited from oofem::IntegrationPointStatus
GaussPointgp
 Associated integration point.

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

◆ FE2FluidMaterialStatus()

oofem::FE2FluidMaterialStatus::FE2FluidMaterialStatus ( int n,
int rank,
GaussPoint * gp,
const std ::string & inputfile )

Creates new material status.

Parameters
nMaterial status number.
rankParallel rank (ignored if negative).
gpGauss point that the status belongs to.
inputfileThe input file describing the micro problem.

Definition at line 314 of file fe2fluidmaterial.C.

References createRVE(), oofem::FluidDynamicMaterialStatus::FluidDynamicMaterialStatus(), oofem::IntegrationPointStatus::gp, oldTangents, OOFEM_ERROR, and voffraction.

Member Function Documentation

◆ computeTangents()

◆ createRVE()

bool oofem::FE2FluidMaterialStatus::createRVE ( int n,
int rank,
GaussPoint * gp,
const std ::string & inputfile )

◆ giveBC()

MixedGradientPressureBC * oofem::FE2FluidMaterialStatus::giveBC ( )
inline

◆ giveClassName()

const char * oofem::FE2FluidMaterialStatus::giveClassName ( ) const
inlineoverridevirtual

Implements oofem::IntegrationPointStatus.

Definition at line 116 of file fe2fluidmaterial.h.

◆ giveDeviatoricPressureTangent()

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

Definition at line 101 of file fe2fluidmaterial.h.

References Ep.

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

◆ giveDeviatoricTangent()

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

◆ givePressure()

double oofem::FE2FluidMaterialStatus::givePressure ( )
inline

Definition at line 105 of file fe2fluidmaterial.h.

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

◆ giveRVE()

EngngModel * oofem::FE2FluidMaterialStatus::giveRVE ( )
inline

◆ giveVOFFraction()

double oofem::FE2FluidMaterialStatus::giveVOFFraction ( )
inline

Definition at line 92 of file fe2fluidmaterial.h.

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

◆ giveVolumetricDeviatoricTangent()

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

Definition at line 102 of file fe2fluidmaterial.h.

References Cd.

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

◆ giveVolumetricPressureTangent()

double & oofem::FE2FluidMaterialStatus::giveVolumetricPressureTangent ( )
inline

◆ initTempStatus()

void oofem::FE2FluidMaterialStatus::initTempStatus ( )
overridevirtual

Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.

Reimplemented from oofem::MaterialStatus.

Definition at line 368 of file fe2fluidmaterial.C.

◆ letPressureBe()

void oofem::FE2FluidMaterialStatus::letPressureBe ( double val)
inline

◆ markOldTangents()

void oofem::FE2FluidMaterialStatus::markOldTangents ( )

◆ printOutputAt()

void oofem::FE2FluidMaterialStatus::printOutputAt ( FILE * file,
TimeStep * tStep ) const
overridevirtual

Print receiver's output to given stream.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 352 of file fe2fluidmaterial.C.

◆ restoreContext()

void oofem::FE2FluidMaterialStatus::restoreContext ( DataStream & stream,
ContextMode mode )
overridevirtual

Restores the receiver state previously written in stream.

See also
saveContext
Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 379 of file fe2fluidmaterial.C.

References markOldTangents(), and rve.

◆ saveContext()

void oofem::FE2FluidMaterialStatus::saveContext ( DataStream & stream,
ContextMode mode )
overridevirtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 373 of file fe2fluidmaterial.C.

References rve.

◆ setTimeStep()

◆ updateYourself()

void oofem::FE2FluidMaterialStatus::updateYourself ( TimeStep * )
overridevirtual

Update equilibrium history variables according to temp-variables. Invoked, after new equilibrium state has been reached.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 357 of file fe2fluidmaterial.C.

References bc, rve, and voffraction.

Member Data Documentation

◆ bc

MixedGradientPressureBC* oofem::FE2FluidMaterialStatus::bc
protected

Boundary condition in RVE that performs the computational homogenization.

Definition at line 64 of file fe2fluidmaterial.h.

Referenced by computeTangents(), createRVE(), and updateYourself().

◆ Cd

FloatArray oofem::FE2FluidMaterialStatus::Cd
protected

Definition at line 67 of file fe2fluidmaterial.h.

Referenced by giveVolumetricDeviatoricTangent().

◆ Cp

double oofem::FE2FluidMaterialStatus::Cp
protected

Definition at line 69 of file fe2fluidmaterial.h.

Referenced by giveVolumetricPressureTangent().

◆ Ed

FloatMatrix oofem::FE2FluidMaterialStatus::Ed
protected

Definition at line 66 of file fe2fluidmaterial.h.

Referenced by giveDeviatoricTangent().

◆ Ep

FloatArray oofem::FE2FluidMaterialStatus::Ep
protected

Definition at line 68 of file fe2fluidmaterial.h.

Referenced by giveDeviatoricPressureTangent().

◆ oldTangents

bool oofem::FE2FluidMaterialStatus::oldTangents
protected

Definition at line 74 of file fe2fluidmaterial.h.

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

◆ pressure

double oofem::FE2FluidMaterialStatus::pressure
protected

Definition at line 71 of file fe2fluidmaterial.h.

◆ rve

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().

◆ voffraction

double oofem::FE2FluidMaterialStatus::voffraction
protected

Definition at line 72 of file fe2fluidmaterial.h.

Referenced by FE2FluidMaterialStatus(), and updateYourself().


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011