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

#include <homexportmodule.h>

Inheritance diagram for oofem::HOMExportModule:
Collaboration diagram for oofem::HOMExportModule:

Public Member Functions

 HOMExportModule (int n, EngngModel *e)
 Constructor. Creates empty Output Manager.
virtual ~HOMExportModule ()
 Destructor.
void initializeFrom (InputRecord &ir) override
 Initializes receiver according to object description stored in input record.
void doOutput (TimeStep *tStep, bool forcedOutput=false) override
void average (FloatArray &answer, double &volTot, int ist, bool subtractStressDepStrain, TimeStep *tStep)
void initialize () override
void terminate () override
const char * giveClassName () const override
 Returns class name of the receiver.
const char * giveInputRecordName () const
Public Member Functions inherited from oofem::ExportModule
 ExportModule (int n, EngngModel *e)
 Constructor. Creates empty Output Manager with number n.
virtual ~ExportModule ()
 Destructor.
void doForcedOutput (TimeStep *tStep)
bool testSubStepOutput ()
virtual void initializeElementSet ()

Protected Attributes

double scale
 Scale of all homogenized values.
std::ofstream stream
 Stream for file.
IntArray ists
 Internal states to export.
IntArray elements
 List of elements.
std::vector< FloatArraylastStress
 Last averaged stress.
std::vector< FloatArraylastStrainStressDep
 Last averaged stress-dependent strain.
bool reactions
 Reactions to export.
bool strainEnergy
 Allow calculation of strain energy, evaluated from mid-point rule (exact for linear elastic problems with zero initial stress/strain field). Allows only non-growing domains.
double strainEnergySumStressDep
Protected Attributes inherited from oofem::ExportModule
int number
 Component number.
EngngModelemodel
 Problem pointer.
bool tstep_all_out_flag
 Indicates all steps selection.
int tstep_step_out
 User timeStep Output step. Indicates every tstep_step_out-th step selected.
std ::list< Rangetsteps_out
 List of user selected step numbers.
bool tstep_substeps_out_flag
bool domain_all_flag
 Indicates all domains.
IntArray domainMask
 Domain selection mask.
IntArray regionSets
 regions represented by sets
double timeScale
 Scaling time in output, e.g. conversion from seconds to hours.
Set defaultElementSet
 Default region set.
bool pythonExport
 Output is carried out as a python list instead of writing files.

Additional Inherited Members

Protected Member Functions inherited from oofem::ExportModule
int giveNumberOfRegions ()
 Returns number of regions (aka regionSets).
SetgiveRegionSet (int i)
 Returns element set.
std::string giveOutputBaseFileName (TimeStep *tStep)
bool testTimeStepOutput (TimeStep *tStep)
bool testDomainOutput (int n)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Detailed Description

Represents HOM (Homogenization) export module. It averages internal variables over the whole domain and all elements in global coordinate system. Tensors are given in Voigt notation. Thus various element types (beam, plane element, brick) can be combined and will give correct averaged values.

Author
Vit Smilauer
Mikael Öhman

Definition at line 62 of file homexportmodule.h.

Constructor & Destructor Documentation

◆ HOMExportModule()

oofem::HOMExportModule::HOMExportModule ( int n,
EngngModel * e )

Constructor. Creates empty Output Manager.

References average(), doOutput(), HOMExportModule(), initialize(), initializeFrom(), and terminate().

Referenced by HOMExportModule().

◆ ~HOMExportModule()

oofem::HOMExportModule::~HOMExportModule ( )
virtual

Destructor.

Definition at line 52 of file homexportmodule.C.

Member Function Documentation

◆ average()

◆ doOutput()

void oofem::HOMExportModule::doOutput ( TimeStep * tStep,
bool forcedOutput = false )
overridevirtual

Writes the output. Abstract service.

Parameters
tStepTime step.
forcedOutputIf true, no testTimeStepOutput should be done.
Todo
need reaction forces from engngm model, not separately from sm/tm modules as it is implemented now

Implements oofem::ExportModule.

Definition at line 72 of file homexportmodule.C.

References oofem::FloatArray::at(), average(), elements, oofem::ExportModule::giveNumberOfRegions(), oofem::ExportModule::giveRegionSet(), oofem::FloatArray::giveSize(), oofem::TimeStep::giveTargetTime(), ists, reactions, strainEnergy, strainEnergySumStressDep, stream, oofem::ExportModule::testTimeStepOutput(), and oofem::ExportModule::timeScale.

Referenced by HOMExportModule().

◆ giveClassName()

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

Returns class name of the receiver.

Implements oofem::ExportModule.

Definition at line 95 of file homexportmodule.h.

◆ giveInputRecordName()

const char * oofem::HOMExportModule::giveInputRecordName ( ) const
inline

Definition at line 96 of file homexportmodule.h.

References _IFT_HOMExportModule_Name.

◆ initialize()

void oofem::HOMExportModule::initialize ( )
overridevirtual

◆ initializeFrom()

void oofem::HOMExportModule::initializeFrom ( InputRecord & ir)
overridevirtual

◆ terminate()

void oofem::HOMExportModule::terminate ( )
overridevirtual

Terminates the receiver. The terminating messages should be printed. All the streams should be closed.

Reimplemented from oofem::ExportModule.

Definition at line 234 of file homexportmodule.C.

References stream.

Referenced by HOMExportModule().

Member Data Documentation

◆ elements

IntArray oofem::HOMExportModule::elements
protected

List of elements.

Definition at line 72 of file homexportmodule.h.

Referenced by average(), and doOutput().

◆ ists

IntArray oofem::HOMExportModule::ists
protected

Internal states to export.

Definition at line 70 of file homexportmodule.h.

Referenced by doOutput(), initialize(), and initializeFrom().

◆ lastStrainStressDep

std::vector< FloatArray > oofem::HOMExportModule::lastStrainStressDep
protected

Last averaged stress-dependent strain.

Definition at line 76 of file homexportmodule.h.

Referenced by average(), and initializeFrom().

◆ lastStress

std::vector< FloatArray > oofem::HOMExportModule::lastStress
protected

Last averaged stress.

Definition at line 74 of file homexportmodule.h.

Referenced by average(), and initializeFrom().

◆ reactions

bool oofem::HOMExportModule::reactions
protected

Reactions to export.

Definition at line 78 of file homexportmodule.h.

Referenced by doOutput(), and initializeFrom().

◆ scale

double oofem::HOMExportModule::scale
protected

Scale of all homogenized values.

Definition at line 66 of file homexportmodule.h.

Referenced by average(), and initializeFrom().

◆ strainEnergy

bool oofem::HOMExportModule::strainEnergy
protected

Allow calculation of strain energy, evaluated from mid-point rule (exact for linear elastic problems with zero initial stress/strain field). Allows only non-growing domains.

Definition at line 80 of file homexportmodule.h.

Referenced by doOutput(), initialize(), and initializeFrom().

◆ strainEnergySumStressDep

double oofem::HOMExportModule::strainEnergySumStressDep
protected

Definition at line 82 of file homexportmodule.h.

Referenced by doOutput(), and initializeFrom().

◆ stream

std::ofstream oofem::HOMExportModule::stream
protected

Stream for file.

Definition at line 68 of file homexportmodule.h.

Referenced by doOutput(), initialize(), and terminate().


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