|
OOFEM 3.0
|
#include <structuralfe2material.h>
Public Member Functions | |
| StructuralFE2MaterialStatus (int rank, GaussPoint *g, const std ::string &inputfile) | |
| EngngModel * | giveRVE () const |
| PrescribedGradientHomogenization * | giveBC () |
| void | markOldTangent () |
| void | computeTangent (TimeStep *tStep) |
| bool | createRVE (int n, const std ::string &inputfile, int rank) |
| Creates/Initiates the RVE problem. | |
| void | setTimeStep (TimeStep *tStep) |
| Copies time step data to RVE. | |
| FloatMatrix & | giveTangent () |
| const char * | giveClassName () const override |
| void | initTempStatus () override |
| void | updateYourself (TimeStep *tStep) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| const FloatArray & | giveNormal () const |
| void | letNormalBe (FloatArray iN) |
| double | giveRveLength () |
| void | copyStateVariables (const MaterialStatus &iStatus) override |
| Functions for MaterialStatusMapperInterface. | |
| void | addStateVariables (const MaterialStatus &iStatus) override |
| Public Member Functions inherited from oofem::StructuralMaterialStatus | |
| StructuralMaterialStatus (GaussPoint *g) | |
| Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g. | |
| 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 FloatArray & | giveStrainVector () const |
| Returns the const pointer to receiver's strain vector. | |
| const FloatArray & | giveStressVector () const |
| Returns the const pointer to receiver's stress vector. | |
| const FloatArray & | givePVector () const |
| Returns the const pointer to receiver's first Piola-Kirchhoff stress vector. | |
| const FloatArray & | giveCVector () const |
| Returns the const pointer to receiver's Cauchy stress vector. | |
| const FloatArray & | giveFVector () const |
| Returns the const pointer to receiver's deformation gradient vector. | |
| const FloatArray & | giveTempStrainVector () const |
| Returns the const pointer to receiver's temporary strain vector. | |
| const FloatArray & | giveTempStressVector () const |
| Returns the const pointer to receiver's temporary stress vector. | |
| const FloatArray & | giveTempPVector () const |
| Returns the const pointer to receiver's temporary first Piola-Kirchhoff stress vector. | |
| const FloatArray & | giveTempCVector () const |
| Returns the const pointer to receiver's temporary Cauchy stress vector. | |
| const FloatArray & | giveTempFVector () const |
| Returns the const pointer to receiver's temporary deformation gradient vector. | |
| void | letStrainVectorBe (const FloatArray &v) |
| Assigns strain vector to given vector v. | |
| void | letStressVectorBe (const FloatArray &v) |
| Assigns stressVector to given vector v. | |
| void | letPVectorBe (const FloatArray &v) |
| Assigns PVector to given vector v. | |
| void | letCVectorBe (const FloatArray &v) |
| Assigns CVector to given vector v. | |
| void | letFVectorBe (const FloatArray &v) |
| Assigns FVector to given vector v. | |
| void | letTempStressVectorBe (const FloatArray &v) |
| Assigns tempStressVector to given vector v. | |
| void | letTempStrainVectorBe (const FloatArray &v) |
| Assigns tempStrainVector to given vector v. | |
| void | letTempPVectorBe (const FloatArray &v) |
| Assigns tempPVector to given vector v. | |
| void | letTempCVectorBe (const FloatArray &v) |
| Assigns tempPVector to given vector v. | |
| void | letTempFVectorBe (const FloatArray &v) |
| Assigns tempFVector to given vector v. | |
| const char * | giveClassName () const override |
| void | copyStateVariables (const MaterialStatus &iStatus) override |
| Functions for MaterialStatusMapperInterface. | |
| void | addStateVariables (const MaterialStatus &iStatus) override |
| Public Member Functions inherited from oofem::MaterialStatus | |
| MaterialStatus (GaussPoint *g) | |
| 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 Interface * | giveInterface (InterfaceType t) |
| Public Member Functions inherited from oofem::MaterialStatusMapperInterface | |
| MaterialStatusMapperInterface () | |
| virtual | ~MaterialStatusMapperInterface () |
| virtual int | MSMI_map (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
| virtual int | MSMI_map_cz (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
| virtual int | MSMI_update (const GaussPoint &iGP, const TimeStep &iTStep) |
| virtual int | MSMI_finish (const TimeStep &iTStep) |
Public Attributes | |
| bool | mNewlyInitialized = true |
Protected Attributes | |
| std ::unique_ptr< EngngModel > | rve |
| The RVE. | |
| PrescribedGradientHomogenization * | bc = nullptr |
| Boundary condition in RVE that performs the computational homogenization. | |
| FloatMatrix | tangent |
| bool | oldTangent = true |
| FloatArray | mNormalDir |
| Interface normal direction. | |
| std::string | mInputFile |
| Protected Attributes inherited from oofem::StructuralMaterialStatus | |
| FloatArray | strainVector |
| Equilibrated strain vector in reduced form. | |
| FloatArray | stressVector |
| Equilibrated stress vector in reduced form. | |
| FloatArray | tempStressVector |
| Temporary stress vector in reduced form (increments are used mainly in nonlinear analysis). | |
| FloatArray | tempStrainVector |
| Temporary strain vector in reduced form (to find balanced state). | |
| FloatArray | PVector |
| Equilibrated first Piola-Kirchhoff stress vector. | |
| FloatArray | tempPVector |
| Temporary first Piola-Kirchhoff stress vector (to find balanced state). | |
| FloatArray | CVector |
| Equilibrated Cauchy stress vector. | |
| FloatArray | tempCVector |
| Temporary Cauchy stress vector (to find balanced state). | |
| FloatArray | FVector |
| Equilibrated deformation gradient in reduced form. | |
| FloatArray | tempFVector |
| Temporary deformation gradient in reduced form (to find balanced state). | |
| Protected Attributes inherited from oofem::IntegrationPointStatus | |
| GaussPoint * | gp |
| Associated integration point. | |
| Protected Attributes inherited from oofem::MaterialStatusMapperInterface | |
| std::unique_ptr< MaterialMappingAlgorithm > | mpMaterialMapper |
Definition at line 54 of file structuralfe2material.h.
| oofem::StructuralFE2MaterialStatus::StructuralFE2MaterialStatus | ( | int | rank, |
| GaussPoint * | g, | ||
| const std ::string & | inputfile ) |
@TODO FIXME createRVE
Definition at line 341 of file structuralfe2material.C.
References createRVE(), mInputFile, OOFEM_ERROR, oofem::StructuralMaterialStatus::strainVector, oofem::StructuralMaterialStatus::stressVector, oofem::StructuralMaterialStatus::StructuralMaterialStatus(), oofem::StructuralMaterialStatus::tempStrainVector, and oofem::StructuralMaterialStatus::tempStressVector.
Referenced by copyStateVariables().
|
inlineoverridevirtual |
Implements oofem::MaterialStatusMapperInterface.
Definition at line 103 of file structuralfe2material.h.
References OOFEM_ERROR.
| void oofem::StructuralFE2MaterialStatus::computeTangent | ( | TimeStep * | tStep | ) |
Definition at line 408 of file structuralfe2material.C.
References bc, giveTangent(), oofem::TimeStep::isTheCurrentTimeStep(), oldTangent, and OOFEM_ERROR.
|
overridevirtual |
Functions for MaterialStatusMapperInterface.
Implements oofem::MaterialStatusMapperInterface.
Definition at line 452 of file structuralfe2material.C.
References oofem::XfemManager::appendEnrichmentItems(), oofem::EnrichmentItem::appendInputRecords(), bc, oofem::classFactory, oofem::XfemManager::clearEnrichmentItems(), oofem::XfemStructureManager::computeTotalCrackLength(), oofem::EngngModel::giveDomain(), oofem::XfemManager::giveEnrichmentItem(), oofem::DynamicDataReader::giveInputRecord(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::VTKXMLExportModule::givePrimVarSmoother(), oofem::InputRecord::giveRecordKeywordField(), giveRVE(), oofem::VTKXMLExportModule::giveSmoother(), oofem::Domain::giveXfemManager(), oofem::Domain::hasXfemManager(), mNewlyInitialized, oldTangent, OOFEM_ERROR, oofem::Domain::postInitialize(), oofem::FloatArray::resize(), rve, oofem::NodalRecoveryModel::setDomain(), oofem::Domain::SetEngngModel(), StructuralFE2MaterialStatus(), and oofem::FloatArray::zero().
| bool oofem::StructuralFE2MaterialStatus::createRVE | ( | int | n, |
| const std ::string & | inputfile, | ||
| int | rank ) |
Creates/Initiates the RVE problem.
Definition at line 362 of file structuralfe2material.C.
References oofem::_processor, bc, oofem::OOFEMTXTDataReader::finish(), oofem::InstanciateProblem(), oofem::microScale, OOFEM_ERROR, and rve.
Referenced by StructuralFE2MaterialStatus().
| PrescribedGradientHomogenization * oofem::StructuralFE2MaterialStatus::giveBC | ( | ) |
Definition at line 354 of file structuralfe2material.C.
Referenced by oofem::XfemStructuralElementInterface::computeEffectiveSveSize(), and oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().
|
inlineoverridevirtual |
Implements oofem::IntegrationPointStatus.
Definition at line 87 of file structuralfe2material.h.
|
inline |
Definition at line 96 of file structuralfe2material.h.
References mNormalDir.
Referenced by oofem::XfemStructuralElementInterface::computeCohesiveForces(), oofem::XfemStructuralElementInterface::computeCohesiveTangent(), oofem::XfemStructuralElementInterface::computeEffectiveSveSize(), and oofem::GnuplotExportModule::outputXFEM().
|
inline |
Definition at line 73 of file structuralfe2material.h.
Referenced by copyStateVariables().
| double oofem::StructuralFE2MaterialStatus::giveRveLength | ( | ) |
Definition at line 447 of file structuralfe2material.C.
References bc.
|
inline |
Definition at line 85 of file structuralfe2material.h.
References tangent.
Referenced by computeTangent().
|
overridevirtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::MaterialStatus.
Definition at line 399 of file structuralfe2material.C.
|
inline |
Definition at line 97 of file structuralfe2material.h.
References mNormalDir.
Referenced by oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().
| void oofem::StructuralFE2MaterialStatus::markOldTangent | ( | ) |
Definition at line 405 of file structuralfe2material.C.
References oldTangent.
|
overridevirtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| mode | Determines amount of info available in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 441 of file structuralfe2material.C.
References rve.
|
overridevirtual |
Stores receiver state to output stream.
| stream | Output stream. |
| mode | Determines amount of info required in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 433 of file structuralfe2material.C.
References rve.
| void oofem::StructuralFE2MaterialStatus::setTimeStep | ( | TimeStep * | tStep | ) |
Copies time step data to RVE.
Definition at line 390 of file structuralfe2material.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::StructuralFE2Material::giveRealStressVector_PlaneStress().
|
overridevirtual |
Update equilibrium history variables according to temp-variables. Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::MaterialStatus.
Definition at line 422 of file structuralfe2material.C.
References mNewlyInitialized, and rve.
|
protected |
Boundary condition in RVE that performs the computational homogenization.
Definition at line 60 of file structuralfe2material.h.
Referenced by computeTangent(), copyStateVariables(), createRVE(), giveBC(), and giveRveLength().
|
protected |
Definition at line 68 of file structuralfe2material.h.
Referenced by StructuralFE2MaterialStatus().
| bool oofem::StructuralFE2MaterialStatus::mNewlyInitialized = true |
Definition at line 106 of file structuralfe2material.h.
Referenced by copyStateVariables(), and updateYourself().
|
protected |
Interface normal direction.
Definition at line 66 of file structuralfe2material.h.
Referenced by giveNormal(), and letNormalBe().
|
protected |
Definition at line 63 of file structuralfe2material.h.
Referenced by computeTangent(), copyStateVariables(), and markOldTangent().
|
protected |
The RVE.
Definition at line 58 of file structuralfe2material.h.
Referenced by copyStateVariables(), createRVE(), giveBC(), restoreContext(), saveContext(), setTimeStep(), and updateYourself().
|
protected |
Definition at line 62 of file structuralfe2material.h.
Referenced by giveTangent().