NEML2 1.4.0
Loading...
Searching...
No Matches
Driver Class Referenceabstract

The Driver drives the execution of a NEML2 Model. More...

Detailed Description

The Driver drives the execution of a NEML2 Model.

#include <Driver.h>

Inheritance diagram for Driver:

Public Member Functions

 Driver (const OptionSet &options)
 Construct a new Driver object.
 
virtual void diagnose (std::vector< Diagnosis > &) const override
 Check for common problems.
 
virtual bool run ()=0
 Let the driver run, return true upon successful completion, and return false otherwise.
 
- Public Member Functions inherited from NEML2Object
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
virtual ~NEML2Object ()=default
 
const OptionSetinput_options () const
 
virtual void setup ()
 Setup this object.
 
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.
 
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.
 
- Public Member Functions inherited from DiagnosticsInterface
 DiagnosticsInterface (NEML2Object *object)
 
template<typename... Args>
void diagnostic_assert (std::vector< Diagnosis > &diagnoses, bool assertion, Args &&... args) const
 
void diagnostic_assert_state (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_assert_old_state (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_assert_force (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_assert_old_force (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_assert_residual (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_check_input_variable (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 
void diagnostic_check_output_variable (std::vector< Diagnosis > &diagnoses, const VariableBase &v) const
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Protected Attributes

bool _verbose
 Whether to print out additional (debugging) information during the execution.
 

Constructor & Destructor Documentation

◆ Driver()

Driver ( const OptionSet & options)

Construct a new Driver object.

Parameters
optionsThe options extracted from the input file

Member Function Documentation

◆ diagnose()

virtual void diagnose ( std::vector< Diagnosis > & diagnoses) const
inlineoverridevirtual

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.

Parameters
diagnosesA vector of exceptions of type Diagnosis for each of the detected problem.

Implements DiagnosticsInterface.

Reimplemented in LargeDeformationIncrementalSolidMechanicsDriver, SolidMechanicsDriver, and TransientDriver.

◆ expected_options()

OptionSet expected_options ( )
static

◆ run()

virtual bool run ( )
pure virtual

Let the driver run, return true upon successful completion, and return false otherwise.

Implemented in TransientDriver.

Member Data Documentation

◆ _verbose

bool _verbose
protected

Whether to print out additional (debugging) information during the execution.