|
NEML2 2.0.0
|
A general-purpose driver that does something with a model. More...
A general-purpose driver that does something with a model.
Derived classes define that "something".
#include <ModelDriver.h>

Public Member Functions | |
| ModelDriver (const OptionSet &options) | |
| void | setup () override |
| Setup this object. | |
| void | diagnose () const override |
| Check for common problems. | |
| const Model & | model () const |
| const Model & | postprocessor () const |
Public Member Functions inherited from Driver | |
| Driver (const OptionSet &options) | |
| Construct a new Driver object. | |
| virtual bool | run ()=0 |
Let the driver run, return true upon successful completion, and return false otherwise. | |
Public Member Functions inherited from NEML2Object | |
| NEML2Object ()=delete | |
| NEML2Object (NEML2Object &&)=delete | |
| NEML2Object (const NEML2Object &)=delete | |
| NEML2Object & | operator= (NEML2Object &&)=delete |
| NEML2Object & | operator= (const NEML2Object &)=delete |
| virtual | ~NEML2Object ()=default |
| NEML2Object (const OptionSet &options) | |
| Construct a new NEML2Object object. | |
| const OptionSet & | input_options () const |
| const std::string & | name () const |
| A readonly reference to the object's name. | |
| const std::string & | type () const |
| A readonly reference to the object's type. | |
| const std::string & | path () const |
| A readonly reference to the object's path. | |
| const std::string & | doc () const |
| A readonly reference to the object's docstring. | |
| Factory * | factory () const |
| Get the factory that created this object. | |
| const Settings & | settings () const |
| Settings. | |
| template<typename T = NEML2Object> | |
| const T * | host () const |
| Get a readonly pointer to the host. | |
| template<typename T = NEML2Object> | |
| T * | host () |
| Get a writable pointer to the host. | |
| template<typename T > | |
| const T & | resolve_tensor (const std::string &name) |
| Resolve a TensorName to a Tensor. | |
| template<class T > | |
| std::shared_ptr< T > | get_object (const std::string §ion, const std::string &name) |
| template<class T = Solver> | |
| std::shared_ptr< T > | get_solver (const std::string &name) |
| Get a solver from the factory. | |
| template<class T = Data> | |
| std::shared_ptr< T > | get_data (const std::string &name) |
| Get a data from the factory. | |
| template<class T = Model> | |
| std::shared_ptr< T > | get_model (const std::string &name) |
| Get a model from the factory. | |
| template<class T = Driver> | |
| std::shared_ptr< T > | get_driver (const std::string &name) |
| Get a driver from the factory. | |
| template<class T = WorkScheduler> | |
| std::shared_ptr< T > | get_scheduler (const std::string &name) |
| Get a scheduler from the factory. | |
Public Member Functions inherited from DiagnosticsInterface | |
| DiagnosticsInterface ()=delete | |
| DiagnosticsInterface (NEML2Object *object) | |
| DiagnosticsInterface (DiagnosticsInterface &&)=delete | |
| DiagnosticsInterface (const DiagnosticsInterface &)=delete | |
| DiagnosticsInterface & | operator= (const DiagnosticsInterface &)=delete |
| DiagnosticsInterface & | operator= (DiagnosticsInterface &&)=delete |
| virtual | ~DiagnosticsInterface ()=default |
| const NEML2Object & | object () const |
| Get the object. | |
Static Public Member Functions | |
| static OptionSet | expected_options () |
Static Public Member Functions inherited from Driver | |
| static OptionSet | expected_options () |
Static Public Member Functions inherited from NEML2Object | |
| static OptionSet | expected_options () |
Protected Attributes | |
| const std::shared_ptr< Model > | _model |
| The model which the driver uses to perform constitutive updates. | |
| const std::vector< VariableName > | _intmd_vars |
| Variable names for which to tag intermediate shapes. | |
| const std::vector< TensorShape > | _intmd_shapes |
| Corresponding tensor shapes for the intermediate variables. | |
| const std::shared_ptr< Model > | _postprocessor |
| Postprocessor model. | |
| const Device | _device |
| The device on which to evaluate the model. | |
| const bool | _show_model_info |
| Set to true to list all the model parameters at the beginning. | |
Protected Attributes inherited from Driver | |
| bool | _verbose |
| Whether to print out additional (debugging) information during the execution. | |
| ModelDriver | ( | const OptionSet & | options | ) |
|
overridevirtual |
Check for common problems.
This method serves as the entry point for diagnosing common problems in object setup. The idea behind this method is that while some errors could be detected at construction time, i.e., when the object's constructor is called, it doesn't hinder other objects' creation. We therefore would like to defer the detection of errors until after all objects have been created, collect all errors at once, and present the user with a complete understanding of all errors encountered.
Note, however, if an error could interfere with other objects' creation, it should be raised right away inside the constructor, instead of inside this method.
Reimplemented from Driver.
Reimplemented in SolidMechanicsDriver, and TransientDriver.
|
static |
|
inline |
|
inline |
|
overridevirtual |
Setup this object.
This method is called automatically if you use the Factory method get_object or get_object, right after construction. This serves as the entry point for things that are not convenient/possible to do at construction time, but are necessary before this object can be used (by others).
Reimplemented from NEML2Object.
Reimplemented in SolidMechanicsDriver, and TransientDriver.
|
protected |
The device on which to evaluate the model.
|
protected |
Corresponding tensor shapes for the intermediate variables.
|
protected |
Variable names for which to tag intermediate shapes.
|
protected |
The model which the driver uses to perform constitutive updates.
|
protected |
Postprocessor model.
|
protected |
Set to true to list all the model parameters at the beginning.