NEML2 2.0.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
SDTSolidMechanicsDriver Class Reference

Small deformation total solid mechanics driver. More...

Detailed Description

Small deformation total solid mechanics driver.

#include <SDTSolidMechanicsDriver.h>

Inheritance diagram for SDTSolidMechanicsDriver:

Public Member Functions

 SDTSolidMechanicsDriver (const OptionSet &options)
 
- Public Member Functions inherited from SolidMechanicsDriver
 SolidMechanicsDriver (const OptionSet &options)
 
void setup () override
 Setup this object.
 
void diagnose () const override
 Check for common problems.
 
- Public Member Functions inherited from TransientDriver
 TransientDriver (const OptionSet &options)
 
void setup () override
 Setup this object.
 
void diagnose () const override
 Check for common problems.
 
bool run () override
 Let the driver run, return true upon successful completion, and return false otherwise.
 
virtual torch::nn::ModuleDict result () const
 The results (input and output) from all time steps.
 
virtual std::string save_as_path () const
 The destination file/path to save the results.
 
- Public Member Functions inherited from ModelDriver
 ModelDriver (const OptionSet &options)
 
const Modelmodel () const
 
- Public Member Functions inherited from Driver
 Driver (const OptionSet &options)
 Construct a new Driver object.
 
- Public Member Functions inherited from NEML2Object
 NEML2Object ()=delete
 
 NEML2Object (NEML2Object &&)=delete
 
 NEML2Object (const NEML2Object &)=delete
 
NEML2Objectoperator= (NEML2Object &&)=delete
 
NEML2Objectoperator= (const NEML2Object &)=delete
 
virtual ~NEML2Object ()=default
 
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
const OptionSetinput_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.
 
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 ()=delete
 
 DiagnosticsInterface (NEML2Object *object)
 
 DiagnosticsInterface (DiagnosticsInterface &&)=delete
 
 DiagnosticsInterface (const DiagnosticsInterface &)=delete
 
DiagnosticsInterfaceoperator= (const DiagnosticsInterface &)=delete
 
DiagnosticsInterfaceoperator= (DiagnosticsInterface &&)=delete
 
virtual ~DiagnosticsInterface ()=default
 
const NEML2Objectobject () const
 Get the object.
 

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 ModelDriver
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
 
- 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 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 output () const
 Save the results into the destination file/path.
 

Additional Inherited Members

- 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
const VariableName _time_name
 VariableName for the time.
 
Scalar _time
 The current time.
 
Size _step_count = 0
 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::vector< ValueMap_result_in
 Inputs from all time steps.
 
std::vector< ValueMap_result_out
 Outputs from all time steps.
 
std::vector< VariableName_driving_force_names
 Driving forces (other than time)
 
std::vector< Tensor_driving_forces
 
std::string _save_as
 The destination file name or file path.
 
- Protected Attributes inherited from ModelDriver
Model_model
 The model which the driver uses to perform constitutive updates.
 
const Device _device
 The device on which to evaluate the model.
 
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.
 
- Protected Attributes inherited from Driver
bool _verbose
 Whether to print out additional (debugging) information during the execution.
 

Constructor & Destructor Documentation

◆ SDTSolidMechanicsDriver()

SDTSolidMechanicsDriver ( const OptionSet & options)

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static

◆ init_strain_control()

void init_strain_control ( const OptionSet & )
overrideprotectedvirtual

Control-specific initialization

Implements SolidMechanicsDriver.

◆ init_stress_control()

void init_stress_control ( const OptionSet & options)
overrideprotectedvirtual

Implements SolidMechanicsDriver.