|
IFEM
90A354
|
Class administering inter-SIM field dependencies. More...
#include <SIMdependency.h>


Classes | |
| struct | Dependency |
| Struct holding information about an inter-SIM dependency. More... | |
Public Types | |
| typedef std::vector< ASMbase * > | PatchVec |
| Spline patch container. | |
Public Member Functions | |
| virtual | ~SIMdependency () |
| Empty destructor. | |
| virtual size_t | getNoSpaceDim () const =0 |
| Returns the number of spatial dimensions in the model. | |
| virtual std::string | getName () const =0 |
| Returns the given name of this simulator. | |
| virtual void | registerDependency (SIMdependency *sim, const std::string &name, short int nvc, const PatchVec &patches, char diffBasis=0, int component=1) |
| Registers a dependency on a field from another SIM object. More... | |
| virtual void | registerDependency (SIMdependency *sim, const std::string &name, short int nvc, const PatchVec &patches, const int *MADOF) |
| Registers a dependency on a field from another SIM object. More... | |
| virtual void | registerDependency (SIMdependency *sim, const std::string &name, short int nvc=1) |
| Registers a dependency on a field from another SIM object. More... | |
| bool | fillField (const std::string &name, const std::vector< double > &values) |
| Initializes the nodal vector of named field in this SIM. | |
| virtual std::vector< double > * | getField (const std::string &name) |
| Returns the nodal vector of named field in this SIM. | |
| virtual const std::vector< double > * | getField (const std::string &name) const |
| Returns the nodal vector of named field in this SIM. | |
| const std::vector< double > * | getDependentField (const std::string &name) const |
| Returns the nodal vector of named field in a dependent SIM. | |
| ASMbase * | getDependentPatch (const std::string &name, int pindx) const |
| Returns a spline patch associated with a dependent field. | |
| void | registerField (const std::string &name, const std::vector< double > &vec) |
| Registers a named field with associated nodal vector in this SIM. | |
| virtual bool | hasIC (const std::string &) const |
| Checks whether a named initial condition is present. | |
Protected Member Functions | |
| SIMdependency () | |
| The constructor is protected to allow sub-class instances only. | |
| bool | extractPatchDependencies (IntegrandBase *problem, const PatchVec &model, size_t pindx) const |
| Extracts local solution vector(s) for all dependent fields. More... | |
Private Types | |
| typedef std::vector< Dependency > | DepVector |
| SIM dependency container. | |
| typedef std::map< std::string, const std::vector< double > * > | FieldMap |
| Field name to nodal values map. | |
Private Member Functions | |
| DepVector::const_iterator | getDependency (const std::string &name) const |
| Returns an iterator pointing to a named dependency. | |
Private Attributes | |
| FieldMap | myFields |
| The named fields of this SIM object. | |
| DepVector | depFields |
| Other fields this SIM objecy depends on. | |
Class administering inter-SIM field dependencies.
|
protected |
Extracts local solution vector(s) for all dependent fields.
| problem | Object with problem-specific data and methods | |
| [in] | model | Patch geometry of this SIM object |
| [in] | pindx | Local patch index to extract solution vectors for |
References utl::vector< T >::clear(), Field::create(), Fields::create(), depFields, ASMbase::extractNodalVec(), ASMbase::extractNodeVec(), IntegrandBase::getNamedVector(), ASMbase::getNoFields(), IntegrandBase::setNamedField(), and IntegrandBase::setNamedFields().
Referenced by SIMbase::extractPatchSolution(), and SIMoutput::initPatchForEvaluation().
|
virtual |
Registers a dependency on a field from another SIM object.
| [in] | sim | The SIM object holding the field we depend on |
| [in] | name | Name of field we depend on |
| [in] | nvc | Number of components in field |
| [in] | patches | The geometry the field is defined over |
| [in] | diffBasis | If non-null, use diffBasis base from patch vector |
| [in] | component | Component to use from field |
References depFields.
Referenced by registerDependency().
|
virtual |
Registers a dependency on a field from another SIM object.
| [in] | sim | The SIM object holding the field we depend on |
| [in] | name | Name of field we depend on |
| [in] | nvc | Number of components in field |
| [in] | patches | The geometry the field is defined over |
| [in] | MADOF | The MADOF array to associate with this field |
References depFields, and registerDependency().
|
virtual |