NEML2 1.4.0
|
The driver for a transient initial-value problem. More...
The driver for a transient initial-value problem.
#include <TransientDriver.h>
Public Member Functions | |
TransientDriver (const OptionSet &options) | |
Construct a new TransientDriver object. | |
bool | run () override |
Let the driver run, return true upon successful completion, and return false otherwise. | |
virtual std::string | save_as_path () const |
The destination file/path to save the results. | |
virtual torch::nn::ModuleDict | result () const |
The results (input and output) from all time steps. | |
Public Member Functions inherited from Driver | |
Driver (const OptionSet &options) | |
Construct a new Driver object. | |
Public Member Functions inherited from NEML2Object | |
NEML2Object (const OptionSet &options) | |
Construct a new NEML2Object object. | |
virtual | ~NEML2Object ()=default |
const OptionSet & | input_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. | |
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 Member Functions | |
virtual void | check_integrity () const override |
Check the integrity of the set up. | |
virtual bool | solve () |
Solve the initial value problem. | |
virtual void | advance_step () |
Advance in time: the state becomes old state, and forces become old forces. | |
virtual void | update_forces () |
Update the driving forces for the current time step. | |
virtual void | apply_ic () |
Apply the initial conditions. | |
virtual void | apply_predictor () |
Apply the predictor to calculate the initial guess for the current time step. | |
virtual void | solve_step () |
Perform the constitutive update for the current time step. | |
virtual void | store_input () |
Save the input of the current time step. | |
virtual void | store_output () |
Save the output of the current time step. | |
virtual void | output () const |
Save the results into the destination file/path. | |
Protected Attributes | |
Model & | _model |
The model which the driver uses to perform constitutive updates. | |
const torch::Device | _device |
The device on which to evaluate the model. | |
Scalar | _time |
The current time. | |
TorchSize | _step_count |
The current step count. | |
VariableName | _time_name |
VariableName for the time. | |
TorchSize | _nsteps |
Total number of steps. | |
TorchSize | _nbatch |
The batch size. | |
LabeledVector & | _in |
The input to the constitutive model. | |
LabeledVector & | _out |
The output of the constitutive model. | |
std::string | _predictor |
The predictor used to set the initial guess. | |
std::string | _save_as |
The destination file name or file path. | |
const bool | _show_params |
Set to true to list all the model parameters at the beginning. | |
const bool | _show_input |
Set to true to show model's input axis at the beginning. | |
const bool | _show_output |
Set to true to show model's output axis at the beginning. | |
LabeledVector | _result_in |
Inputs from all time steps. | |
LabeledVector | _result_out |
Outputs from all time steps. | |
std::vector< VariableName > | _ic_scalar_names |
Names for scalar initial conditions. | |
std::vector< CrossRef< Scalar > > | _ic_scalar_values |
Values for the scalar initial conditions. | |
std::vector< VariableName > | _ic_rot_names |
Names for the Rot initial conditions. | |
std::vector< CrossRef< Rot > > | _ic_rot_values |
Values for the Rot initial conditions. | |
std::vector< VariableName > | _ic_sr2_names |
Names for the SR2 initial conditions. | |
std::vector< CrossRef< SR2 > > | _ic_sr2_values |
Values for the SR2 initial conditions. | |
Real | _cp_elastic_scale |
Scale value for initial cp predictor. | |
Protected Attributes inherited from Driver | |
bool | _verbose |
Whether to print out additional (debugging) information during the execution. | |
TransientDriver | ( | const OptionSet & | options | ) |
Construct a new TransientDriver object.
options | The options extracted from the input file |
|
protectedvirtual |
Advance in time: the state becomes old state, and forces become old forces.
|
protectedvirtual |
Apply the initial conditions.
|
protectedvirtual |
Apply the predictor to calculate the initial guess for the current time step.
|
overrideprotectedvirtual |
Check the integrity of the set up.
Reimplemented from Driver.
Reimplemented in LargeDeformationIncrementalSolidMechanicsDriver, and SolidMechanicsDriver.
|
static |
|
protectedvirtual |
Save the results into the destination file/path.
|
virtual |
The results (input and output) from all time steps.
|
overridevirtual |
Let the driver run, return true
upon successful completion, and return false
otherwise.
Implements Driver.
|
virtual |
The destination file/path to save the results.
|
protectedvirtual |
Solve the initial value problem.
|
protectedvirtual |
Perform the constitutive update for the current time step.
|
protectedvirtual |
Save the input of the current time step.
|
protectedvirtual |
Save the output of the current time step.
|
protectedvirtual |
Update the driving forces for the current time step.
Reimplemented in LargeDeformationIncrementalSolidMechanicsDriver, and SolidMechanicsDriver.
|
protected |
Scale value for initial cp predictor.
|
protected |
The device on which to evaluate the model.
|
protected |
Names for the Rot initial conditions.
|
protected |
Names for scalar initial conditions.
Values for the scalar initial conditions.
|
protected |
Names for the SR2 initial conditions.
|
protected |
The input to the constitutive model.
|
protected |
The model which the driver uses to perform constitutive updates.
|
protected |
The batch size.
|
protected |
Total number of steps.
|
protected |
The output of the constitutive model.
|
protected |
The predictor used to set the initial guess.
|
protected |
Inputs from all time steps.
|
protected |
Outputs from all time steps.
|
protected |
The destination file name or file path.
|
protected |
The current step count.
|
protected |
The current time.
|
protected |
VariableName for the time.