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

#include <fieldmanager.h>

Public Member Functions

 FieldManager ()
 ~FieldManager ()
void registerField (FieldPtr eField, FieldType key)
FieldPtr giveField (FieldType key)
bool isFieldRegistered (FieldType key)
void unregisterField (FieldType key)
std::vector< FieldTypegiveRegisteredKeys ()
int instanciateYourself (DataReader &dr, InputRecord &ir)

Protected Attributes

std ::map< FieldType, std ::shared_ptr< Field > > externalFields

Detailed Description

Definition at line 49 of file fieldmanager.h.

Constructor & Destructor Documentation

◆ FieldManager()

oofem::FieldManager::FieldManager ( )
inline

Definition at line 63 of file fieldmanager.h.

References externalFields.

◆ ~FieldManager()

oofem::FieldManager::~FieldManager ( )

Definition at line 41 of file fieldmanager.C.

Member Function Documentation

◆ giveField()

◆ giveRegisteredKeys()

std::vector< FieldType > oofem::FieldManager::giveRegisteredKeys ( )

Returns list of registered field keys, which can be obtained by calling giveField.

Definition at line 89 of file fieldmanager.C.

References externalFields.

◆ instanciateYourself()

int oofem::FieldManager::instanciateYourself ( DataReader & dr,
InputRecord & ir )

◆ isFieldRegistered()

bool oofem::FieldManager::isFieldRegistered ( FieldType key)

Returns true if field is registered under key

Definition at line 60 of file fieldmanager.C.

References externalFields.

◆ registerField()

void oofem::FieldManager::registerField ( FieldPtr eField,
FieldType key )

Registers the given field (the receiver is not assumed to own given field). The field is registered under given key. Using this key, it can be later accessed.

could be replaced in future by this->externalFields.insert_or_assign({key, eField});

Definition at line 45 of file fieldmanager.C.

References externalFields.

Referenced by oofem::CBS::initializeFrom(), oofem::DGProblem::initializeFrom(), oofem::MPMProblem::initializeFrom(), oofem::StationaryTransportProblem::initializeFrom(), oofem::SUPG::initializeFrom(), oofem::TransientTransportProblem::initializeFrom(), and instanciateYourself().

◆ unregisterField()

void oofem::FieldManager::unregisterField ( FieldType key)

Unregisters (deletes) the field registered under given key.

Definition at line 78 of file fieldmanager.C.

References externalFields.

Member Data Documentation

◆ externalFields

std :: map< FieldType, std :: shared_ptr< Field > > oofem::FieldManager::externalFields
protected

Field container. Stores smart pointers to objects (not object themselves) to avoid copying elements and to preserve the use of polymorphic types. The use of shared_ptr is essential here, as some registered fields may be ovned (and maintained) by emodel, some may be cretead on demand and thus managed only by field manager.

Definition at line 60 of file fieldmanager.h.

Referenced by FieldManager(), giveField(), giveRegisteredKeys(), isFieldRegistered(), registerField(), and unregisterField().


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