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

#include <domain.h>

Collaboration diagram for oofem::Domain:

Public Member Functions

void setDofManager (int i, std::unique_ptr< DofManager > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setElement (int i, std::unique_ptr< Element > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setCrossSection (int i, std::unique_ptr< CrossSection > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setMaterial (int i, std::unique_ptr< Material > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setNonlocalBarrier (int i, std::unique_ptr< NonlocalBarrier > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setBoundaryCondition (int i, std::unique_ptr< GeneralBoundaryCondition > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setInitialCondition (int i, std::unique_ptr< InitialCondition > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setFunction (int i, std::unique_ptr< Function > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setSet (int i, std::unique_ptr< Set > obj)
 Sets i-th component. The component will be further managed and maintained by domain object.
void setXfemManager (std::unique_ptr< XfemManager > ipXfemManager)
 Temporary function, sets xfemManager.
XfemManagergiveXfemManager ()
bool hasXfemManager ()
FractureManagergiveFractureManager ()
bool hasFractureManager ()
BCTrackergiveBCTracker ()
void setTopology (TopologyDescription *topo, bool destroyOld=true)
void clearBoundaryConditions ()
 Clear all boundary conditions.
void clearElements ()
 Clear all elements.
void clear ()
 Clear receiver.
void saveContext (DataStream &stream, ContextMode mode)
void restoreContext (DataStream &stream, ContextMode mode)
const IntArraygiveDefaultNodeDofIDArry ()
domainType giveDomainType ()
 Returns domain type.
void setDomainType (domainType _dType)
 Sets domain type.
int checkConsistency ()
double giveArea ()
double giveVolume ()
double giveSize ()
int giveNextFreeDofID (int increment=1)
void resetFreeDofID ()
int giveMaxDofID ()
void setNextFreeDofID (int dofid)
ConnectivityTablegiveConnectivityTable ()
SpatialLocalizergiveSpatialLocalizer ()
void setSpatialLocalizer (std::unique_ptr< SpatialLocalizer > sl)
OutputManagergiveOutputManager ()
ErrorEstimatorgiveErrorEstimator ()
NodalRecoveryModelgiveSmoother ()
TopologyDescriptiongiveTopology ()
void setSmoother (NodalRecoveryModel *newSmoother, bool destroyOld=true)
Advanced domain manipulation methods.
void resizeDofManagers (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize dofManagers.
void resizeElements (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize elements.
void resizeCrossSectionModels (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize cross section models.
void resizeMaterials (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize materials.
void resizeNonlocalBarriers (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize nonlocal barriers.
void resizeBoundaryConditions (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize boundary conditions.
void resizeInitialConditions (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize initial conditions.
void resizeFunctions (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize load time functions.
void resizeSets (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize sets.
void resizeContactSurfaces (int _newSize)
 Resizes the internal data structure to accommodate space for _newSize sets.
void py_setDofManager (int i, DofManager *obj)
void py_setElement (int i, Element *obj)
void py_setCrossSection (int i, CrossSection *obj)
void py_setMaterial (int i, Material *obj)
void py_setNonlocalBarrier (int i, NonlocalBarrier *obj)
void py_setBoundaryCondition (int i, GeneralBoundaryCondition *obj)
void py_setInitialCondition (int i, InitialCondition *obj)
void py_setFunction (int i, Function *obj)
void py_setSet (int i, Set *obj)
Domain transaction support methods.

The purpose of these methods is to provide a unified approach for changing domain at runtime (meaning mainly adding and deleting dofmanagers and elements). The changes are recorded in transaction manager and until the are committed, no change is reflected in domain itself.

DomainTransactionManagergiveTransactionManager ()
int commitTransactions (DomainTransactionManager *tm)
void initGlobalDofManMap (bool forceinit=false)
void initGlobalElementMap (bool forceinit=false)
void renumberDofManagers ()
void renumberDofManData (DomainTransactionManager *tm)
void renumberElements ()
void renumberElementData (DomainTransactionManager *tm)
int LB_giveUpdatedLocalNumber (int oldnum, EntityRenumberingScheme scheme)
int LB_giveUpdatedGlobalNumber (int oldnum, EntityRenumberingScheme scheme)

Public Attributes

std ::vector< std ::unique_ptr< Element > > elementList
 Element list.
std ::vector< std ::unique_ptr< DofManager > > dofManagerList
 Dof manager list.
std ::vector< std ::unique_ptr< CrossSection > > crossSectionList
 Cross section list.
ParameterManager elementPPM
ParameterManager dofmanPPM
int freeDofID
 Keeps track of next free dof ID (for special Lagrange multipliers, XFEM and such).

Private Attributes

std ::vector< std ::unique_ptr< Material > > materialList
 Material list.
std ::vector< std ::unique_ptr< GeneralBoundaryCondition > > bcList
 Boundary condition list.
std ::vector< std ::unique_ptr< InitialCondition > > icList
 Initial condition list.
std ::vector< std ::unique_ptr< Function > > functionList
 Load time function list.
std ::vector< std ::unique_ptr< Set > > setList
 Set list.
std::vector< std::unique_ptr< ContactSurface > > contactSurfaceList
 Contact surface list.
std ::vector< std ::unique_ptr< NonlocalBarrier > > nonlocalBarrierList
 Nonlocal barrier list.
IntArray defaultNodeDofIDArry
 Default dofs for a node (depends on the domain type).
domainType dType
EngngModelengineeringModel
std ::unique_ptr< ConnectivityTableconnectivityTable
std ::unique_ptr< SpatialLocalizerspatialLocalizer
std ::unique_ptr< OutputManageroutputManager
 Output manager, allowing to filter the produced output.
int number
 Domain number.
int serialNumber
 Domain serial (version) number. Used for domain version identification during Adaptive computations.
int nsd
 Number of spatial dimensions.
bool axisymm
std ::unique_ptr< NodalRecoveryModelsmoother
 nodal recovery object associated to receiver.
std::string mDomainType
StateCounterType nonlocalUpdateStateCounter
std ::unique_ptr< XfemManagerxfemManager
 XFEM Manager.
std ::unique_ptr< FractureManagerfracManager
 Fracture Manager.
BCTracker bcTracker
 BC tracker (keeps track of BCs applied wia sets to components).
std::unordered_map< int, int > elementGlobal2LocalMap
std::unordered_map< int, int > dofmanGlobal2LocalMap
std::unordered_map< int, IntArraymaterialNum2ElMap
std ::unique_ptr< TopologyDescriptiontopology
 Topology description.
std ::unique_ptr< DomainTransactionManagertransactionManager
std ::map< int, DofManager * > dmanMap
 Global dof manager map (index is global of man number).
bool dmanMapInitialized
 dmanMap init flag.
std ::map< int, Element * > elementMap
 Global element map (index is global of man number).
bool elementMapInitialized
 dmanMap init flag.

Load Balancing data structures

std ::list< Element * > recvElemList
 List of received elements.
 Domain (int n, int serNum, EngngModel *e)
 Domain (const Domain &src)=delete
Domainoperator= (const Domain &src)=delete
 ~Domain ()
 Destructor.
int giveNumber ()
 Returns domain number.
void setNumber (int nn)
 Returns domain number.
int giveSerialNumber ()
 Returns domain serial (version) number.
ElementgiveElement (int n)
std ::vector< std ::unique_ptr< Element > > & giveElements ()
ElementgiveGlobalElement (int n)
int giveElementPlaceInArray (int iGlobalElNum) const
int giveDofManPlaceInArray (int iGlobalDofManNum) const
const IntArraygiveElementsWithMaterialNum (int iMaterialNum) const
ContactSurfacegiveContactSurface (int n)
std::vector< std::unique_ptr< ContactSurface > > & giveContactSurface ()
EngngModelgiveEngngModel ()
void SetEngngModel (EngngModel *ipEngngModel)
LoadgiveLoad (int n)
GeneralBoundaryConditiongiveBc (int n)
std ::vector< std ::unique_ptr< GeneralBoundaryCondition > > & giveBcs ()
InitialConditiongiveIc (int n)
std ::vector< std ::unique_ptr< InitialCondition > > & giveIcs ()
FunctiongiveFunction (int n)
std ::vector< std ::unique_ptr< Function > > & giveFunctions ()
MaterialgiveMaterial (int n)
std ::vector< std ::unique_ptr< Material > > & giveMaterials ()
CrossSectiongiveCrossSection (int n)
std ::vector< std ::unique_ptr< CrossSection > > & giveCrossSections ()
NonlocalBarriergiveNonlocalBarrier (int n)
SetgiveSet (int n)
std ::vector< std ::unique_ptr< Set > > & giveSets ()
NodegiveNode (int n)
ElementSidegiveSide (int n)
DofManagergiveDofManager (int n)
std ::vector< std ::unique_ptr< DofManager > > & giveDofManagers ()
DofManagergiveGlobalDofManager (int n)
int instanciateYourself (DataReader &dr)
int instanciateYourself (DataReader &dr, InputRecord &ir)
void initializeFinish ()
void postInitialize ()
void createDofs ()
int giveNumberOfDofManagers () const
 Returns number of dof managers in domain.
int giveNumberOfElements () const
 Returns number of elements in domain.
int giveNumberOfMaterialModels () const
 Returns number of material models in domain.
int giveNumberOfCrossSectionModels () const
 Returns number of cross section models in domain.
int giveNumberOfBoundaryConditions () const
 Returns number of boundary conditions in domain.
int giveNumberOfInitialConditions () const
 Returns number of initial conditions in domain.
int giveNumberOfFunctions () const
 Returns number of load time functions in domain.
int giveNumberOfRegions () const
 Returns number of regions. Currently regions corresponds to cross section models.
int giveNumberOfNonlocalBarriers () const
 Returns number of nonlocal integration barriers.
int giveNumberOfSets () const
 Returns number of sets.
int giveNumberOfContactSurfaces () const
 Returns number of contact surfaces.
int giveNumberOfSpatialDimensions ()
 Returns number of spatial dimensions.
bool isAxisymmetric ()
 Returns true of axisymmetry is in effect.

Load Balancing support methods

int dofmanGlobal2Local (int _globnum)
int elementGlobal2Local (int _globnum)
const char * giveClassName () const
 Returns class name of the receiver.
StateCounterType giveNonlocalUpdateStateCounter ()
 Returns the value of nonlocalUpdateStateCounter.
void setNonlocalUpdateStateCounter (StateCounterType val)
 sets the value of nonlocalUpdateStateCounter
void resolveDomainDofsDefaults (const char *)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).
void BuildElementPlaceInArrayMap ()
void BuildDofManPlaceInArrayMap ()
void BuildMaterialToElementMap ()

Detailed Description

Class and object Domain. Domain contains mesh description, or if program runs in parallel then it contains description of domain associated to particular processor or thread of execution. Generally, it contain and manages lists of Dof managers, elements, boundary conditions, cross sections and materials - these describe the geometry of problem, its constitutive properties and applied boundary conditions. Services for accessing these objects are provided. Domain is attribute of engineering model - which represent type of analysis which should be performed.

Domain also provides services for reading its description from input stream and instantiating corresponding components accordingly. The basic Domain task are following

  • Reading its description from input and creating corresponding objects.
  • Provides services for accessing its particular components.
  • Checking yourself.

Definition at line 120 of file domain.h.

Constructor & Destructor Documentation

◆ Domain() [1/2]

oofem::Domain::Domain ( int n,
int serNum,
EngngModel * e )
Todo
This seems like dead, old unused code. Remove it? / Mikael

Constructor. Creates empty n-th domain belonging to given engineering model.

Parameters
nDomain number.
serNumSerial number
eEngineering model domain will belong to.
See also
giveSerialNumber

Definition at line 97 of file domain.C.

References axisymm, bcTracker, defaultNodeDofIDArry, dmanMapInitialized, dofmanPPM, dType, elementMapInitialized, elementPPM, freeDofID, oofem::EngngModel::giveSuppressOutput(), oofem::MaxDofID, nonlocalUpdateStateCounter, nsd, oofem::EngngModel::number, and transactionManager.

Referenced by Domain(), and operator=().

◆ Domain() [2/2]

oofem::Domain::Domain ( const Domain & src)
delete

References Domain().

◆ ~Domain()

oofem::Domain::~Domain ( )

Destructor.

Definition at line 126 of file domain.C.

Member Function Documentation

◆ BuildDofManPlaceInArrayMap()

void oofem::Domain::BuildDofManPlaceInArrayMap ( )
private

Construct map from a dofman's global number to its place the dofman array.

Definition at line 1997 of file domain.C.

References dofmanGlobal2LocalMap, giveDofManager(), oofem::DofManager::giveGlobalNumber(), giveNumberOfDofManagers(), and OOFEM_ERROR.

Referenced by commitTransactions(), and instanciateYourself().

◆ BuildElementPlaceInArrayMap()

void oofem::Domain::BuildElementPlaceInArrayMap ( )
private

Construct map from an element's global number to its place the element array.

Definition at line 1979 of file domain.C.

References elementGlobal2LocalMap, giveElement(), oofem::Element::giveGlobalNumber(), giveNumberOfElements(), and OOFEM_ERROR.

Referenced by commitTransactions(), and instanciateYourself().

◆ BuildMaterialToElementMap()

void oofem::Domain::BuildMaterialToElementMap ( )
private

Construct map from a material number to elements with the given material number.

Definition at line 2015 of file domain.C.

References giveElement(), oofem::Element::giveMaterialNumber(), giveNumberOfElements(), and materialNum2ElMap.

Referenced by initializeFinish().

◆ checkConsistency()

int oofem::Domain::checkConsistency ( )

Checks internal consistency of domain and all domain components. The checkConsistency of all domain components is invoked.

Returns
nonzero if test is o.k.
See also
FEMComponent::checkConsistency

Definition at line 1460 of file domain.C.

References dofManagerList, elementList, and materialList.

◆ clear()

◆ clearBoundaryConditions()

void oofem::Domain::clearBoundaryConditions ( )

Clear all boundary conditions.

Definition at line 477 of file domain.C.

References bcList.

◆ clearElements()

void oofem::Domain::clearElements ( )

Clear all elements.

Definition at line 478 of file domain.C.

References elementList.

Referenced by oofem::PFEM::preInitializeNextStep().

◆ commitTransactions()

int oofem::Domain::commitTransactions ( DomainTransactionManager * tm)

Commits transactions recorded in transaction manager. The purpose of transaction manager is to make the domain modification (adding and deleting components) possible and versatile.

The changes are recorded in transaction manager and until the are committed, no change is reflected in domain itself. After transactions are committed, the local numbering can change. A message to the system is sent to update the numbering.

Parameters
tmManager to commit transactions to.
Todo
This is really quite bad. We shouldn't do unique ptrs like this (we have the same ptr in 2 different unique_ptrs!!!)

Definition at line 1710 of file domain.C.

References BuildDofManPlaceInArrayMap(), BuildElementPlaceInArrayMap(), dmanMap, dofManagerList, oofem::DomainTransactionManager::dofmanTransactions, elementList, elementMap, oofem::DomainTransactionManager::elementTransactions, giveConnectivityTable(), giveSpatialLocalizer(), initGlobalDofManMap(), initGlobalElementMap(), renumberDofManagers(), renumberDofManData(), renumberElementData(), and renumberElements().

Referenced by oofem::NonlocalMaterialWTP::migrate(), and oofem::LoadBalancer::migrateLoad().

◆ createDofs()

void oofem::Domain::createDofs ( )

Automatically detects necessary nodal dofs and creates them accordingly. Scans every element after its requested dof's and picks the union of all those dof types. Intenal DOF managers are not affected, as those are created by the corresponding element/bc.

Todo
This will eventually not be optional.
Todo
Remove this input method whenever we decide on deprecating the old approach.
Todo
This will eventually not be optional.
Todo
This will eventually not be optional.
Todo
Remove this input method whenever we decide on deprecating the old approach.

Definition at line 1275 of file domain.C.

References oofem::DofManager::appendDof(), oofem::IntArray::at(), oofem::classFactory, dofManagerList, elementList, giveBc(), oofem::DofManager::giveBcMap(), oofem::GeneralBoundaryCondition::giveDofIDs(), oofem::InitialCondition::giveDofIDs(), giveDofManager(), oofem::DofManager::giveDofTypeMap(), oofem::DofManager::giveDofWithID(), giveElement(), giveIc(), oofem::DofManager::giveIcMap(), oofem::Set::giveInternalElementDofManagerList(), oofem::DofManager::giveMasterMap(), oofem::Set::giveNodeList(), giveNumberOfBoundaryConditions(), giveNumberOfDofManagers(), giveNumberOfInitialConditions(), giveSet(), oofem::GeneralBoundaryCondition::giveSetNumber(), oofem::InitialCondition::giveSetNumber(), oofem::IntArray::giveSize(), oofem::DofManager::hasDofID(), hasXfemManager(), oofem::DofManager::isDofTypeCompatible(), OOFEM_ERROR, oofem::ActiveBoundaryCondition::requiresActiveDofs(), oofem::Dof::setBcId(), oofem::DofManager::setNumberOfDofs(), and xfemManager.

Referenced by postInitialize().

◆ dofmanGlobal2Local()

int oofem::Domain::dofmanGlobal2Local ( int _globnum)

◆ elementGlobal2Local()

int oofem::Domain::elementGlobal2Local ( int _globnum)

Definition at line 1967 of file domain.C.

References elementMap, and giveNumber().

Referenced by oofem::NonlocalMaterialWTP::fastRebuildNonlocalTables().

◆ errorInfo()

std::string oofem::Domain::errorInfo ( const char * func) const
private

Returns string for prepending output (used by error reporting macros).

Definition at line 1067 of file domain.C.

References number.

◆ giveArea()

double oofem::Domain::giveArea ( )

Gives the sum of the area of all elements.

Returns
Total area.

Definition at line 1486 of file domain.C.

References elementList.

◆ giveBc()

◆ giveBcs()

◆ giveBCTracker()

BCTracker * oofem::Domain::giveBCTracker ( )

◆ giveClassName()

const char * oofem::Domain::giveClassName ( ) const
inline

Returns class name of the receiver.

Definition at line 734 of file domain.h.

Referenced by oofem::AbaqusUserElement::giveInternalForcesVector().

◆ giveConnectivityTable()

◆ giveContactSurface() [1/2]

std::vector< std::unique_ptr< ContactSurface > > & oofem::Domain::giveContactSurface ( )
inline

Definition at line 325 of file domain.h.

◆ giveContactSurface() [2/2]

ContactSurface * oofem::Domain::giveContactSurface ( int n)

Service for accessing particular domain contact surface Generates error if no such contact surface is defined.

Parameters
nPointer to n-th contact surface is returned.

Definition at line 432 of file domain.C.

References contactSurfaceList, and OOFEM_ERROR.

Referenced by oofem::StructuralPenaltyContactBoundaryCondition::initializeFrom().

◆ giveCrossSection()

CrossSection * oofem::Domain::giveCrossSection ( int n)

Service for accessing particular domain cross section model. Generates error if no such cross section model is defined.

Parameters
nPointer to n-th cross section is returned.

Definition at line 342 of file domain.C.

References crossSectionList, and OOFEM_ERROR.

Referenced by initializeFinish(), oofem::Delamination::propagateFronts(), and oofem::PLCZdamageRadius::propagateInterface().

◆ giveCrossSections()

std ::vector< std ::unique_ptr< CrossSection > > & oofem::Domain::giveCrossSections ( )
inline

Definition at line 378 of file domain.h.

◆ giveDefaultNodeDofIDArry()

const IntArray & oofem::Domain::giveDefaultNodeDofIDArry ( )

Returns default DofID array which defines physical meaning of particular DOFs. of nodal dofs. Default values are determined using current domain type.

Definition at line 1074 of file domain.C.

References oofem::__domainTypeToString(), defaultNodeDofIDArry, dType, and OOFEM_ERROR.

◆ giveDofManager()

DofManager * oofem::Domain::giveDofManager ( int n)

Service for accessing particular domain dof manager. Generates error if no such dof manager is defined. Note: nodes and element sides share common numbering (they are numbered as DofManagers).

Parameters
nPointer to n-th dof manager is returned.

Definition at line 317 of file domain.C.

References dofManagerList, and OOFEM_ERROR.

Referenced by oofem::PrimaryField::applyBoundaryCondition(), oofem::SUPG::applyIC(), oofem::PrimaryField::applyInitialCondition(), oofem::EngngModel::assembleVectorFromBC(), oofem::EngngModel::assembleVectorFromDofManagers(), BuildDofManPlaceInArrayMap(), oofem::PetscSparseMtrx::buildInternalStructure(), oofem::StructuralEngngModel::buildReactionTable(), oofem::MatlabExportModule::computeArea(), oofem::PrescribedGradientBCWeak::computeDomainBoundingBox(), oofem::MaterialForceEvaluator::computeMaterialForce(), oofem::InteractionLoad::computeValueAt(), oofem::DGProblem::constructBoundaryEntities(), createDofs(), oofem::LoadBalancer::deleteRemoteDofManagers(), oofem::DofManExportModule::doOutput(), oofem::GnuplotExportModule::doOutput(), oofem::MatlabExportModule::doOutputData(), oofem::MatlabExportModule::doOutputReactionForces(), oofem::HuertaErrorEstimator::estimateError(), oofem::FreeWarping::estimateMaxPackSize(), oofem::LinearStatic::estimateMaxPackSize(), oofem::NlDEIDynamic::estimateMaxPackSize(), oofem::NonLinearDynamic::estimateMaxPackSize(), oofem::NonLinearStatic::estimateMaxPackSize(), oofem::StaticStructural::estimateMaxPackSize(), oofem::Subdivision::exchangeRemoteElements(), oofem::QClinearStatic::findNearestParticle(), oofem::InteractionPFEMParticle::giveCoupledVelocities(), oofem::DirectErrorIndicatorRC::giveDofManDensity(), oofem::DirectErrorIndicatorRC::giveDofManIndicator(), oofem::VelocityNumberingScheme::giveDofToEquationNumber(), oofem::MicroMaterial::giveMacroStiffnessMatrix(), oofem::InteractionPFEMParticle::givePrescribedUnknownVector(), oofem::Natural2GlobalOrdering::init(), oofem::Natural2LocalOrdering::init(), initializeFinish(), oofem::SolutionbasedShapeFunction::initializeSurfaceData(), LB_giveUpdatedLocalNumber(), oofem::LSPrimaryVariableMapper::mapPrimaryVariables(), oofem::EnrFrontLinearBranchFuncRadius::MarkNodesAsFront(), oofem::LoadBalancer::migrateLoad(), oofem::EngngModel::outputNodes(), oofem::GnuplotExportModule::outputReactionForces(), oofem::EngngModel::packDofManagers(), oofem::LoadBalancer::packMigratingData(), oofem::NonLinearDynamic::packMigratingData(), oofem::NonLinearStatic::packMigratingData(), oofem::NonlocalMaterialWTP::packRemoteElements(), oofem::Subdivision::packRemoteElements(), oofem::TransientTransportProblem::printOutputAt(), oofem::StructuralEngngModel::printReactionForces(), oofem::MicroMaterial::setMacroProperties(), oofem::QClinearStatic::setQCNodeType(), oofem::FETICommunicator::setUpCommunicationMaps(), oofem::NodeCommunicator::setUpCommunicationMaps(), oofem::HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), oofem::HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), oofem::HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), oofem::FreemInterface::smoothNodalDensities(), oofem::FluidStructureProblem::solveYourselfAt(), oofem::IncrementalLinearStatic::solveYourselfAt(), oofem::QClinearStatic::transformMeshToParticles(), oofem::EngngModel::unpackDofManagers(), oofem::NonLinearDynamic::unpackMigratingData(), oofem::NonLinearStatic::unpackMigratingData(), oofem::SUPG::updateDofUnknownsDictionary_corrector(), oofem::SUPG::updateDofUnknownsDictionary_predictor(), and oofem::QClinearStatic::updateNodeTypes().

◆ giveDofManagers()

◆ giveDofManPlaceInArray()

int oofem::Domain::giveDofManPlaceInArray ( int iGlobalDofManNum) const

Returns the array index of the dofman with global number iGlobalDofManNum, so that it can be fetched by calling giveDofManager. Returns -1 if not found.

Definition at line 201 of file domain.C.

References dofmanGlobal2LocalMap, and OOFEM_ERROR.

◆ giveDomainType()

domainType oofem::Domain::giveDomainType ( )
inline

Returns domain type.

Definition at line 601 of file domain.h.

References dType.

◆ giveElement()

Element * oofem::Domain::giveElement ( int n)

Service for accessing particular domain fe element. Generates error if no such element is defined.

Parameters
nPointer to n-th element is returned.

Definition at line 165 of file domain.C.

References elementList, and OOFEM_ERROR.

Referenced by oofem::AdditiveManufacturingProblem::add_element_if_not_exists2(), oofem::Quasicontinuum::addCrosssectionToInterpolationElements(), oofem::Quasicontinuum::applyApproach1(), oofem::Quasicontinuum::applyApproach2(), oofem::Quasicontinuum::applyApproach3(), oofem::EngngModel::assemble(), oofem::EngngModel::assemble(), oofem::Integral::assemble_lhs(), oofem::Integral::assemble_rhs(), oofem::NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), oofem::NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), oofem::DGProblem::assembleDirichletBcRhsVector(), oofem::DIIDynamic::assembleDirichletBcRhsVector(), oofem::NonStationaryTransportProblem::assembleDirichletBcRhsVector(), oofem::EngngModel::assembleExtrapolatedForces(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnReinfStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnTransferStress(), oofem::EngngModel::assemblePrescribedExtrapolatedForces(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorBStress(), oofem::EngngModel::assembleVectorFromBC(), oofem::EngngModel::assembleVectorFromElements(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorRStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorStress(), oofem::Subdivision::assignGlobalNumbersToElements(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::bisect(), BuildElementPlaceInArrayMap(), oofem::CompCol::buildInternalStructure(), oofem::DynCompCol::buildInternalStructure(), oofem::DynCompRow::buildInternalStructure(), oofem::Skyline::buildInternalStructure(), oofem::SkylineUnsym::buildInternalStructure(), oofem::SymCompCol::buildInternalStructure(), BuildMaterialToElementMap(), oofem::SolutionbasedShapeFunction::computeCorrectionFactors(), oofem::PrescribedDispSlipBCNeumannRC::computeInterfaceLength(), oofem::Quasicontinuum::computeIntersectionsOfLinkWith2DTringleElements(), oofem::Quasicontinuum::computeIntersectionsOfLinkWith3DTetrahedraElements(), oofem::NlDEIDynamic::computeMassMtrx(), oofem::MaterialForceEvaluator::computeMaterialForce(), oofem::PrescribedDispSlipBCNeumannRC::computeRebarDyad(), oofem::QClinearStatic::computeTotalVolumeOfInterpolationMesh(), oofem::PrescribedDispSlipBCNeumannRC::computeWeightMatrix(), oofem::DGProblem::constructBoundaryEntities(), createDofs(), oofem::Quasicontinuum::createGlobalStiffnesMatrix(), oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), oofem::PFEM::deactivateTooCloseParticles(), oofem::WallClockLoadBalancerMonitor::decide(), oofem::LoadBalancer::deleteRemoteElements(), oofem::GPInitModule::doInit(), oofem::PrescribedDispSlipBCDirichletRC::domainSize(), oofem::PrescribedDispSlipBCNeumannRC::domainSize(), oofem::PrescribedDispSlipHomogenization::domainSize(), oofem::PrescribedGradientHomogenization::domainSize(), oofem::TransportGradientPeriodic::domainSize(), oofem::VTKXMLExportModule::doOutput(), oofem::VTKXMLXFemExportModule::doOutput(), oofem::MatlabExportModule::doOutputIntegrationPointFields(), oofem::MatlabExportModule::doOutputMesh(), oofem::VTKXMLLatticeExportModule::doOutputNormal(), oofem::HuertaErrorEstimator::estimateError(), oofem::FreeWarping::estimateMaxPackSize(), oofem::LinearStatic::estimateMaxPackSize(), oofem::NlDEIDynamic::estimateMaxPackSize(), oofem::NonLinearDynamic::estimateMaxPackSize(), oofem::NonLinearStatic::estimateMaxPackSize(), oofem::StaticStructural::estimateMaxPackSize(), oofem::Subdivision::exchangeRemoteElements(), oofem::VTKBaseExportModule::exportCellVars(), oofem::VTKExportModule::exportCellVars(), oofem::VTKXMLExportModule::exportIntVarsInGpAs(), oofem::NonlocalMaterialWTP::fastRebuildNonlocalTables(), oofem::MITC4Shell::giveDirectorVectors(), oofem::NonlocalMaterialWTP::giveElementNonlocalDepArry(), oofem::Shell7Base::giveLayerContributionToSR(), oofem::DirectErrorIndicatorRC::giveLocalDofManDensity(), oofem::DirectErrorIndicatorRC::giveLocalDofManIndicator(), oofem::PFEM::giveNextStep(), oofem::NonlocalMaterialWTP::init(), oofem::QuadraticInterpolation::initializeCell(), oofem::Quasicontinuum::initializeConnectivityTableForInterpolationElements(), initializeFinish(), oofem::SolutionbasedShapeFunction::initializeSurfaceData(), oofem::QuasicontinuumVTKXMLExportModule::initRegionNodeNumbering(), oofem::VTKBaseExportModule::initRegionNodeNumbering(), oofem::VTKXMLLatticeExportModule::initRegionNodeNumbering(), oofem::VTKXMLPeriodicExportModule::initRegionNodeNumbering(), oofem::LEPlicElementInterface::isBoundary(), oofem::EIPrimaryUnknownMapper::mapAndUpdate(), oofem::LSPrimaryVariableMapper::mapPrimaryVariables(), oofem::NonlocalMaterialWTP::migrate(), oofem::LoadBalancer::migrateLoad(), oofem::IsotropicDamageMaterial1::MMI_map(), oofem::MDM::MMI_map(), oofem::GnuplotExportModule::outputBoundaryCondition(), oofem::EngngModel::outputElements(), oofem::GnuplotExportModule::outputInterfaceEl(), oofem::LoadBalancer::packMigratingData(), oofem::NonlocalMaterialWTP::packMigratingElementDependencies(), oofem::EngngModel::packRemoteElementData(), oofem::NonlocalMaterialWTP::packRemoteElements(), oofem::Subdivision::packRemoteElements(), oofem::Delamination::propagateFronts(), oofem::PLCZdamageRadius::propagateInterface(), oofem::PLHoopStressCirc::propagateInterface(), oofem::PLPrincipalStrain::propagateInterface(), oofem::RefinedElement::RefinedElement(), oofem::RefinedMesh::refineMeshGlobally(), oofem::REGISTER_EnrichmentFront(), oofem::QClinearStatic::setRepNodesInVerticesOfInterpolationMesh(), oofem::ElementCommunicator::setUpCommunicationMaps(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), oofem::VTKBaseExportModule::setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), oofem::VTKXMLPeriodicExportModule::setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPieceCross(), oofem::FreemInterface::smoothNodalDensities(), oofem::DEIDynamic::solveYourselfAt(), oofem::DIIDynamic::timesMtrx(), oofem::NonLinearDynamic::timesMtrx(), and oofem::EngngModel::unpackRemoteElementData().

◆ giveElementPlaceInArray()

int oofem::Domain::giveElementPlaceInArray ( int iGlobalElNum) const

Returns the array index of the element with global number iGlobalElNum, so that it can be fetched by calling giveElement. Returns -1 if not found.

Definition at line 188 of file domain.C.

References elementGlobal2LocalMap, and OOFEM_ERROR.

Referenced by oofem::MaterialForceEvaluator::computeMaterialForce(), oofem::XfemElementInterface::XfemElementInterface_updateIntegrationRule(), and oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().

◆ giveElements()

std ::vector< std ::unique_ptr< Element > > & oofem::Domain::giveElements ( )
inline

Definition at line 294 of file domain.h.

Referenced by oofem::DGProblem::applyIC(), oofem::MPMProblem::applyIC(), oofem::NLTransientTransportProblem::applyIC(), oofem::NonStationaryTransportProblem::applyIC(), oofem::PFEM::applyIC(), oofem::SUPG::applyIC(), oofem::TransientTransportProblem::applyIC(), oofem::NonLinearDynamic::assemble(), oofem::NonLinearStatic::assemble(), oofem::Subdivision::assignGlobalNumbersToElements(), oofem::HOMExportModule::average(), oofem::CompCol::buildInternalStructure(), oofem::DynCompCol::buildInternalStructure(), oofem::DynCompRow::buildInternalStructure(), oofem::PetscSparseMtrx::buildInternalStructure(), oofem::PetscSparseMtrx::buildInternalStructure(), oofem::Skyline::buildInternalStructure(), oofem::SymCompCol::buildInternalStructure(), oofem::CBS::checkConsistency(), oofem::NonStationaryTransportProblem::checkConsistency(), oofem::PFEM::checkConsistency(), oofem::StationaryTransportProblem::checkConsistency(), oofem::StokesFlow::checkConsistency(), oofem::StructuralEngngModel::checkConsistency(), oofem::SUPG::checkConsistency(), oofem::MatlabExportModule::computeArea(), oofem::NlDEIDynamic::computeMassMtrx(), oofem::StokesFlowVelocityHomogenization::computeTangent(), oofem::CrackExportModule::doOutput(), oofem::GPExportModule::doOutput(), oofem::VTKExportModule::doOutput(), oofem::MatlabExportModule::doOutputMesh(), oofem::EngngModel::drawElements(), oofem::SUPG::evaluateElementStabilizationCoeffs(), oofem::VTKExportModule::exportCellVars(), oofem::EngngModel::forceEquationNumbering(), oofem::FluidModel::forceEquationNumbering(), oofem::CBS::giveNextStep(), oofem::SUPG::giveNextStep(), oofem::DofGrouping::giveTotalLocationArray(), oofem::VTKExportModule::giveTotalRBRNumberOfNodes(), oofem::VTKExportModule::initRegionNodeNumbering(), oofem::EngngModel::outputElements(), oofem::GnuplotExportModule::outputMesh(), oofem::PFEM::preInitializeNextStep(), oofem::LinearStability::printOutputAt(), oofem::XfemSolverInterface::propagateXfemInterfaces(), oofem::PrimaryField::readFromDofDictionaries(), oofem::SolutionbasedShapeFunction::setLoads(), oofem::NonLinearDynamic::showSparseMtrxStructure(), oofem::NonLinearStatic::showSparseMtrxStructure(), oofem::StructuralEngngModel::showSparseMtrxStructure(), oofem::StationaryTransportProblem::solveYourselfAt(), oofem::PrimaryField::storeInDofDictionaries(), oofem::LinearStability::terminateLinStatic(), oofem::EigenVectorPrimaryField::updateAll(), oofem::StokesFlow::updateComponent(), oofem::SUPG::updateComponent(), oofem::NonlocalMaterialExtensionInterface::updateDomainBeforeNonlocAverage(), oofem::SUPG::updateElementsForNewInterfacePosition(), oofem::StokesFlow::updateSolution(), oofem::SUPG::updateSolution(), oofem::SUPG::updateSolutionVectors(), oofem::SUPG::updateSolutionVectors_predictor(), and oofem::ErrorCheckingExportModule::writeCheck().

◆ giveElementsWithMaterialNum()

const IntArray & oofem::Domain::giveElementsWithMaterialNum ( int iMaterialNum) const

Returns array with indices of elements that have a given material number.

Definition at line 214 of file domain.C.

References materialNum2ElMap, and OOFEM_ERROR.

Referenced by oofem::Element::mapStateVariables(), and oofem::Quasicontinuum::setupInterpolationMesh().

◆ giveEngngModel()

EngngModel * oofem::Domain::giveEngngModel ( )

Returns engineering model to which receiver is associated.

Definition at line 419 of file domain.C.

References engineeringModel, and OOFEM_ERROR.

Referenced by oofem::Quasicontinuum::applyApproach2(), oofem::Quasicontinuum::applyApproach3(), oofem::NonLinearStatic::assembleIncrementalReferenceLoadVectors(), oofem::BeamElementErrorCheckingRule::check(), oofem::EigenValueErrorCheckingRule::check(), oofem::ElementErrorCheckingRule::check(), oofem::InternalElementDofManErrorCheckingRule::check(), oofem::LoadLevelErrorCheckingRule::check(), oofem::NodeErrorCheckingRule::check(), oofem::ReactionErrorCheckingRule::check(), oofem::GradientDamageElement::computeStiffnessMatrix_du(), oofem::GradDpElement::computeStiffnessMatrix_ku(), oofem::GradientDamageElement::computeStiffnessMatrix_ud(), oofem::GradDpElement::computeStiffnessMatrix_uk(), oofem::GradDpElement::computeStiffnessMatrix_uu(), oofem::GradientDamageElement::computeStiffnessMatrix_uu(), oofem::GradientDamageElement::computeStressVector_and_localDamageDrivingVariable(), oofem::GradDpElement::computeStressVectorAndLocalCumulatedStrain(), oofem::T3DInterface::createInput(), oofem::LoadBalancer::deleteRemoteDofManagers(), oofem::LoadBalancer::deleteRemoteElements(), oofem::MatlabExportModule::doOutputReactionForces(), oofem::HuertaErrorEstimator::estimateError(), oofem::DirectErrorIndicatorRC::estimateMeshDensities(), oofem::Subdivision::exchangeRemoteElements(), oofem::BeamElementErrorCheckingRule::getValue(), oofem::EigenValueErrorCheckingRule::getValue(), oofem::ElementErrorCheckingRule::getValue(), oofem::InternalElementDofManErrorCheckingRule::getValue(), oofem::LoadLevelErrorCheckingRule::getValue(), oofem::NodeErrorCheckingRule::getValue(), oofem::ReactionErrorCheckingRule::getValue(), oofem::SADGBoundaryElement::giveCharacteristicMatrix(), oofem::GradientDamageElement::giveInternalForcesVector_u(), oofem::GradDpElement::giveLocalInternalForcesVector(), oofem::MicroMaterial::giveMacroStiffnessMatrix(), oofem::NonlocalMaterialWTP::init(), oofem::QuasicontinuumVTKXMLExportModule::initRegionNodeNumbering(), instanciateYourself(), oofem::ParallelOrdering::isLocal(), oofem::EIPrimaryUnknownMapper::mapAndUpdate(), oofem::LSPrimaryVariableMapper::mapPrimaryVariables(), oofem::NonlocalMaterialWTP::migrate(), oofem::LoadBalancer::migrateLoad(), oofem::LoadBalancer::packMigratingData(), oofem::NonlocalMaterialWTP::packMigratingElementDependencies(), oofem::NonlocalMaterialWTP::packRemoteElements(), oofem::Subdivision::packRemoteElements(), oofem::ClonedDofManager::printOutputAt(), oofem::PLMaterialForce::propagateInterface(), oofem::MicroMaterial::setMacroProperties(), oofem::PatchIntegrationRule::SetUpPointsOnTriangle(), oofem::PatchIntegrationRule::SetUpPointsOnWedge(), oofem::HuertaErrorEstimator::setupRefinedProblemEpilog2(), oofem::Tr21Stokes::Tr21Stokes(), oofem::LoadBalancer::unpackMigratingData(), oofem::NonlocalMaterialWTP::unpackMigratingElementDependencies(), oofem::NonlocalMaterialWTP::unpackRemoteElements(), oofem::Subdivision::unpackRemoteElements(), and oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().

◆ giveErrorEstimator()

ErrorEstimator * oofem::Domain::giveErrorEstimator ( )

Returns Error Estimator associated to receiver. Calls corresponding EngngModel Service.

Definition at line 1537 of file domain.C.

References engineeringModel, and number.

Referenced by oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), oofem::Targe2Interface::createInput(), restoreContext(), and saveContext().

◆ giveFractureManager()

FractureManager * oofem::Domain::giveFractureManager ( )

Definition at line 402 of file domain.C.

References fracManager, and OOFEM_ERROR.

◆ giveFunction()

Function * oofem::Domain::giveFunction ( int n)

Service for accessing particular domain load time function. Generates error if no such load time function is defined.

Parameters
nPointer to n-th load time function is returned.

Definition at line 271 of file domain.C.

References functionList, and OOFEM_ERROR.

Referenced by oofem::RandomMaterialExtensionInterface::_generateStatusVariables(), oofem::TransportElement::computeVof(), oofem::ScalarFunction::eval(), oofem::SUPG::giveNextStep(), oofem::FluidMaterialEvaluator::solveYourself(), and oofem::StructuralMaterialEvaluator::solveYourself().

◆ giveFunctions()

std ::vector< std ::unique_ptr< Function > > & oofem::Domain::giveFunctions ( )
inline

Definition at line 364 of file domain.h.

◆ giveGlobalDofManager()

DofManager * oofem::Domain::giveGlobalDofManager ( int n)

Service for accessing particular domain dof manager. Generates error if no such element is defined.

Parameters
nPointer to the element with id n

Definition at line 329 of file domain.C.

References dofManagerList.

Referenced by oofem::NodeErrorCheckingRule::check(), and oofem::NodeErrorCheckingRule::getValue().

◆ giveGlobalElement()

Element * oofem::Domain::giveGlobalElement ( int n)

Service for accessing particular domain fe element. Generates error if no such element is defined.

Parameters
nPointer to the element with id n

Definition at line 176 of file domain.C.

References elementList.

Referenced by oofem::BeamElementErrorCheckingRule::check(), oofem::ElementErrorCheckingRule::check(), oofem::InternalElementDofManErrorCheckingRule::check(), oofem::BeamElementErrorCheckingRule::getValue(), oofem::ElementErrorCheckingRule::getValue(), and oofem::InternalElementDofManErrorCheckingRule::getValue().

◆ giveIc()

InitialCondition * oofem::Domain::giveIc ( int n)

Service for accessing particular domain ic. Generates error if no such ic is defined.

Parameters
nPointer to n-th ic is returned.

Definition at line 258 of file domain.C.

References icList, and OOFEM_ERROR.

Referenced by oofem::PrimaryField::applyDefaultInitialCondition(), and createDofs().

◆ giveIcs()

std ::vector< std ::unique_ptr< InitialCondition > > & oofem::Domain::giveIcs ( )
inline

Definition at line 356 of file domain.h.

Referenced by oofem::CBS::checkConsistency(), and oofem::SUPG::checkConsistency().

◆ giveLoad()

Load * oofem::Domain::giveLoad ( int n)

Service for accessing particular domain load. Generates error if no such load is defined.

Parameters
nPointer to n-th load is returned.

Definition at line 226 of file domain.C.

References bcList, and OOFEM_ERROR.

Referenced by oofem::EngngModel::assembleVectorFromDofManagers(), oofem::EngngModel::assembleVectorFromElements(), and oofem::PFEM::solveYourselfAt().

◆ giveMaterial()

◆ giveMaterials()

std ::vector< std ::unique_ptr< Material > > & oofem::Domain::giveMaterials ( )
inline

◆ giveMaxDofID()

int oofem::Domain::giveMaxDofID ( )
inline

Gives the current maximum dof ID used.

Definition at line 641 of file domain.h.

Referenced by oofem::EngngModel::assembleVector(), and oofem::StationaryMPMSProblem::updateComponent().

◆ giveNextFreeDofID()

◆ giveNode()

Node * oofem::Domain::giveNode ( int n)
inline

Service for accessing particular domain node. Generates error if no such node is defined. Note: nodes and element sides share common numbering (they are numbered as DofManagers).

Parameters
nPointer to n-th node is returned.

Definition at line 398 of file domain.h.

References dofManagerList, and OOFEM_ERROR.

Referenced by oofem::ReactionErrorCheckingRule::check(), oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), oofem::VTKExportModule::doOutput(), oofem::VTKPFEMXMLExportModule::doOutput(), oofem::ClosestNode::evaluate(), oofem::InsertNode::evaluate(), oofem::VTKBaseExportModule::exportExternalForces(), oofem::VTKExportModule::exportIntVarAs(), oofem::VTKBaseExportModule::exportIntVars(), oofem::VTKXMLLatticeExportModule::exportIntVars(), oofem::VTKXMLPeriodicExportModule::exportIntVars(), oofem::VTKXMLXFemExportModule::exportIntVars2(), oofem::VTKBaseExportModule::exportPrimaryVars(), oofem::VTKXMLLatticeExportModule::exportPrimaryVars(), oofem::VTKXMLPeriodicExportModule::exportPrimaryVars(), oofem::VTKExportModule::exportPrimVarAs(), oofem::ReactionErrorCheckingRule::getValue(), oofem::LIBeam3d2::giveLocalCoordinateSystem(), oofem::LIBeam3dNL2::giveLocalCoordinateSystem(), oofem::LIBeam3dNL::giveLocalCoordinateSystem(), oofem::EIPrimaryUnknownMapper::mapAndUpdate(), oofem::PLCZdamageRadius::propagateInterface(), oofem::PLnodeRadius::propagateInterface(), oofem::QClinearStatic::setActivatedNodeList(), oofem::MicroMaterial::setMacroProperties(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), oofem::VTKBaseExportModule::setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), oofem::VTKXMLPeriodicExportModule::setupVTKPiece(), and oofem::GeometryBasedEI::updateLevelSets().

◆ giveNonlocalBarrier()

NonlocalBarrier * oofem::Domain::giveNonlocalBarrier ( int n)

Service for accessing particular domain nonlocal barrier representation. Generates error if no such barrier model is defined.

Parameters
nPointer to n-th barrier is returned.

Definition at line 354 of file domain.C.

References nonlocalBarrierList, and OOFEM_ERROR.

◆ giveNonlocalUpdateStateCounter()

StateCounterType oofem::Domain::giveNonlocalUpdateStateCounter ( )
inline

Returns the value of nonlocalUpdateStateCounter.

Definition at line 737 of file domain.h.

Referenced by oofem::NonlocalMaterialExtensionInterface::updateDomainBeforeNonlocAverage().

◆ giveNumber()

◆ giveNumberOfBoundaryConditions()

◆ giveNumberOfContactSurfaces()

int oofem::Domain::giveNumberOfContactSurfaces ( ) const
inline

Returns number of contact surfaces.

Definition at line 481 of file domain.h.

References contactSurfaceList.

◆ giveNumberOfCrossSectionModels()

int oofem::Domain::giveNumberOfCrossSectionModels ( ) const
inline

Returns number of cross section models in domain.

Definition at line 467 of file domain.h.

References crossSectionList.

Referenced by oofem::Quasicontinuum::addCrosssectionToInterpolationElements(), giveNumberOfRegions(), and initializeFinish().

◆ giveNumberOfDofManagers()

int oofem::Domain::giveNumberOfDofManagers ( ) const
inline

Returns number of dof managers in domain.

Definition at line 461 of file domain.h.

References dofManagerList.

Referenced by oofem::Quasicontinuum::applyApproach2(), oofem::Quasicontinuum::applyApproach3(), oofem::SUPG::applyIC(), oofem::EngngModel::assembleVectorFromDofManagers(), BuildDofManPlaceInArrayMap(), oofem::PetscSparseMtrx::buildInternalStructure(), oofem::StructuralEngngModel::buildReactionTable(), oofem::MatlabExportModule::computeArea(), oofem::PrescribedGradientBCWeak::computeDomainBoundingBox(), oofem::DGProblem::constructBoundaryEntities(), createDofs(), oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), oofem::LoadBalancer::deleteRemoteDofManagers(), oofem::DofManValueField::DofManValueField(), oofem::DofManExportModule::doOutput(), oofem::VTKExportModule::doOutput(), oofem::VTKPFEMXMLExportModule::doOutput(), oofem::MatlabExportModule::doOutputReactionForces(), oofem::HuertaErrorEstimator::estimateError(), oofem::DirectErrorIndicatorRC::estimateMeshDensities(), oofem::Subdivision::exchangeRemoteElements(), oofem::VTKExportModule::exportIntVarAs(), oofem::VTKXMLLatticeExportModule::exportIntVars(), oofem::VTKXMLPeriodicExportModule::exportIntVars(), oofem::POIExportModule::exportPrimaryVars(), oofem::VTKXMLLatticeExportModule::exportPrimaryVars(), oofem::VTKXMLPeriodicExportModule::exportPrimaryVars(), oofem::VTKExportModule::exportPrimVarAs(), oofem::QClinearStatic::findNearestParticle(), oofem::VelocityNumberingScheme::giveDofToEquationNumber(), oofem::VTKExportModule::giveTotalRBRNumberOfNodes(), oofem::Natural2GlobalOrdering::init(), oofem::Natural2LocalOrdering::init(), oofem::QuadraticInterpolation::initializeCell(), oofem::QuasicontinuumVTKXMLExportModule::initRegionNodeNumbering(), oofem::VTKBaseExportModule::initRegionNodeNumbering(), oofem::VTKExportModule::initRegionNodeNumbering(), oofem::VTKXMLLatticeExportModule::initRegionNodeNumbering(), oofem::VTKXMLPeriodicExportModule::initRegionNodeNumbering(), oofem::EIPrimaryUnknownMapper::mapAndUpdate(), oofem::EnrFrontLinearBranchFuncRadius::MarkNodesAsFront(), oofem::LoadBalancer::migrateLoad(), oofem::LoadBalancer::packMigratingData(), oofem::NonLinearDynamic::packMigratingData(), oofem::NonLinearStatic::packMigratingData(), oofem::TransientTransportProblem::printOutputAt(), oofem::RefinedMesh::refineMeshGlobally(), oofem::REGISTER_EnrichmentFront(), oofem::MicroMaterial::setMacroProperties(), oofem::QClinearStatic::setQCNodeType(), oofem::FETICommunicator::setUpCommunicationMaps(), oofem::NodeCommunicator::setUpCommunicationMaps(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), oofem::VTKXMLPeriodicExportModule::setupVTKPiece(), oofem::FreemInterface::smoothNodalDensities(), oofem::FluidStructureProblem::solveYourselfAt(), oofem::IncrementalLinearStatic::solveYourselfAt(), oofem::LinearStability::terminateLinStatic(), oofem::NonLinearDynamic::unpackMigratingData(), oofem::NonLinearStatic::unpackMigratingData(), oofem::SUPG::updateDofUnknownsDictionary_corrector(), oofem::SUPG::updateDofUnknownsDictionary_predictor(), and oofem::QClinearStatic::updateNodeTypes().

◆ giveNumberOfElements()

int oofem::Domain::giveNumberOfElements ( ) const
inline

Returns number of elements in domain.

Definition at line 463 of file domain.h.

References elementList.

Referenced by oofem::Quasicontinuum::applyApproach2(), oofem::Quasicontinuum::applyApproach3(), oofem::EngngModel::assemble(), oofem::EngngModel::assemble(), oofem::NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), oofem::NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), oofem::DGProblem::assembleDirichletBcRhsVector(), oofem::DIIDynamic::assembleDirichletBcRhsVector(), oofem::NonStationaryTransportProblem::assembleDirichletBcRhsVector(), oofem::EngngModel::assembleExtrapolatedForces(), oofem::EngngModel::assemblePrescribedExtrapolatedForces(), oofem::EngngModel::assembleVectorFromElements(), oofem::Subdivision::assignGlobalNumbersToElements(), BuildElementPlaceInArrayMap(), oofem::SkylineUnsym::buildInternalStructure(), BuildMaterialToElementMap(), oofem::HuertaErrorEstimator::buildRefinedMesh(), oofem::NlDEIDynamic::computeMassMtrx(), oofem::QClinearStatic::computeTotalVolumeOfInterpolationMesh(), oofem::DGProblem::constructBoundaryEntities(), oofem::Quasicontinuum::createGlobalStiffnesMatrix(), oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), oofem::Quasicontinuum::createInterpolationElements(), oofem::PFEM::deactivateTooCloseParticles(), oofem::WallClockLoadBalancerMonitor::decide(), oofem::LoadBalancer::deleteRemoteElements(), oofem::GPInitModule::doInit(), oofem::HuertaErrorEstimator::estimateError(), oofem::Subdivision::exchangeRemoteElements(), oofem::NonlocalMaterialWTP::fastRebuildNonlocalTables(), oofem::PFEM::giveNextStep(), oofem::NonlocalMaterialWTP::init(), oofem::LSPrimaryVariableMapper::mapPrimaryVariables(), oofem::NonlocalMaterialWTP::migrate(), oofem::LoadBalancer::migrateLoad(), oofem::IsotropicDamageMaterial1::MMI_map(), oofem::MDM::MMI_map(), oofem::GnuplotExportModule::outputInterfaceEl(), oofem::LoadBalancer::packMigratingData(), oofem::NonlocalMaterialWTP::packMigratingElementDependencies(), oofem::Subdivision::packRemoteElements(), oofem::PFEM::preInitializeNextStep(), oofem::RefinedMesh::refineMeshGlobally(), oofem::QClinearStatic::setRepNodesInVerticesOfInterpolationMesh(), oofem::ElementCommunicator::setUpCommunicationMaps(), oofem::Quasicontinuum::setupInterpolationMesh(), oofem::DEIDynamic::solveYourselfAt(), oofem::StokesFlow::solveYourselfAt(), oofem::LinearStability::terminateLinStatic(), oofem::DIIDynamic::timesMtrx(), and oofem::NonLinearDynamic::timesMtrx().

◆ giveNumberOfFunctions()

◆ giveNumberOfInitialConditions()

int oofem::Domain::giveNumberOfInitialConditions ( ) const
inline

Returns number of initial conditions in domain.

Definition at line 471 of file domain.h.

References icList.

Referenced by oofem::AdditiveManufacturingProblem::add_node_if_not_exists2(), and createDofs().

◆ giveNumberOfMaterialModels()

◆ giveNumberOfNonlocalBarriers()

int oofem::Domain::giveNumberOfNonlocalBarriers ( ) const
inline

Returns number of nonlocal integration barriers.

Definition at line 477 of file domain.h.

References nonlocalBarrierList.

◆ giveNumberOfRegions()

int oofem::Domain::giveNumberOfRegions ( ) const
inline

Returns number of regions. Currently regions corresponds to cross section models.

Definition at line 475 of file domain.h.

References giveNumberOfCrossSectionModels().

Referenced by oofem::oofegGraphicContext::init(), and oofem::NonlocalMaterialExtensionInterface::NonlocalMaterialExtensionInterface().

◆ giveNumberOfSets()

◆ giveNumberOfSpatialDimensions()

int oofem::Domain::giveNumberOfSpatialDimensions ( )

Returns number of spatial dimensions.

Definition at line 1137 of file domain.C.

References nsd.

Referenced by oofem::Quasicontinuum::applyApproach3(), oofem::MatlabExportModule::computeArea(), oofem::PrescribedGradientBCWeak::computeDomainBoundingBox(), oofem::Quasicontinuum::computeIntersectionsOfLinkWithInterpElements(), oofem::SurfaceTensionBoundaryCondition::computeLoadVectorFromElement(), oofem::FRCFCMNL::computeNonlocalStressInFibers(), oofem::StokesFlowVelocityHomogenization::computeTangent(), oofem::SurfaceTensionBoundaryCondition::computeTangentFromElement(), oofem::QClinearStatic::computeTotalVolumeOfInterpolationMesh(), oofem::PrescribedDispSlipHomogenization::domainSize(), oofem::PrescribedGenStrainShell7::domainSize(), oofem::PrescribedGradientHomogenization::domainSize(), oofem::TransportGradientPeriodic::domainSize(), oofem::MatlabExportModule::doOutput(), oofem::MatlabExportModule::doOutputMesh(), oofem::AuxVelocityNumberingScheme::giveDofEquationNumber(), oofem::MixedGradientPressureNeumann::integrateDevTangent(), oofem::PrescribedGradientBCNeumann::integrateTangent(), oofem::PrescribedDispSlipBCNeumannRC::integrateTangentRStressConcrete(), oofem::PrescribedDispSlipBCNeumannRC::integrateTangentStress(), oofem::MixedGradientPressureNeumann::integrateVolTangent(), oofem::LSPrimaryVariableMapper::mapPrimaryVariables(), oofem::MixedGradientPressureDirichlet::MixedGradientPressureDirichlet(), oofem::MixedGradientPressureNeumann::MixedGradientPressureNeumann(), oofem::GnuplotExportModule::outputMesh(), oofem::GnuplotExportModule::outputReactionForces(), oofem::PrescribedDispSlipBCNeumannRC::PrescribedDispSlipBCNeumannRC(), oofem::PrescribedGradientBCNeumann::PrescribedGradientBCNeumann(), oofem::PrescribedGradientBCPeriodic::PrescribedGradientBCPeriodic(), oofem::Quasicontinuum::setNoDimensions(), oofem::TransportGradientNeumann::TransportGradientNeumann(), and oofem::TransportGradientPeriodic::TransportGradientPeriodic().

◆ giveOutputManager()

OutputManager * oofem::Domain::giveOutputManager ( )

◆ giveSerialNumber()

int oofem::Domain::giveSerialNumber ( )
inline

Returns domain serial (version) number.

Definition at line 285 of file domain.h.

Referenced by restoreContext().

◆ giveSet()

Set * oofem::Domain::giveSet ( int n)

Service for accessing particular domain set. Generates error if no such set is defined.

Parameters
nPointer to n-th object is returned.

Definition at line 366 of file domain.C.

References OOFEM_ERROR, and setList.

Referenced by oofem::PrimaryField::applyBoundaryCondition(), oofem::PrimaryField::applyInitialCondition(), oofem::EngngModel::assemble(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnReinfStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleOnTransferStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorBStress(), oofem::EngngModel::assembleVectorFromBC(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorRStress(), oofem::PrescribedDispSlipBCNeumannRC::assembleVectorStress(), oofem::SolutionbasedShapeFunction::computeCorrectionFactors(), oofem::PrescribedDispSlipBCNeumannRC::computeInterfaceLength(), oofem::PrescribedDispSlipBCNeumannRC::computeRebarDyad(), oofem::PrescribedDispSlipBCNeumannRC::computeWeightMatrix(), oofem::DGProblem::constructBoundaryEntities(), createDofs(), oofem::PrescribedDispSlipHomogenization::domainSize(), oofem::PrescribedGradientHomogenization::domainSize(), oofem::TransportGradientPeriodic::domainSize(), oofem::MatlabExportModule::doOutputData(), oofem::MatlabExportModule::doOutputIntegrationPointFields(), oofem::MatlabExportModule::doOutputReactionForces(), oofem::POIExportModule::exportIntVarAs(), oofem::VTKBaseExportModule::exportSetMembership(), oofem::Field::hasElementInSets(), oofem::Integral::initialize(), initializeFinish(), oofem::EngngModel::outputElements(), oofem::EngngModel::outputNodes(), oofem::Delamination::propagateFronts(), oofem::PLCZdamageRadius::propagateInterface(), and oofem::IncrementalLinearStatic::solveYourselfAt().

◆ giveSets()

std ::vector< std ::unique_ptr< Set > > & oofem::Domain::giveSets ( )
inline

Definition at line 391 of file domain.h.

◆ giveSide()

ElementSide * oofem::Domain::giveSide ( int n)

Service for accessing particular domain element side. Generates error if no such element side is defined. Note: nodes and element sides share common numbering (they are numbered as DofManagers).

Parameters
nPointer to n-th element side is returned.

Definition at line 296 of file domain.C.

References dofManagerList, and OOFEM_ERROR.

◆ giveSize()

double oofem::Domain::giveSize ( )

Gives the sum of the volume or area of all elements.

Returns
Total volume.

Definition at line 1508 of file domain.C.

References elementList.

◆ giveSmoother()

NodalRecoveryModel * oofem::Domain::giveSmoother ( )

Returns the actual Smoother associated to receiver. Creates the default, if no one associated.

Definition at line 1211 of file domain.C.

References smoother.

◆ giveSpatialLocalizer()

◆ giveTopology()

TopologyDescription * oofem::Domain::giveTopology ( )

Returns receiver's associated topology description.

Definition at line 1551 of file domain.C.

References topology.

Referenced by oofem::StokesFlow::solveYourselfAt().

◆ giveTransactionManager()

◆ giveVolume()

double oofem::Domain::giveVolume ( )

Gives the sum of the volume of all elements.

Returns
Total volume.

Definition at line 1497 of file domain.C.

References elementList.

◆ giveXfemManager()

◆ hasFractureManager()

bool oofem::Domain::hasFractureManager ( )

Definition at line 396 of file domain.C.

References fracManager.

◆ hasXfemManager()

◆ initGlobalDofManMap()

void oofem::Domain::initGlobalDofManMap ( bool forceinit = false)

Initializes global dof man map according to domain dofman list.

Definition at line 1826 of file domain.C.

References dmanMap, dmanMapInitialized, and dofManagerList.

Referenced by commitTransactions(), and oofem::LoadBalancer::migrateLoad().

◆ initGlobalElementMap()

void oofem::Domain::initGlobalElementMap ( bool forceinit = false)

Definition at line 1847 of file domain.C.

References elementList, elementMap, and elementMapInitialized.

Referenced by commitTransactions(), and oofem::LoadBalancer::migrateLoad().

◆ initializeFinish()

◆ instanciateYourself() [1/2]

int oofem::Domain::instanciateYourself ( DataReader & dr)

Reads receiver description from input stream and creates corresponding components accordingly. It scans input file, each line is assumed to be single record describing type and parameters for specific entity in domain. The record line is converted to lower case letters. Corresponding component is created using classFactory.create* function of corresponding base class, sending component name (extracted from corresponding record) as parameter. After new object is created, its initializeFrom member function is called with its record as parameter.

Parameters
drInput stream with domain description.
Returns
Nonzero if o.k.
See also
FemComponent::initializeFrom

Definition at line 480 of file domain.C.

References oofem::DataReader::giveInputRecord(), and instanciateYourself().

Referenced by oofem::AdaptiveNonLinearStatic::initializeAdaptive(), instanciateYourself(), and restoreContext().

◆ instanciateYourself() [2/2]

int oofem::Domain::instanciateYourself ( DataReader & dr,
InputRecord & ir )
Todo
Change this to default 0 when the domaintype record has been removed.

Definition at line 485 of file domain.C.

References _IFT_Domain_axisymmetric, _IFT_Domain_nbarrier, _IFT_Domain_nbc, _IFT_Domain_ncontactsurf, _IFT_Domain_ncrosssect, _IFT_Domain_ndofman, _IFT_Domain_nelem, _IFT_Domain_nfracman, _IFT_Domain_nfunct, _IFT_Domain_nic, _IFT_Domain_nmat, _IFT_Domain_nset, _IFT_Domain_numberOfSpatialDimensions, _IFT_Domain_nxfemman, _IFT_Domain_topology, _IFT_Domain_type, axisymm, bcList, BuildDofManPlaceInArrayMap(), BuildElementPlaceInArrayMap(), oofem::classFactory, oofem::InputRecord::clone(), contactSurfaceList, crossSectionList, dofManagerList, elementList, fracManager, functionList, oofem::DataReader::giveChildRecord(), giveEngngModel(), oofem::DataReader::giveGroupRecords(), oofem::DataReader::giveInputRecord(), oofem::InputRecord::giveRecordKeywordField(), oofem::DataReader::hasFlattenedStructure(), icList, initializeFinish(), oofem::DataReader::InputRecordTags, oofem::DataReader::IR_bcRec, oofem::DataReader::IR_contactSurfaceRec, oofem::DataReader::IR_crosssectRec, oofem::DataReader::IR_dofmanRec, oofem::DataReader::IR_elemRec, oofem::DataReader::IR_fracManRec, oofem::DataReader::IR_funcRec, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, IR_GIVE_RECORD_KEYWORD_FIELD, oofem::DataReader::IR_icRec, oofem::DataReader::IR_matRec, oofem::DataReader::IR_nlocBarRec, oofem::DataReader::IR_setRec, oofem::DataReader::IR_xfemManRec, materialList, mDomainType, nonlocalBarrierList, nsd, number, OOFEM_ERROR, outputManager, oofem::DataReader::peekNext(), oofem::InputRecord::ptr(), resolveDomainDofsDefaults(), setList, oofem::DataReader::GroupRecords::size(), topology, VERBOSE_PRINT0, and xfemManager.

◆ isAxisymmetric()

bool oofem::Domain::isAxisymmetric ( )

Returns true of axisymmetry is in effect.

Definition at line 1144 of file domain.C.

References axisymm.

Referenced by oofem::SurfaceTensionBoundaryCondition::computeLoadVectorFromElement(), and oofem::SurfaceTensionBoundaryCondition::computeTangentFromElement().

◆ LB_giveUpdatedGlobalNumber()

int oofem::Domain::LB_giveUpdatedGlobalNumber ( int oldnum,
EntityRenumberingScheme scheme )

Return updated local entity number after load balancing

Definition at line 1936 of file domain.C.

References dmanMap, oofem::ERS_DofManager, and OOFEM_ERROR.

◆ LB_giveUpdatedLocalNumber()

int oofem::Domain::LB_giveUpdatedLocalNumber ( int oldnum,
EntityRenumberingScheme scheme )

Return updated local entity number after load balancing

Definition at line 1918 of file domain.C.

References oofem::ERS_DofManager, giveDofManager(), and OOFEM_ERROR.

◆ operator=()

Domain & oofem::Domain::operator= ( const Domain & src)
delete

References Domain().

◆ postInitialize()

void oofem::Domain::postInitialize ( )

Performs post-initialization for all the domain contents (which is called after initializeFrom). Currently, it only calls Element::postInitialize.

Definition at line 1023 of file domain.C.

References bcList, connectivityTable, contactSurfaceList, createDofs(), dofManagerList, dofmanPPM, elementList, elementPPM, giveXfemManager(), hasXfemManager(), and spatialLocalizer.

Referenced by oofem::StructuralFE2MaterialStatus::copyStateVariables(), and oofem::XfemSolverInterface::propagateXfemInterfaces().

◆ py_setBoundaryCondition()

void oofem::Domain::py_setBoundaryCondition ( int i,
GeneralBoundaryCondition * obj )

Definition at line 461 of file domain.C.

References bcList.

◆ py_setCrossSection()

void oofem::Domain::py_setCrossSection ( int i,
CrossSection * obj )

Definition at line 458 of file domain.C.

References crossSectionList.

◆ py_setDofManager()

void oofem::Domain::py_setDofManager ( int i,
DofManager * obj )
Note
Needed for some of the boost-python bindings. NOTE: This takes ownership of the pointers, so it's actually completely unsafe.

Definition at line 456 of file domain.C.

References dofManagerList, dofmanGlobal2LocalMap, and oofem::DofManager::giveGlobalNumber().

◆ py_setElement()

void oofem::Domain::py_setElement ( int i,
Element * obj )

Definition at line 457 of file domain.C.

References elementGlobal2LocalMap, elementList, and oofem::Element::giveGlobalNumber().

◆ py_setFunction()

void oofem::Domain::py_setFunction ( int i,
Function * obj )

Definition at line 463 of file domain.C.

References functionList.

◆ py_setInitialCondition()

void oofem::Domain::py_setInitialCondition ( int i,
InitialCondition * obj )

Definition at line 462 of file domain.C.

References icList.

◆ py_setMaterial()

void oofem::Domain::py_setMaterial ( int i,
Material * obj )

Definition at line 459 of file domain.C.

References materialList.

◆ py_setNonlocalBarrier()

void oofem::Domain::py_setNonlocalBarrier ( int i,
NonlocalBarrier * obj )

Definition at line 460 of file domain.C.

References nonlocalBarrierList.

◆ py_setSet()

void oofem::Domain::py_setSet ( int i,
Set * obj )

Definition at line 464 of file domain.C.

References setList.

◆ renumberDofManagers()

void oofem::Domain::renumberDofManagers ( )

Assigns new local number (stored as dofmanager number, so it can be requested) to all dofManagers available in domanMap.

Definition at line 1898 of file domain.C.

References dmanMap.

Referenced by commitTransactions().

◆ renumberDofManData()

void oofem::Domain::renumberDofManData ( DomainTransactionManager * tm)

Definition at line 1861 of file domain.C.

References dmanMap, and oofem::DomainTransactionManager::dofmanTransactions.

Referenced by commitTransactions().

◆ renumberElementData()

void oofem::Domain::renumberElementData ( DomainTransactionManager * tm)

Definition at line 1880 of file domain.C.

References elementMap, and oofem::DomainTransactionManager::elementTransactions.

Referenced by commitTransactions().

◆ renumberElements()

void oofem::Domain::renumberElements ( )

Definition at line 1908 of file domain.C.

References elementMap.

Referenced by commitTransactions().

◆ resetFreeDofID()

void oofem::Domain::resetFreeDofID ( )

Resets the free dof IDs.

Definition at line 1531 of file domain.C.

References freeDofID, and oofem::MaxDofID.

◆ resizeBoundaryConditions()

void oofem::Domain::resizeBoundaryConditions ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize boundary conditions.

Definition at line 450 of file domain.C.

References bcList.

Referenced by oofem::AdditiveManufacturingProblem::add_element_if_not_exists2(), oofem::AdditiveManufacturingProblem::add_node_if_not_exists2(), and oofem::AdditiveManufacturingProblem::add_sm_node_if_not_exists2().

◆ resizeContactSurfaces()

void oofem::Domain::resizeContactSurfaces ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize sets.

Definition at line 454 of file domain.C.

References contactSurfaceList.

◆ resizeCrossSectionModels()

void oofem::Domain::resizeCrossSectionModels ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize cross section models.

Definition at line 447 of file domain.C.

References crossSectionList.

Referenced by oofem::Quasicontinuum::addCrosssectionToInterpolationElements().

◆ resizeDofManagers()

void oofem::Domain::resizeDofManagers ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize dofManagers.

Definition at line 445 of file domain.C.

References dofManagerList.

Referenced by oofem::DGProblem::constructBoundaryEntities(), oofem::QuadraticInterpolation::initializeCell(), and oofem::AdditiveManufacturingProblem::solveYourself().

◆ resizeElements()

void oofem::Domain::resizeElements ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize elements.

Definition at line 446 of file domain.C.

References elementList.

Referenced by oofem::DGProblem::constructBoundaryEntities(), oofem::Quasicontinuum::createInterpolationElements(), and oofem::AdditiveManufacturingProblem::solveYourself().

◆ resizeFunctions()

void oofem::Domain::resizeFunctions ( int _newSize)

◆ resizeInitialConditions()

void oofem::Domain::resizeInitialConditions ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize initial conditions.

Definition at line 451 of file domain.C.

References icList.

Referenced by oofem::AdditiveManufacturingProblem::add_node_if_not_exists2().

◆ resizeMaterials()

void oofem::Domain::resizeMaterials ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize materials.

Definition at line 448 of file domain.C.

References materialList.

Referenced by oofem::Quasicontinuum::applyApproach1(), oofem::Quasicontinuum::applyApproach2(), and oofem::Quasicontinuum::applyApproach3().

◆ resizeNonlocalBarriers()

void oofem::Domain::resizeNonlocalBarriers ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize nonlocal barriers.

Definition at line 449 of file domain.C.

References nonlocalBarrierList.

◆ resizeSets()

void oofem::Domain::resizeSets ( int _newSize)

Resizes the internal data structure to accommodate space for _newSize sets.

Definition at line 453 of file domain.C.

References setList.

Referenced by oofem::AdditiveManufacturingProblem::add_element_if_not_exists2(), oofem::AdditiveManufacturingProblem::add_node_if_not_exists2(), and oofem::AdditiveManufacturingProblem::add_sm_node_if_not_exists2().

◆ resolveDomainDofsDefaults()

void oofem::Domain::resolveDomainDofsDefaults ( const char * typeName)

Definition at line 1151 of file domain.C.

References dType, and OOFEM_ERROR.

Referenced by instanciateYourself().

◆ restoreContext()

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

Restores the domain state from output stream. Restores recursively the state of all managed objects, like DofManagers and Elements. Each context is associated with unique time step. Only one context per time step is allowed. Restore context function will restore such context, which is related (through its step number) to time step number and version given in obj parameter. Restoring context will change current time step in order to correspond to newly restored context.

Parameters
streamContext file.
modeDetermines amount of info in stream.
Exceptions
ContextIOERRexception if error encountered.
Todo
Saving and restoring xfemmanagers.

Definition at line 1626 of file domain.C.

References bcList, oofem::CIO_IOERR, oofem::classFactory, clear(), CM_Definition, crossSectionList, dofManagerList, dofmanGlobal2LocalMap, elementGlobal2LocalMap, elementList, engineeringModel, functionList, giveErrorEstimator(), giveSerialNumber(), icList, instanciateYourself(), materialList, nonlocalBarrierList, number, OOFEM_ERROR, OOFEM_LOG_INFO, oofem::DataStream::read(), oofem::restore_components(), setList, smoother, THROW_CIOERR, and xfemManager.

◆ saveContext()

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

Stores the domain state to output stream. Stores recursively the state of all managed objects, like DofManagers and Elements. Stored context is associated with current time step. One time step can have only one associated context. Multiple call to saveContext within same time step override previously saved context for this step. By default the stream parameter is used to store data and is not closed. If stream is NULL, new file descriptor is created and this must be also closed at the end.

Parameters
streamContext stream. If NULL then new file descriptor will be opened and closed at the end else the stream given as parameter will be used and not closed at the end.
modeDetermines amount of info in stream.
Exceptions
ContextIOERRIf error encountered.

Definition at line 1599 of file domain.C.

References bcList, oofem::CIO_IOERR, CM_Definition, crossSectionList, dofManagerList, elementList, functionList, giveErrorEstimator(), icList, materialList, nonlocalBarrierList, oofem::save_components(), setList, THROW_CIOERR, and oofem::DataStream::write().

◆ setBoundaryCondition()

void oofem::Domain::setBoundaryCondition ( int i,
std::unique_ptr< GeneralBoundaryCondition > obj )

◆ setCrossSection()

void oofem::Domain::setCrossSection ( int i,
std::unique_ptr< CrossSection > obj )

Sets i-th component. The component will be further managed and maintained by domain object.

Definition at line 468 of file domain.C.

References crossSectionList.

Referenced by oofem::Quasicontinuum::addCrosssectionToInterpolationElements().

◆ setDofManager()

void oofem::Domain::setDofManager ( int i,
std::unique_ptr< DofManager > obj )

◆ setDomainType()

void oofem::Domain::setDomainType ( domainType _dType)
inline

Sets domain type.

Definition at line 603 of file domain.h.

◆ setElement()

void oofem::Domain::setElement ( int i,
std::unique_ptr< Element > obj )

◆ SetEngngModel()

void oofem::Domain::SetEngngModel ( EngngModel * ipEngngModel)
inline

Definition at line 335 of file domain.h.

References engineeringModel.

Referenced by oofem::StructuralFE2MaterialStatus::copyStateVariables().

◆ setFunction()

void oofem::Domain::setFunction ( int i,
std::unique_ptr< Function > obj )

◆ setInitialCondition()

void oofem::Domain::setInitialCondition ( int i,
std::unique_ptr< InitialCondition > obj )

Sets i-th component. The component will be further managed and maintained by domain object.

Definition at line 472 of file domain.C.

References icList.

Referenced by oofem::AdditiveManufacturingProblem::add_node_if_not_exists2().

◆ setMaterial()

void oofem::Domain::setMaterial ( int i,
std::unique_ptr< Material > obj )

Sets i-th component. The component will be further managed and maintained by domain object.

Definition at line 469 of file domain.C.

References materialList.

Referenced by oofem::Quasicontinuum::applyApproach1(), oofem::Quasicontinuum::applyApproach2(), and oofem::Quasicontinuum::applyApproach3().

◆ setNextFreeDofID()

void oofem::Domain::setNextFreeDofID ( int dofid)
inline

Definition at line 643 of file domain.h.

◆ setNonlocalBarrier()

void oofem::Domain::setNonlocalBarrier ( int i,
std::unique_ptr< NonlocalBarrier > obj )

Sets i-th component. The component will be further managed and maintained by domain object.

Definition at line 470 of file domain.C.

References nonlocalBarrierList.

◆ setNonlocalUpdateStateCounter()

void oofem::Domain::setNonlocalUpdateStateCounter ( StateCounterType val)
inline

sets the value of nonlocalUpdateStateCounter

Definition at line 739 of file domain.h.

Referenced by oofem::NonlocalMaterialExtensionInterface::updateDomainBeforeNonlocAverage().

◆ setNumber()

void oofem::Domain::setNumber ( int nn)
inline

Returns domain number.

Definition at line 283 of file domain.h.

◆ setSet()

void oofem::Domain::setSet ( int i,
std::unique_ptr< Set > obj )

Sets i-th component. The component will be further managed and maintained by domain object.

Definition at line 474 of file domain.C.

References setList.

Referenced by oofem::AdditiveManufacturingProblem::add_element_if_not_exists2(), oofem::AdditiveManufacturingProblem::add_node_if_not_exists2(), and oofem::AdditiveManufacturingProblem::add_sm_node_if_not_exists2().

◆ setSmoother()

void oofem::Domain::setSmoother ( NodalRecoveryModel * newSmoother,
bool destroyOld = true )

Sets the given smoother as an actual smoother for receiver.

Parameters
smootherNew smoother for receiver.
destroyOldDetermines if any preexisting smoother should be deleted.

Definition at line 1218 of file domain.C.

References smoother.

◆ setSpatialLocalizer()

void oofem::Domain::setSpatialLocalizer ( std::unique_ptr< SpatialLocalizer > sl)

Set spatial localizer

Definition at line 1269 of file domain.C.

References spatialLocalizer.

◆ setTopology()

void oofem::Domain::setTopology ( TopologyDescription * topo,
bool destroyOld = true )

Sets receiver's associated topology description.

Parameters
topoNew topology description for receiver.
destroyOldDetermines if any preexisting topology description should be deleted.

Definition at line 1229 of file domain.C.

References topology.

◆ setXfemManager()

void oofem::Domain::setXfemManager ( std::unique_ptr< XfemManager > ipXfemManager)

Temporary function, sets xfemManager.

Definition at line 475 of file domain.C.

References xfemManager.

Member Data Documentation

◆ axisymm

bool oofem::Domain::axisymm
private

Definition at line 187 of file domain.h.

Referenced by Domain(), initializeFinish(), instanciateYourself(), and isAxisymmetric().

◆ bcList

◆ bcTracker

BCTracker oofem::Domain::bcTracker
private

BC tracker (keeps track of BCs applied wia sets to components).

Definition at line 212 of file domain.h.

Referenced by Domain(), and giveBCTracker().

◆ connectivityTable

std :: unique_ptr< ConnectivityTable > oofem::Domain::connectivityTable
private

Domain connectivity table. Table is build upon request. Provides connectivity information of current domain.

Definition at line 173 of file domain.h.

Referenced by clear(), giveConnectivityTable(), initializeFinish(), and postInitialize().

◆ contactSurfaceList

std::vector< std::unique_ptr< ContactSurface > > oofem::Domain::contactSurfaceList
private

◆ crossSectionList

std :: vector< std :: unique_ptr< CrossSection > > oofem::Domain::crossSectionList

◆ defaultNodeDofIDArry

IntArray oofem::Domain::defaultNodeDofIDArry
private

Default dofs for a node (depends on the domain type).

Definition at line 153 of file domain.h.

Referenced by Domain(), and giveDefaultNodeDofIDArry().

◆ dmanMap

std :: map< int, DofManager * > oofem::Domain::dmanMap
private

Global dof manager map (index is global of man number).

Definition at line 248 of file domain.h.

Referenced by commitTransactions(), dofmanGlobal2Local(), initGlobalDofManMap(), LB_giveUpdatedGlobalNumber(), renumberDofManagers(), and renumberDofManData().

◆ dmanMapInitialized

bool oofem::Domain::dmanMapInitialized
private

dmanMap init flag.

Definition at line 250 of file domain.h.

Referenced by Domain(), and initGlobalDofManMap().

◆ dofManagerList

◆ dofmanGlobal2LocalMap

std::unordered_map< int, int > oofem::Domain::dofmanGlobal2LocalMap
private

Map from a dofmans's global number (label) to its place in the dofman array.

Definition at line 225 of file domain.h.

Referenced by BuildDofManPlaceInArrayMap(), clear(), giveDofManPlaceInArray(), initializeFinish(), py_setDofManager(), restoreContext(), and setDofManager().

◆ dofmanPPM

◆ dType

domainType oofem::Domain::dType
private

Domain type. Determined by input data. It determines the problem type (like plane stress or plane strain mode). According to this mode the default number of Dofs per node (or side) and their physical meaning are determined. These default settings can be redefined by particular node or side. See related documentation for details.

See also
Node
ElementSide

Definition at line 162 of file domain.h.

Referenced by Domain(), giveDefaultNodeDofIDArry(), giveDomainType(), initializeFinish(), and resolveDomainDofsDefaults().

◆ elementGlobal2LocalMap

std::unordered_map< int, int > oofem::Domain::elementGlobal2LocalMap
private

Map from an element's global number (label) to its place in the element array. Added by ES 140326.

Definition at line 219 of file domain.h.

Referenced by BuildElementPlaceInArrayMap(), clear(), giveElementPlaceInArray(), initializeFinish(), py_setElement(), restoreContext(), and setElement().

◆ elementList

◆ elementMap

std :: map< int, Element * > oofem::Domain::elementMap
private

Global element map (index is global of man number).

Definition at line 252 of file domain.h.

Referenced by commitTransactions(), elementGlobal2Local(), initGlobalElementMap(), renumberElementData(), and renumberElements().

◆ elementMapInitialized

bool oofem::Domain::elementMapInitialized
private

dmanMap init flag.

Definition at line 254 of file domain.h.

Referenced by Domain(), and initGlobalElementMap().

◆ elementPPM

ParameterManager oofem::Domain::elementPPM

Parameter priority manager for the elements. It is used to store and manage priorities of parameters. This supports setting the parameter (attribute) from different sources (e.g. from component record or trough set).

Definition at line 133 of file domain.h.

Referenced by Domain(), initializeFinish(), oofem::AbaqusUserElement::initializeFrom(), oofem::LIBeam3dNL::initializeFrom(), oofem::MITC4Shell::initializeFrom(), oofem::Quad1Mindlin::initializeFrom(), oofem::Quad1MindlinShell3D::initializeFrom(), oofem::Structural3DElement::initializeFrom(), oofem::AbaqusUserElement::postInitialize(), postInitialize(), and oofem::LIBeam3dNL::postInitialize().

◆ engineeringModel

EngngModel* oofem::Domain::engineeringModel
private

Associated Engineering model. An abstraction for type of analysis which will be prformed.

Definition at line 167 of file domain.h.

Referenced by giveEngngModel(), giveErrorEstimator(), giveNextFreeDofID(), restoreContext(), and SetEngngModel().

◆ fracManager

std :: unique_ptr< FractureManager > oofem::Domain::fracManager
private

Fracture Manager.

Definition at line 207 of file domain.h.

Referenced by giveFractureManager(), hasFractureManager(), and instanciateYourself().

◆ freeDofID

int oofem::Domain::freeDofID

Keeps track of next free dof ID (for special Lagrange multipliers, XFEM and such).

Definition at line 238 of file domain.h.

Referenced by Domain(), giveNextFreeDofID(), and resetFreeDofID().

◆ functionList

std :: vector< std :: unique_ptr< Function > > oofem::Domain::functionList
private

◆ icList

std :: vector< std :: unique_ptr< InitialCondition > > oofem::Domain::icList
private

◆ materialList

std :: vector< std :: unique_ptr< Material > > oofem::Domain::materialList
private

◆ materialNum2ElMap

std::unordered_map< int, IntArray> oofem::Domain::materialNum2ElMap
private

Map from material number to elements that have the given material number. Added by ES 140718.

Definition at line 231 of file domain.h.

Referenced by BuildMaterialToElementMap(), and giveElementsWithMaterialNum().

◆ mDomainType

std::string oofem::Domain::mDomainType
private
Todo
I don't see why this has to be stored, and there is only one? /Mikael

Definition at line 191 of file domain.h.

Referenced by instanciateYourself().

◆ nonlocalBarrierList

std :: vector< std :: unique_ptr< NonlocalBarrier > > oofem::Domain::nonlocalBarrierList
private

◆ nonlocalUpdateStateCounter

StateCounterType oofem::Domain::nonlocalUpdateStateCounter
private

For nonlocal models of integral type it is necessary, mainly due to resulting efficiency, to compute variable(s) which are nonlocally averaged in advance, before average process begins. The loop over all integration points is typically made to compute these variables. To prevent doing this multiple times at the same solution state, the modification time mark is kept. This state counter could not be kept in static global variable, because in case of multiple domains stateCounter should be kept independently for each domain.

Definition at line 202 of file domain.h.

Referenced by Domain().

◆ nsd

int oofem::Domain::nsd
private

Number of spatial dimensions.

Definition at line 186 of file domain.h.

Referenced by Domain(), giveNumberOfSpatialDimensions(), initializeFinish(), and instanciateYourself().

◆ number

int oofem::Domain::number
private

Domain number.

Definition at line 182 of file domain.h.

Referenced by errorInfo(), giveErrorEstimator(), instanciateYourself(), and restoreContext().

◆ outputManager

std :: unique_ptr< OutputManager > oofem::Domain::outputManager
private

Output manager, allowing to filter the produced output.

Definition at line 180 of file domain.h.

Referenced by giveOutputManager(), and instanciateYourself().

◆ recvElemList

std :: list< Element * > oofem::Domain::recvElemList
private

List of received elements.

Definition at line 260 of file domain.h.

◆ serialNumber

int oofem::Domain::serialNumber
private

Domain serial (version) number. Used for domain version identification during Adaptive computations.

Definition at line 184 of file domain.h.

◆ setList

std :: vector< std :: unique_ptr< Set > > oofem::Domain::setList
private

◆ smoother

std :: unique_ptr< NodalRecoveryModel > oofem::Domain::smoother
private

nodal recovery object associated to receiver.

Definition at line 189 of file domain.h.

Referenced by clear(), giveSmoother(), restoreContext(), and setSmoother().

◆ spatialLocalizer

std :: unique_ptr< SpatialLocalizer > oofem::Domain::spatialLocalizer
private

Spatial Localizer. It is build upon request. Provides the spatial localization services.

Definition at line 178 of file domain.h.

Referenced by clear(), giveSpatialLocalizer(), initializeFinish(), postInitialize(), and setSpatialLocalizer().

◆ topology

std :: unique_ptr< TopologyDescription > oofem::Domain::topology
private

Topology description.

Definition at line 234 of file domain.h.

Referenced by clear(), giveTopology(), instanciateYourself(), and setTopology().

◆ transactionManager

std :: unique_ptr< DomainTransactionManager > oofem::Domain::transactionManager
private

Transaction manager. The purpose of this class is to make the domain modification (in terms of adding and deleting components) versatile.

Definition at line 246 of file domain.h.

Referenced by clear(), Domain(), and giveTransactionManager().

◆ xfemManager

std :: unique_ptr< XfemManager > oofem::Domain::xfemManager
private

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