NEML2 1.4.0
|
The transient driver specialized for solid mechanics problems. More...
The transient driver specialized for solid mechanics problems.
#include <SolidMechanicsDriver.h>
Public Member Functions | |
SolidMechanicsDriver (const OptionSet &options) | |
Construct a new SolidMechanicsDriver object. | |
Public Member Functions inherited from TransientDriver | |
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 TransientDriver | |
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 | update_forces () override |
Update the driving forces for the current time step. | |
void | check_integrity () const override |
Check the integrity of the set up. | |
Protected Member Functions inherited from TransientDriver | |
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 | 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 | |
const std::string | _control |
The control method to drive the constitutive update. | |
SR2 | _driving_force |
VariableName | _driving_force_name |
const VariableName | _control_name |
Name of the control signal for mixed stress/strain control. | |
const VariableName | _temperature_name |
Name of the temperature variable. | |
const bool | _temperature_prescribed |
Whether temperature is prescribed. | |
Scalar | _temperature |
Temperature. | |
SR2 | _control_signal |
Actual control signal, when used for control == "MIXED". | |
Protected Attributes inherited from TransientDriver | |
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. | |
SolidMechanicsDriver | ( | const OptionSet & | options | ) |
Construct a new SolidMechanicsDriver object.
options | The options extracted from the input file |
|
overrideprotectedvirtual |
Check the integrity of the set up.
Reimplemented from TransientDriver.
|
static |
|
overrideprotectedvirtual |
Update the driving forces for the current time step.
Reimplemented from TransientDriver.
|
protected |
The control method to drive the constitutive update.
STRAIN: Use strain control to drive the update. STRESS: Use stress control to drive the update. MIXED: Use mixed stress/strain control with signal provided by _control_name
|
protected |
Name of the control signal for mixed stress/strain control.
|
protected |
Actual control signal, when used for control == "MIXED".
|
protected |
The value of the driving force, depending on _control
this is either the prescribed strain or the prescribed stress.
|
protected |
The name of the driving force, depending on _control
this is either the prescribed strain or the prescribed stress.
|
protected |
Temperature.
|
protected |
Name of the temperature variable.