OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
(Under development) The Gnuplot export module enables OOFEM to export some data in a format that can be directly plotted with Gnuplot. More...
#include <gnuplotexportmodule.h>
Public Member Functions | |
GnuplotExportModule (int n, EngngModel *e) | |
virtual | ~GnuplotExportModule () |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual void | doOutput (TimeStep *tStep, bool forcedOutput=false) |
Writes the output. More... | |
virtual void | initialize () |
virtual void | terminate () |
Terminates the receiver. More... | |
virtual const char * | giveClassName () const |
Returns class name of the receiver. More... | |
virtual const char * | giveInputRecordName () const |
void | outputXFEM (EnrichmentItem &iEI, TimeStep *tStep) |
XFEM output. More... | |
void | outputXFEM (Crack &iCrack, TimeStep *tStep) |
void | outputXFEMGeometry (const std::vector< std::vector< FloatArray > > &iEnrItemPoints) |
void | outputBoundaryCondition (PrescribedGradient &iBC, TimeStep *tStep) |
Boundary condition output. More... | |
void | outputBoundaryCondition (PrescribedGradientBCNeumann &iBC, TimeStep *tStep) |
void | outputBoundaryCondition (PrescribedGradientBCWeak &iBC, TimeStep *tStep) |
void | outputGradient (int bc, Domain &d, FloatArray &grad, TimeStep *tStep) |
Help functions. More... | |
void | outputMesh (Domain &iDomain) |
Mesh output. More... | |
void | outputNodeDisp (DofManager &iDMan, TimeStep *tStep) |
Monitor node output. More... | |
void | outputInterfaceEl (Domain &d, TimeStep *tStep) |
Custom output for interface elements. More... | |
Public Member Functions inherited from oofem::ExportModule | |
ExportModule (int n, EngngModel *e) | |
Constructor. Creates empty Output Manager with number n. More... | |
virtual | ~ExportModule () |
Destructor. More... | |
void | doForcedOutput (TimeStep *tStep) |
Writes the output. More... | |
bool | testSubStepOutput () |
Initializes receiver. More... | |
virtual void | initializeElementSet () |
Fill regionSets with all elements if regionSets is initially empty. More... | |
Static Public Member Functions | |
static void | WritePointsToGnuplot (const std::string &iName, const std::vector< std::vector< FloatArray > > &iPoints) |
Protected Member Functions | |
void | outputReactionForces (TimeStep *tStep) |
Protected Member Functions inherited from oofem::ExportModule | |
int | giveNumberOfRegions () |
Returns number of regions (aka regionSets) More... | |
Set * | giveRegionSet (int i) |
Returns element set. More... | |
std::string | giveOutputBaseFileName (TimeStep *tStep) |
Gives the appropriate name (minus specific file extension). More... | |
bool | testTimeStepOutput (TimeStep *tStep) |
Tests if given time step output is required. More... | |
bool | testDomainOutput (int n) |
Test if domain output is required. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Protected Attributes | |
bool | mExportReactionForces |
bool | mExportBoundaryConditions |
bool | mExportBoundaryConditionsExtra |
bool | mExportMesh |
bool | mExportXFEM |
bool | mExportCrackLength |
bool | mExportInterfaceEl |
int | mMonitorNodeIndex |
std::vector< FloatArray > | mMonitorNodeDispHist |
std::vector< std::vector< FloatArray > > | mReactionForceHistory |
Stores the sum of reaction forces for each BC. More... | |
std::vector< std::vector< double > > | mDispHist |
std::unique_ptr< MaterialForceEvaluator > | mpMatForceEvaluator |
Evaluator for material forces. More... | |
FloatArray | mMatForceRadii |
std::unordered_map< int, std::vector< double > > | mCrackLengthHist |
Store time history of crack lengths. More... | |
std::vector< double > | mTimeHist |
Protected Attributes inherited from oofem::ExportModule | |
int | number |
Component number. More... | |
EngngModel * | emodel |
Problem pointer. More... | |
bool | tstep_all_out_flag |
Indicates all steps selection. More... | |
int | tstep_step_out |
User timeStep Output step. Indicates every tstep_step_out-th step selected. More... | |
std::list< Range > | tsteps_out |
List of user selected step numbers. More... | |
bool | tstep_substeps_out_flag |
Flag turning output in solution step substeps/itarations. More... | |
bool | domain_all_flag |
Indicates all domains. More... | |
IntArray | domainMask |
Domain selection mask. More... | |
IntArray | regionSets |
regions represented by sets More... | |
double | timeScale |
Scaling time in output, e.g. conversion from seconds to hours. More... | |
Set | defaultElementSet |
Default region set. More... | |
(Under development) The Gnuplot export module enables OOFEM to export some data in a format that can be directly plotted with Gnuplot.
Created on: Jan 29, 2014
Definition at line 86 of file gnuplotexportmodule.h.
oofem::GnuplotExportModule::GnuplotExportModule | ( | int | n, |
EngngModel * | e | ||
) |
|
virtual |
Definition at line 84 of file gnuplotexportmodule.C.
|
virtual |
Writes the output.
Abstract service.
tStep | Time step. |
forcedOutput | If true, no testTimeStepOutput should be done. |
Implements oofem::ExportModule.
Definition at line 105 of file gnuplotexportmodule.C.
References oofem::EnrichmentItem::callGnuplotExportModule(), oofem::ExportModule::emodel, oofem::Domain::giveBc(), oofem::Domain::giveDofManager(), oofem::EngngModel::giveDomain(), oofem::XfemManager::giveEnrichmentItem(), oofem::Domain::giveNumberOfBoundaryConditions(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::GeometryBasedEI::giveSubPolygon(), oofem::TimeStep::giveTargetTime(), oofem::Domain::giveXfemManager(), oofem::Domain::hasXfemManager(), mExportBoundaryConditions, mExportInterfaceEl, mExportMesh, mExportReactionForces, mExportXFEM, mMonitorNodeIndex, mTimeHist, outputBoundaryCondition(), outputInterfaceEl(), outputMesh(), outputNodeDisp(), outputReactionForces(), outputXFEMGeometry(), and oofem::ExportModule::testTimeStepOutput().
|
inlinevirtual |
Returns class name of the receiver.
Implements oofem::ExportModule.
Definition at line 97 of file gnuplotexportmodule.h.
|
inlinevirtual |
Definition at line 98 of file gnuplotexportmodule.h.
References _IFT_GnuplotExportModule_Name.
|
virtual |
Reimplemented from oofem::ExportModule.
Definition at line 183 of file gnuplotexportmodule.C.
References oofem::ExportModule::initialize().
|
virtual |
Initializes receiver according to object description stored in input record.
Reimplemented from oofem::ExportModule.
Definition at line 87 of file gnuplotexportmodule.C.
References _IFT_GnuplotExportModule_BoundaryConditions, _IFT_GnuplotExportModule_BoundaryConditionsExtra, _IFT_GnuplotExportModule_cracklength, _IFT_GnuplotExportModule_interface_el, _IFT_GnuplotExportModule_materialforceradii, _IFT_GnuplotExportModule_mesh, _IFT_GnuplotExportModule_monitornode, _IFT_GnuplotExportModule_ReactionForces, _IFT_GnuplotExportModule_xfem, oofem::InputRecord::giveOptionalField(), oofem::InputRecord::hasField(), oofem::ExportModule::initializeFrom(), mExportBoundaryConditions, mExportBoundaryConditionsExtra, mExportCrackLength, mExportInterfaceEl, mExportMesh, mExportReactionForces, mExportXFEM, mMatForceRadii, and mMonitorNodeIndex.
void oofem::GnuplotExportModule::outputBoundaryCondition | ( | PrescribedGradient & | iBC, |
TimeStep * | tStep | ||
) |
Boundary condition output.
Definition at line 533 of file gnuplotexportmodule.C.
References oofem::FloatArray::at(), oofem::PrescribedGradient::computeField(), oofem::ExportModule::emodel, oofem::EngngModel::giveCurrentStep(), oofem::FEMComponent::giveDomain(), oofem::PrescribedGradientHomogenization::giveGradientVoigt(), oofem::FEMComponent::giveNumber(), oofem::FloatArray::giveSize(), oofem::TimeStep::giveTargetTime(), outputGradient(), oofem::FloatArray::printYourself(), and oofem::XFEMDebugTools::WriteArrayToGnuplot().
Referenced by doOutput().
void oofem::GnuplotExportModule::outputBoundaryCondition | ( | PrescribedGradientBCNeumann & | iBC, |
TimeStep * | tStep | ||
) |
Definition at line 566 of file gnuplotexportmodule.C.
References oofem::FloatArray::at(), oofem::PrescribedGradientBCNeumann::computeField(), oofem::ExportModule::emodel, oofem::EngngModel::giveCurrentStep(), oofem::FEMComponent::giveDomain(), oofem::PrescribedGradientHomogenization::giveGradientVoigt(), oofem::FEMComponent::giveNumber(), oofem::FloatArray::giveSize(), oofem::TimeStep::giveTargetTime(), outputGradient(), oofem::FloatArray::printYourself(), and oofem::XFEMDebugTools::WriteArrayToGnuplot().
void oofem::GnuplotExportModule::outputBoundaryCondition | ( | PrescribedGradientBCWeak & | iBC, |
TimeStep * | tStep | ||
) |
Definition at line 601 of file gnuplotexportmodule.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::FEInterpolation::boundaryGiveNodes(), oofem::PrescribedGradientBCWeak::computeField(), oofem::FloatArray::dotProduct(), oofem::ExportModule::emodel, oofem::Function::evaluate(), oofem::PrescribedGradientBCWeak::giveBoundaries(), oofem::DofManager::giveCoordinates(), oofem::EngngModel::giveCurrentStep(), oofem::Element::giveDofManager(), oofem::DofManager::giveDofWithID(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveElement(), oofem::PrescribedGradientHomogenization::giveGradientVoigt(), oofem::Element::giveInterpolation(), oofem::FEMComponent::giveNumber(), oofem::PrescribedGradientBCWeak::giveNumberOfTractionElements(), oofem::IntArray::giveSize(), oofem::FloatArray::giveSize(), oofem::TimeStep::giveTargetTime(), oofem::GeneralBoundaryCondition::giveTimeFunction(), oofem::PrescribedGradientBCWeak::giveTraction(), oofem::PrescribedGradientBCWeak::giveTractionElArcPos(), oofem::PrescribedGradientBCWeak::giveTractionElCoord(), oofem::PrescribedGradientBCWeak::giveTractionElNormal(), oofem::Dof::giveUnknown(), mExportBoundaryConditionsExtra, outputGradient(), oofem::FloatArray::printYourself(), oofem::FloatArray::push_back(), oofem::XFEMDebugTools::WriteArrayToGnuplot(), and WritePointsToGnuplot().
void oofem::GnuplotExportModule::outputGradient | ( | int | bc, |
Domain & | d, | ||
FloatArray & | grad, | ||
TimeStep * | tStep | ||
) |
Help functions.
Definition at line 827 of file gnuplotexportmodule.C.
References oofem::FloatArray::at(), oofem::Function::evaluateAtTime(), oofem::Domain::giveBc(), oofem::FloatArray::giveSize(), oofem::TimeStep::giveTargetTime(), oofem::GeneralBoundaryCondition::giveTimeFunction(), oofem::FloatArray::printYourself(), oofem::FloatArray::times(), and oofem::XFEMDebugTools::WriteArrayToGnuplot().
Referenced by outputBoundaryCondition().
Custom output for interface elements.
Definition at line 913 of file gnuplotexportmodule.C.
References oofem::ExportModule::emodel, oofem::IntegrationRule::getIntegrationPoint(), oofem::EngngModel::giveCurrentStep(), oofem::Element::giveDefaultIntegrationRulePtr(), oofem::Domain::giveElement(), oofem::GaussPoint::giveGlobalCoordinates(), oofem::GaussPoint::giveMaterialStatus(), oofem::Domain::giveNumberOfElements(), oofem::IntegrationRule::giveNumberOfIntegrationPoints(), oofem::StructuralInterfaceMaterialStatus::giveProjectedTraction(), oofem::TimeStep::giveTargetTime(), oofem::StructuralInterfaceMaterialStatus::giveTraction(), and oofem::FloatArray::push_back().
Referenced by doOutput().
void oofem::GnuplotExportModule::outputMesh | ( | Domain & | iDomain | ) |
Mesh output.
Definition at line 851 of file gnuplotexportmodule.C.
References oofem::IntArray::at(), oofem::ExportModule::emodel, oofem::EngngModel::giveCurrentStep(), oofem::Domain::giveElements(), oofem::Domain::giveNumberOfSpatialDimensions(), oofem::IntArray::giveSize(), oofem::TimeStep::giveTargetTime(), oofem::FloatArray::push_back(), and WritePointsToGnuplot().
Referenced by doOutput().
void oofem::GnuplotExportModule::outputNodeDisp | ( | DofManager & | iDMan, |
TimeStep * | tStep | ||
) |
Monitor node output.
Definition at line 896 of file gnuplotexportmodule.C.
References oofem::DofManager::giveCompleteUnknownVector(), mMonitorNodeDispHist, and WritePointsToGnuplot().
Referenced by doOutput().
|
protected |
Definition at line 195 of file gnuplotexportmodule.C.
References oofem::IntArray::at(), oofem::FloatArray::at(), oofem::StructuralEngngModel::buildReactionTable(), oofem::StructuralEngngModel::computeReaction(), oofem::ExportModule::emodel, oofem::BoundaryCondition::give(), oofem::Domain::giveBc(), oofem::Dof::giveBcId(), oofem::Domain::giveDofManager(), oofem::DofManager::giveDofWithID(), oofem::EngngModel::giveDomain(), oofem::Domain::giveNumberOfBoundaryConditions(), oofem::Domain::giveNumberOfSpatialDimensions(), oofem::IntArray::giveSize(), oofem::TimeStep::giveTargetTime(), max, mDispHist, mReactionForceHistory, OOFEM_ERROR, and oofem::ExportModule::testTimeStepOutput().
Referenced by doOutput().
void oofem::GnuplotExportModule::outputXFEM | ( | EnrichmentItem & | iEI, |
TimeStep * | tStep | ||
) |
XFEM output.
Definition at line 298 of file gnuplotexportmodule.C.
Referenced by oofem::Crack::callGnuplotExportModule().
Definition at line 303 of file gnuplotexportmodule.C.
References oofem::FloatArray::at(), oofem::Crack::computeLength(), oofem::BasicGeometry::computeTangentialSignDist(), oofem::ExportModule::emodel, oofem::Crack::giveCohesiveZoneArcPositions(), oofem::Crack::giveCohesiveZoneGaussPoints(), oofem::EngngModel::giveCurrentStep(), oofem::EngngModel::giveDomain(), oofem::EnrichmentItem::giveEnrichmentFrontEnd(), oofem::EnrichmentItem::giveEnrichmentFrontStart(), oofem::StructuralInterfaceMaterialStatus::giveFirstPKTraction(), oofem::GeometryBasedEI::giveGeometry(), oofem::GaussPoint::giveGlobalCoordinates(), oofem::StructuralInterfaceMaterialStatus::giveJump(), oofem::GaussPoint::giveMaterialStatus(), oofem::StructuralFE2MaterialStatus::giveNormal(), oofem::FEMComponent::giveNumber(), oofem::FloatArray::giveSize(), oofem::StructuralMaterialStatus::giveStressVector(), oofem::TimeStep::giveTargetTime(), oofem::EnrichmentFront::giveTipInfo(), oofem::Domain::giveXfemManager(), mCrackLengthHist, mMatForceRadii, mpMatForceEvaluator, mTimeHist, oofem::FloatArray::push_back(), oofem::XFEMDebugTools::WriteArrayToGnuplot(), and WritePointsToGnuplot().
void oofem::GnuplotExportModule::outputXFEMGeometry | ( | const std::vector< std::vector< FloatArray > > & | iEnrItemPoints | ) |
Definition at line 518 of file gnuplotexportmodule.C.
References oofem::ExportModule::emodel, oofem::EngngModel::giveCurrentStep(), oofem::TimeStep::giveTargetTime(), and WritePointsToGnuplot().
Referenced by doOutput().
|
virtual |
Terminates the receiver.
The terminating messages should be printed. All the streams should be closed.
Reimplemented from oofem::ExportModule.
Definition at line 188 of file gnuplotexportmodule.C.
|
static |
Definition at line 1049 of file gnuplotexportmodule.C.
Referenced by outputBoundaryCondition(), outputMesh(), outputNodeDisp(), outputXFEM(), and outputXFEMGeometry().
|
protected |
Store time history of crack lengths.
Definition at line 167 of file gnuplotexportmodule.h.
Referenced by outputXFEM().
|
protected |
Definition at line 154 of file gnuplotexportmodule.h.
Referenced by outputReactionForces().
|
protected |
Definition at line 140 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Definition at line 141 of file gnuplotexportmodule.h.
Referenced by initializeFrom(), and outputBoundaryCondition().
|
protected |
Definition at line 144 of file gnuplotexportmodule.h.
Referenced by initializeFrom().
|
protected |
Definition at line 145 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Definition at line 142 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Definition at line 139 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Definition at line 143 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Definition at line 162 of file gnuplotexportmodule.h.
Referenced by initializeFrom(), and outputXFEM().
|
protected |
Definition at line 148 of file gnuplotexportmodule.h.
Referenced by outputNodeDisp().
|
protected |
Definition at line 147 of file gnuplotexportmodule.h.
Referenced by doOutput(), and initializeFrom().
|
protected |
Evaluator for material forces.
Definition at line 161 of file gnuplotexportmodule.h.
Referenced by outputXFEM().
|
protected |
Stores the sum of reaction forces for each BC.
Definition at line 153 of file gnuplotexportmodule.h.
Referenced by outputReactionForces().
|
protected |
Definition at line 168 of file gnuplotexportmodule.h.
Referenced by doOutput(), and outputXFEM().