NEML2 2.0.0
|
Large deformation incremental solid mechanics driver. More...
Large deformation incremental solid mechanics driver.
#include <LDISolidMechanicsDriver.h>
Static Public Member Functions | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from SolidMechanicsDriver | |
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 | |
void | init_strain_control (const OptionSet &options) override |
void | init_stress_control (const OptionSet &options) override |
virtual void | init_vorticity_control (const OptionSet &options) |
void | update_forces () override |
Update the driving forces for the current time step. | |
void | apply_predictor () override |
Apply the predictor to calculate the initial guess for the current time step. | |
Protected Member Functions inherited from SolidMechanicsDriver | |
void | update_forces () override |
Update the driving forces for the current time step. | |
virtual void | init_mixed_control (const OptionSet &) |
virtual void | init_temperature_control (const OptionSet &) |
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 | 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 | output () const |
Save the results into the destination file/path. | |
Protected Attributes | |
const bool | _vorticity_prescribed |
VariableName | _vorticity_name |
The name of the total vorticity. | |
WR2 | _vorticity |
The value of the (total) vorticity. | |
const bool | _cp_warmup |
const Real | _cp_warmup_elastic_scale |
Scale value for initial cp warmup. | |
const VariableName | _cp_warmup_elastic_strain |
Name of the elastic strain variable for the CP warmup. | |
Protected Attributes inherited from SolidMechanicsDriver | |
const EnumSelection | _control |
The control method to drive the constitutive update. | |
VariableName | _driving_force_name |
SR2 | _driving_force |
The value of the driving force. | |
VariableName | _mixed_control_name |
SR2 | _mixed_control |
Actual control signal, when used for control == "MIXED". | |
const bool | _temperature_prescribed |
VariableName | _temperature_name |
Name of the temperature variable. | |
Scalar | _temperature |
Temperature. | |
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. | |
const VariableName | _time_name |
VariableName for the time. | |
Scalar | _time |
The current time. | |
Size | _step_count |
The current step count. | |
const Size | _nsteps |
Total number of steps. | |
ValueMap | _in |
The input to the constitutive model. | |
const EnumSelection | _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. | |
std::vector< ValueMap > | _result_in |
Inputs from all time steps. | |
std::vector< ValueMap > | _result_out |
Outputs from all time steps. | |
Protected Attributes inherited from Driver | |
bool | _verbose |
Whether to print out additional (debugging) information during the execution. | |
LDISolidMechanicsDriver | ( | const OptionSet & | options | ) |
|
overrideprotectedvirtual |
Apply the predictor to calculate the initial guess for the current time step.
Reimplemented from TransientDriver.
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.
diagnoses | A vector of exceptions of type Diagnosis for each of the detected problem. |
Reimplemented from Driver.
|
static |
Control-specific initialization
Implements SolidMechanicsDriver.
Implements SolidMechanicsDriver.
|
overridevirtual |
Setup this object.
This method is called automatically if you use the Factory method get_object or get_object_ptr, 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.
|
overrideprotectedvirtual |
Update the driving forces for the current time step.
Reimplemented from TransientDriver.
|
protected |
Name of the elastic strain variable for the CP warmup.
|
protected |
The value of the (total) vorticity.
|
protected |
The name of the total vorticity.