OOFEM 3.0
Loading...
Searching...
No Matches
oofem::InputRecord Class Referenceabstract

#include <inputrecord.h>

Inheritance diagram for oofem::InputRecord:
Collaboration diagram for oofem::InputRecord:

Public Member Functions

 InputRecord ()
 InputRecord (DataReader *reader_)
virtual ~InputRecord ()=default
 Destructor.
virtual std::shared_ptr< InputRecordclone () const =0
std::shared_ptr< InputRecordptr ()
virtual std::string giveRecordAsString () const =0
 Returns string representation of record in OOFEMs text format.
virtual std::string giveRecordInTXTFormat () const =0
virtual std::string giveLocation () const =0
Optional field extraction methods

Reads the field value identified by keyword

Parameters
answercontains result
idfield keyword
template<typename T>
void giveOptionalField (T &answer, InputFieldType id)
Child reader methods
virtual int giveGroupCount (InputFieldType id, const std::string &name, bool optional)=0
virtual bool hasChild (InputFieldType id, const std::string &name, bool optional)=0
virtual bool hasField (InputFieldType id)=0
 Returns true if record contains field identified by idString keyword.
virtual void printYourself ()=0
 Print input record.
virtual void finish (bool wrn=true)=0
 Terminates the current record session and if the flag is true, warning is printed for unscanned tokens.
DataReadergiveReader () const

Private Attributes

DataReaderreader = nullptr

Compulsory field extraction methods

Reads the field value identified by keyword

Parameters
answercontains result
idfield keyword
virtual void giveRecordKeywordField (std ::string &answer, int &value)=0
 Reads the record id field (type of record) and its corresponding number.
virtual void giveRecordKeywordField (std ::string &answer)=0
 Reads the record id field (type of record).
virtual void giveField (int &answer, InputFieldType id)=0
 Reads the integer field value.
virtual void giveField (double &answer, InputFieldType id)=0
 Reads the double field value.
virtual void giveField (bool &answer, InputFieldType id)=0
 Reads the bool field value.
virtual void giveField (std ::string &answer, InputFieldType id)=0
 Reads the string field value.
virtual void giveField (FloatArray &answer, InputFieldType id)=0
 Reads the FloatArray field value.
virtual void giveField (IntArray &answer, InputFieldType id)=0
 Reads the IntArray field value.
virtual void giveField (FloatMatrix &answer, InputFieldType id)=0
 Reads the FloatMatrix field value.
virtual void giveField (std ::vector< std ::string > &answer, InputFieldType id)=0
 Reads the vector of strings.
virtual void giveField (Dictionary &answer, InputFieldType id)=0
 Reads the Dictionary field value.
virtual void giveField (std ::list< Range > &answer, InputFieldType id)=0
 Reads the std::list<Range> field value.
virtual void giveField (ScalarFunction &function, InputFieldType id)=0
 Reads the ScalarFunction field value.
template<typename AnEnum>
void giveField (AnEnum &answer, InputFieldType id)
 Reads enumeration (must be defined via enum-impl.hpp) directly.
void traceField (InputFieldType id, const char *type) const
static std::string error_msg_with_hints (const std::string &val, const std::map< int, std::vector< std::string > > &v2nn)
static int giveLevenshteinDist (const std::string &word1, const std::string &word2)

Detailed Description

Class representing the general Input Record. The input record consists of several fields. Provides several requesting functions for reading field values. The derived classes of Input record can represent database records or text file records, allowing the transparent input operations. The input record after init phase should "contain" all relevant data, so the input record should resolve all dependencies. This allows to create a copy of input record instance for later use without the need to re-open input files (used for metasteps).

Definition at line 97 of file inputrecord.h.

Constructor & Destructor Documentation

◆ InputRecord() [1/2]

oofem::InputRecord::InputRecord ( )
inline

Definition at line 102 of file inputrecord.h.

Referenced by oofem::XMLInputRecord::XMLInputRecord().

◆ InputRecord() [2/2]

oofem::InputRecord::InputRecord ( DataReader * reader_)

Definition at line 140 of file inputrecord.C.

References reader.

◆ ~InputRecord()

virtual oofem::InputRecord::~InputRecord ( )
virtualdefault

Destructor.

Member Function Documentation

◆ clone()

◆ error_msg_with_hints()

std::string oofem::InputRecord::error_msg_with_hints ( const std::string & val,
const std::map< int, std::vector< std::string > > & v2nn )
static

Definition at line 91 of file inputrecord.C.

References giveLevenshteinDist().

Referenced by giveField(), and giveField().

◆ finish()

virtual void oofem::InputRecord::finish ( bool wrn = true)
pure virtual

Terminates the current record session and if the flag is true, warning is printed for unscanned tokens.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

References giveReader().

Referenced by oofem::AdditiveManufacturingProblem::instanciateYourself(), and oofem::ProblemSequence::instanciateYourself().

◆ giveField() [1/12]

template<typename AnEnum>
void oofem::InputRecord::giveField ( AnEnum & answer,
InputFieldType id )
inline

Reads enumeration (must be defined via enum-impl.hpp) directly.

Definition at line 154 of file inputrecord.h.

References error_msg_with_hints(), giveField(), giveLocation(), OOFEM_ERROR, and traceField().

◆ giveField() [2/12]

virtual void oofem::InputRecord::giveField ( bool & answer,
InputFieldType id )
pure virtual

Reads the bool field value.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveField() [3/12]

virtual void oofem::InputRecord::giveField ( Dictionary & answer,
InputFieldType id )
pure virtual

◆ giveField() [4/12]

virtual void oofem::InputRecord::giveField ( double & answer,
InputFieldType id )
pure virtual

Reads the double field value.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveField() [5/12]

virtual void oofem::InputRecord::giveField ( FloatArray & answer,
InputFieldType id )
pure virtual

◆ giveField() [6/12]

virtual void oofem::InputRecord::giveField ( FloatMatrix & answer,
InputFieldType id )
pure virtual

◆ giveField() [7/12]

◆ giveField() [8/12]

virtual void oofem::InputRecord::giveField ( IntArray & answer,
InputFieldType id )
pure virtual

◆ giveField() [9/12]

virtual void oofem::InputRecord::giveField ( ScalarFunction & function,
InputFieldType id )
pure virtual

◆ giveField() [10/12]

virtual void oofem::InputRecord::giveField ( std ::list< Range > & answer,
InputFieldType id )
pure virtual

Reads the std::list<Range> field value.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveField() [11/12]

virtual void oofem::InputRecord::giveField ( std ::string & answer,
InputFieldType id )
pure virtual

Reads the string field value.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveField() [12/12]

virtual void oofem::InputRecord::giveField ( std ::vector< std ::string > & answer,
InputFieldType id )
pure virtual

Reads the vector of strings.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveGroupCount()

virtual int oofem::InputRecord::giveGroupCount ( InputFieldType id,
const std::string & name,
bool optional )
pure virtual

◆ giveLevenshteinDist()

int oofem::InputRecord::giveLevenshteinDist ( const std::string & word1,
const std::string & word2 )
static

Definition at line 49 of file inputrecord.C.

Referenced by error_msg_with_hints(), and giveField().

◆ giveLocation()

◆ giveOptionalField()

◆ giveReader()

◆ giveRecordAsString()

virtual std::string oofem::InputRecord::giveRecordAsString ( ) const
pure virtual

Returns string representation of record in OOFEMs text format.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveRecordInTXTFormat()

virtual std::string oofem::InputRecord::giveRecordInTXTFormat ( ) const
pure virtual

◆ giveRecordKeywordField() [1/2]

virtual void oofem::InputRecord::giveRecordKeywordField ( std ::string & answer)
pure virtual

Reads the record id field (type of record).

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

◆ giveRecordKeywordField() [2/2]

virtual void oofem::InputRecord::giveRecordKeywordField ( std ::string & answer,
int & value )
pure virtual

◆ hasChild()

virtual bool oofem::InputRecord::hasChild ( InputFieldType id,
const std::string & name,
bool optional )
pure virtual

◆ hasField()

virtual bool oofem::InputRecord::hasField ( InputFieldType id)
pure virtual

Returns true if record contains field identified by idString keyword.

Implemented in oofem::DynamicInputRecord, oofem::OOFEMTXTInputRecord, and oofem::XMLInputRecord.

Referenced by giveOptionalField(), oofem::AbaqusUserMaterial::initializeFrom(), oofem::AdditiveManufacturingProblem::initializeFrom(), oofem::BoundaryCondition::initializeFrom(), oofem::BTSigmaTerm2::initializeFrom(), oofem::ConcreteDPM::initializeFrom(), oofem::ConcreteFCMViscoElastic::initializeFrom(), oofem::ConstantPressureLoad::initializeFrom(), oofem::Delamination::initializeFrom(), oofem::DGProblem::initializeFrom(), oofem::EigenValueDynamic::initializeFrom(), oofem::EngngModel::initializeFrom(), oofem::EnrichmentItem::initializeFrom(), oofem::ErrorCheckingExportModule::initializeFrom(), oofem::Eurocode2CreepMaterial::initializeFrom(), oofem::ExportModule::initializeFrom(), oofem::FCMMaterial::initializeFrom(), oofem::FRCFCM::initializeFrom(), oofem::GnuplotExportModule::initializeFrom(), oofem::HOMExportModule::initializeFrom(), oofem::HydratingHeMoMaterial::initializeFrom(), oofem::HydratingIsoHeatMaterial::initializeFrom(), oofem::HydrationModel::initializeFrom(), oofem::IncrementalLinearStatic::initializeFrom(), oofem::InitialCondition::initializeFrom(), oofem::IntElLine1PF::initializeFrom(), oofem::IntMatBilinearCZ::initializeFrom(), oofem::IntMatBilinearCZJansson::initializeFrom(), oofem::IsotropicDamageMaterial1::initializeFrom(), oofem::LatticeCrossSection::initializeFrom(), oofem::LatticePlasticityDamageViscoelastic::initializeFrom(), oofem::LinearStability::initializeFrom(), oofem::Load::initializeFrom(), oofem::MacroLSpace::initializeFrom(), oofem::Masonry02::initializeFrom(), oofem::MatlabExportModule::initializeFrom(), oofem::MDM::initializeFrom(), oofem::MetaStep::initializeFrom(), oofem::MPMProblem::initializeFrom(), oofem::MPSDamMaterial::initializeFrom(), oofem::MPSMaterial::initializeFrom(), oofem::NlDEIDynamic::initializeFrom(), oofem::NlIsoMoistureMaterial::initializeFrom(), oofem::NonLinearDynamic::initializeFrom(), oofem::NonLinearStatic::initializeFrom(), oofem::NonlocalMaterialExtensionInterface::initializeFrom(), oofem::NonStationaryTransportProblem::initializeFrom(), oofem::NRSolver::initializeFrom(), oofem::OutputManager::initializeFrom(), oofem::PiecewiseLinFunction::initializeFrom(), oofem::PulseFunction::initializeFrom(), oofem::PythonExpression::initializeFrom(), oofem::RCSDNLMaterial::initializeFrom(), oofem::RheoChainMaterial::initializeFrom(), oofem::Set::initializeFrom(), oofem::Shell7BaseXFEM::initializeFrom(), oofem::SimpleCrossSection::initializeFrom(), oofem::SimpleTransportCrossSection::initializeFrom(), oofem::StaggeredProblem::initializeFrom(), oofem::StaticStructural::initializeFrom(), oofem::StationaryTransportProblem::initializeFrom(), oofem::StepFunction::initializeFrom(), oofem::StructuralFE2Material::initializeFrom(), oofem::StructuralInterfaceCrossSection::initializeFrom(), oofem::StructuralMaterialEvaluator::initializeFrom(), oofem::StructuralSlipFE2Material::initializeFrom(), oofem::SUPG::initializeFrom(), oofem::SurfaceTensionBoundaryCondition::initializeFrom(), oofem::TransientTransportProblem::initializeFrom(), oofem::TransportGradientDirichlet::initializeFrom(), oofem::TransportGradientNeumann::initializeFrom(), oofem::VariableCrossSection::initializeFrom(), oofem::VTKXMLExportModule::initializeFrom(), oofem::WinklerPasternakMaterial::initializeFrom(), and oofem::NonLinearStatic::updateLoadVectors().

◆ printYourself()

virtual void oofem::InputRecord::printYourself ( )
pure virtual

◆ ptr()

◆ traceField()

Member Data Documentation

◆ reader

DataReader* oofem::InputRecord::reader = nullptr
private

Definition at line 99 of file inputrecord.h.

Referenced by giveReader(), and InputRecord().


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