Update the trial stress under the assumptions of J2 plasticity and isotropic linear elasticity.
More...
Update the trial stress under the assumptions of J2 plasticity and isotropic linear elasticity.
This allows the construction of fully scalar return mapping models for isotropic materials.
|
| | LinearIsotropicElasticJ2TrialStressUpdate (const OptionSet &options) |
| | ElasticityInterface (const OptionSet &options) |
| | Model (const OptionSet &options) |
| | Construct a new Model object.
|
| void | setup () override |
| | Setup this object.
|
| void | diagnose () const override |
| | Check for common problems.
|
| virtual bool | defines_values () const |
| | Whether this model defines output values.
|
| virtual bool | defines_derivatives () const |
| | Whether this model defines first derivatives.
|
| virtual bool | defines_second_derivatives () const |
| | Whether this model defines second derivatives.
|
| virtual bool | is_jit_enabled () const |
| | Whether JIT is enabled.
|
| virtual void | to (const TensorOptions &options) |
| | Send model to a different device or dtype.
|
| const std::vector< std::shared_ptr< Model > > & | registered_models () const |
| | The models that may be used during the evaluation of this model.
|
| std::shared_ptr< Model > | registered_model (const std::string &name) const |
| | Get a registered model by its name.
|
| void | register_nonlinear_parameter (const std::string &pname, const NonlinearParameter ¶m) |
| | Register a nonlinear parameter.
|
| bool | has_nl_param (bool recursive=false) const |
| | Whether this parameter store has any nonlinear parameter.
|
| const VariableBase * | nl_param (const std::string &) const |
| | Query the existence of a nonlinear parameter.
|
| virtual std::map< std::string, NonlinearParameter > | named_nonlinear_parameters (bool recursive=false) const |
| | Get all nonlinear parameters.
|
| std::set< VariableName > | consumed_items () const override |
| | The variables that this model depends on.
|
| std::set< VariableName > | provided_items () const override |
| | The variables that this model defines as part of its output.
|
| void | request_AD (VariableBase &y, const VariableBase &u) |
| | Request to use AD to compute the first derivative of a variable.
|
| void | request_AD (VariableBase &y, const VariableBase &u1, const VariableBase &u2) |
| | Request to use AD to compute the second derivative of a variable.
|
| void | clear_input () override |
| void | clear_output () override |
| void | zero_undefined_input () override |
| | Fill undefined input variables with zeros.
|
| void | forward_maybe_jit (bool out, bool dout, bool d2out) |
| | Forward operator with jit.
|
| std::string | variable_name_lookup (const ATensor &var) const |
| | Look up the name of a variable in the traced graph.
|
| virtual ValueMap | value (const ValueMap &in) |
| | Convenient shortcut to construct and return the model value.
|
| virtual std::tuple< ValueMap, DerivMap > | value_and_dvalue (const ValueMap &in) |
| | Convenient shortcut to construct and return the model value and its derivative.
|
| virtual DerivMap | dvalue (const ValueMap &in) |
| | Convenient shortcut to construct and return the derivative.
|
| virtual std::tuple< ValueMap, DerivMap, SecDerivMap > | value_and_dvalue_and_d2value (const ValueMap &in) |
| | Convenient shortcut to construct and return the model's value, first and second derivative.
|
| virtual SecDerivMap | d2value (const ValueMap &in) |
| | Convenient shortcut to construct and return the model's second derivative.
|
| virtual std::tuple< DerivMap, SecDerivMap > | dvalue_and_d2value (const ValueMap &in) |
| | Convenient shortcut to construct and return the model's first and second derivative.
|
| | Data (const OptionSet &options) |
| | Construct a new Data object.
|
| const std::vector< std::shared_ptr< Data > > & | registered_data () const |
| | All the registered data objects.
|
| | NEML2Object ()=delete |
| | NEML2Object (NEML2Object &&)=delete |
| | NEML2Object (const NEML2Object &)=delete |
| NEML2Object & | operator= (NEML2Object &&)=delete |
| NEML2Object & | operator= (const NEML2Object &)=delete |
| virtual | ~NEML2Object ()=default |
| | NEML2Object (const OptionSet &options) |
| | Construct a new NEML2Object object.
|
| const OptionSet & | input_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.
|
| Factory * | factory () const |
| | Get the factory that created this object.
|
| const Settings & | settings () const |
| | Settings.
|
| 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.
|
| template<typename T> |
| const T & | resolve_tensor (const std::string &name) |
| | Resolve a TensorName to a Tensor.
|
| template<class T> |
| std::shared_ptr< T > | get_object (const std::string §ion, const std::string &name) |
| template<class T = EquationSystem> |
| std::shared_ptr< T > | get_es (const std::string &name) |
| | Get an equation system from the factory.
|
| template<class T = Solver> |
| std::shared_ptr< T > | get_solver (const std::string &name) |
| | Get a solver from the factory.
|
| template<class T = Data> |
| std::shared_ptr< T > | get_data (const std::string &name) |
| | Get a data from the factory.
|
| template<class T = Model> |
| std::shared_ptr< T > | get_model (const std::string &name) |
| | Get a model from the factory.
|
| template<class T = Driver> |
| std::shared_ptr< T > | get_driver (const std::string &name) |
| | Get a driver from the factory.
|
| template<class T = WorkScheduler> |
| std::shared_ptr< T > | get_scheduler (const std::string &name) |
| | Get a scheduler from the factory.
|
| | BufferStore (NEML2Object *object) |
| | BufferStore (const BufferStore &)=delete |
| | BufferStore (BufferStore &&)=delete |
| BufferStore & | operator= (const BufferStore &)=delete |
| BufferStore & | operator= (BufferStore &&)=delete |
| virtual | ~BufferStore ()=default |
| const std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_buffers () const |
| std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_buffers () |
| const TensorValueBase & | get_buffer (const std::string &name) const |
| | }@
|
| TensorValueBase & | get_buffer (const std::string &name) |
| | Get a writable reference of a buffer.
|
| | ParameterStore (NEML2Object *object) |
| | ParameterStore (const ParameterStore &)=delete |
| | ParameterStore (ParameterStore &&)=delete |
| ParameterStore & | operator= (const ParameterStore &)=delete |
| ParameterStore & | operator= (ParameterStore &&)=delete |
| virtual | ~ParameterStore ()=default |
| const std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_parameters () const |
| std::map< std::string, std::unique_ptr< TensorValueBase > > & | named_parameters () |
| const TensorValueBase & | get_parameter (const std::string &name) const |
| | }@
|
| TensorValueBase & | get_parameter (const std::string &name) |
| | Get a writable reference of a parameter.
|
| void | set_parameter (const std::string &, const Tensor &) |
| | Set the value for a parameter.
|
| void | set_parameters (const std::map< std::string, Tensor > &) |
| | Set values for parameters.
|
| | VariableStore (Model *object) |
| | VariableStore (const VariableStore &)=delete |
| | VariableStore (VariableStore &&)=delete |
| VariableStore & | operator= (const VariableStore &)=delete |
| VariableStore & | operator= (VariableStore &&)=delete |
| virtual | ~VariableStore ()=default |
| LabeledAxis & | declare_axis (const std::string &name) |
| const TensorOptions & | variable_options () const |
| | Current tensor options for variables.
|
| LabeledAxis & | input_axis () |
| const LabeledAxis & | input_axis () const |
| LabeledAxis & | output_axis () |
| const LabeledAxis & | output_axis () const |
| VariableStorage & | input_variables () |
| const VariableStorage & | input_variables () const |
| VariableStorage & | output_variables () |
| const VariableStorage & | output_variables () const |
| VariableBase & | input_variable (const VariableName &) |
| const VariableBase & | input_variable (const VariableName &) const |
| VariableBase & | output_variable (const VariableName &) |
| const VariableBase & | output_variable (const VariableName &) const |
| virtual void | clear_derivatives () |
| void | cache_derivative_sparsity () |
| void | cache_second_derivative_sparsity () |
| | Cache sparsity of second derivatives.
|
| const std::optional< DerivSparsity > & | derivative_sparsity () const |
| | Derivative sparsity.
|
| const std::optional< SecDerivSparsity > & | second_derivative_sparsity () const |
| | Second derivative sparsity.
|
| void | assign_input (const ValueMap &vals) |
| void | assign_input (const std::vector< VariableName > &, const SparseTensorList &) |
| | Assign input variable values for the given variable names.
|
| void | assign_output (const ValueMap &vals) |
| | Assign output variable values.
|
| void | assign_output (const std::vector< VariableName > &, const SparseTensorList &) |
| | Assign output variable values for the given variable names.
|
| void | assign_output_derivatives (const DerivMap &derivs) |
| | Assign variable derivatives.
|
| void | assign_output_derivatives (const std::vector< VariableName > &, const std::vector< VariableName > &, const SparseTensorList &) |
| | Assign variable derivatives for the given variable names.
|
| ValueMap | collect_input () const |
| SparseTensorList | collect_input (const std::vector< VariableName > &) const |
| | Collect input variable values for the given variable names.
|
| ValueMap | collect_output () const |
| | Collect output variable values.
|
| SparseTensorList | collect_output (const std::vector< VariableName > &) const |
| | Collect output variable values for the given variable names.
|
| DerivMap | collect_output_derivatives () const |
| | Collect variable derivatives.
|
| SparseTensorList | collect_output_derivatives (const std::vector< VariableName > &, const std::vector< VariableName > &) const |
| | Collect variable derivatives for the given variable names.
|
| SecDerivMap | collect_output_second_derivatives () const |
| | Collect variable second derivatives.
|
| | DependencyDefinition ()=default |
| DependencyDefinition & | operator= (const DependencyDefinition &)=delete |
| virtual | ~DependencyDefinition ()=default |
| | DiagnosticsInterface ()=delete |
| | DiagnosticsInterface (NEML2Object *object) |
| | DiagnosticsInterface (DiagnosticsInterface &&)=delete |
| | DiagnosticsInterface (const DiagnosticsInterface &)=delete |
| DiagnosticsInterface & | operator= (const DiagnosticsInterface &)=delete |
| DiagnosticsInterface & | operator= (DiagnosticsInterface &&)=delete |
| virtual | ~DiagnosticsInterface ()=default |
| const NEML2Object & | object () const |
| | Get the object.
|
|
| void | set_value (bool out, bool dout_din, bool d2out_din2) override |
| | compute updated trial stress
|
| void | declare_elastic_constant (ElasticConstant) |
| | Declare elastic constants (by resolving cross-references).
|
| void | diagnostic_assert_state (const VariableBase &v) const |
| void | diagnostic_assert_old_state (const VariableBase &v) const |
| void | diagnostic_assert_force (const VariableBase &v) const |
| void | diagnostic_assert_old_force (const VariableBase &v) const |
| void | diagnostic_assert_residual (const VariableBase &v) const |
| void | diagnostic_check_input_variable (const VariableBase &v) const |
| void | diagnostic_check_output_variable (const VariableBase &v) const |
| virtual void | link_input_variables () |
| virtual void | link_input_variables (Model *submodel) |
| virtual void | link_output_variables () |
| virtual void | link_output_variables (Model *submodel) |
| void | check_precision () const |
| | Check the current default precision and warn if it's not double precision.
|
| virtual std::string | failed_graph_execution_hint () const |
| | Additional hint to include in the error message when an exception is encountered during execution of the traced graph.
|
| virtual void | request_AD () |
| void | forward (bool out, bool dout, bool d2out) |
| | Forward operator without jit.
|
| template<typename T = Model, typename = typename std::enable_if_t<std::is_base_of_v<Model, T>>> |
| T & | register_model (const std::string &name, bool merge_input=true) |
| | Register a model that the current model may use during its evaluation.
|
| template<typename T = Model, typename = typename std::enable_if_t<std::is_base_of_v<Model, T>>> |
| void | register_model (const std::shared_ptr< T > &model, bool merge_input=true) |
| | Register a model that the current model may use during its evaluation.
|
| void | assign_input_stack (jit::Stack &stack) |
| jit::Stack | collect_input_stack () const |
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<Data, T>>> |
| T & | register_data (const std::string &name) |
| virtual void | send_buffers_to (const TensorOptions &options) |
| | Send all buffers to options.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const T &rawval) |
| | Declare a buffer.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const TensorName< T > &tensorname) |
| | Declare a buffer.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_buffer (const std::string &name, const std::string &input_option_name) |
| | Declare a buffer.
|
| void | assign_buffer_stack (jit::Stack &stack) |
| | Assign stack to buffers.
|
| jit::Stack | collect_buffer_stack () const |
| | Collect stack from buffers.
|
| virtual void | send_parameters_to (const TensorOptions &options) |
| | Send parameters to options.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_parameter (const std::string &name, const T &rawval) |
| | Declare a parameter.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_parameter (const std::string &name, const TensorName< T > &tensorname, bool allow_nonlinear) |
| | Declare a parameter.
|
| template<typename T, typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> |
| const T & | declare_parameter (const std::string &name, const std::string &input_option_name, bool allow_nonlinear=false) |
| | Declare a parameter.
|
| void | assign_parameter_stack (jit::Stack &stack) |
| | Assign stack to parameters.
|
| jit::Stack | collect_parameter_stack () const |
| | Collect stack from parameters.
|
| virtual void | send_variables_to (const TensorOptions &options) |
| | Send padding variables to options.
|
| template<typename T> |
| const Variable< T > & | declare_input_variable (const char *name, bool allow_duplicate=false) |
| | Declare an input variable.
|
| template<typename T> |
| const Variable< T > & | declare_input_variable (const VariableName &name, bool allow_duplicate=false) |
| | Declare an input variable.
|
| template<typename T> |
| Variable< T > & | declare_output_variable (const char *name) |
| | Declare an output variable.
|
| template<typename T> |
| Variable< T > & | declare_output_variable (const VariableName &name) |
| | Declare an output variable.
|
| const VariableBase * | clone_input_variable (const VariableBase &var, const VariableName &new_name={}) |
| | Clone a variable and put it on the input axis.
|
| VariableBase * | clone_output_variable (const VariableBase &var, const VariableName &new_name={}) |
| | Clone a variable and put it on the output axis.
|
| void | assign_input_stack (jit::Stack &stack) |
| | Assign stack to input variables.
|
| void | assign_output_stack (jit::Stack &stack, bool out, bool dout, bool d2out) |
| | Assign stack to output variables and derivatives.
|
| jit::Stack | collect_input_stack () const |
| | Collect stack from input variables.
|
| jit::Stack | collect_output_stack (bool out, bool dout, bool d2out) const |
| | Collect stack from output variables and derivatives.
|