A monolith nonlinear system defined by a Model.
|
| | ModelNonlinearSystem (const OptionSet &options) |
| const std::shared_ptr< Model > & | model_ptr () const |
| const Model & | model () const |
| Model & | model () |
| void | setup () override |
| | Setup this object.
|
| void | to (const TensorOptions &) override |
| | Change the device and dtype of the equation system's internal data.
|
| void | set_u (const SparseTensorList &) override |
| | Set the unknown u.
|
| void | set_g (const SparseTensorList &) override |
| | Set the given variables g from the current step.
|
| SparseTensorList | u () const override |
| | Get the unknown u.
|
| SparseTensorList | g () const override |
| | Get the given variables g from the current step.
|
| | EquationSystem (const OptionSet &options) |
| | 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.
|
| void | u_changed () override |
| | Trigger when unknown variables changed.
|
| | LinearSystem ()=default |
| | LinearSystem (const LinearSystem &)=default |
| | LinearSystem (LinearSystem &&) noexcept=default |
| | LinearSystem ()=default |
| | LinearSystem (const LinearSystem &)=default |
| | LinearSystem (LinearSystem &&) noexcept=default |
| LinearSystem & | operator= (const LinearSystem &)=default |
| LinearSystem & | operator= (LinearSystem &&) noexcept=default |
| virtual | ~LinearSystem ()=default |
| virtual void | init () |
| std::size_t | m () const |
| | Number of rows in the matrix.
|
| std::size_t | n () const |
| | Number of columns in the matrix.
|
| std::size_t | p () const |
| | Number of columns in the auxiliary matrix.
|
| virtual void | g_changed () |
| | Trigger when given variables changed.
|
| SparseTensorList | A () |
| | Assemble and return the operator, A.
|
| SparseTensorList | b () |
| | Assemble and return the right-hand side, b.
|
| std::tuple< SparseTensorList, SparseTensorList > | A_and_b () |
| | Assemble and return the right-hand side and operator.
|
| std::tuple< SparseTensorList, SparseTensorList > | A_and_B () |
| | Assemble the auxiliary matrix B = dr/dg along with A.
|
| std::tuple< SparseTensorList, SparseTensorList, SparseTensorList > | A_and_B_and_b () |
| | Assemble the auxiliary matrix B = dr/dg along with A and b.
|
| const std::vector< LabeledAxisAccessor > & | umap () const |
| | Get the ID-to-unknown mapping for assembly.
|
| const std::vector< TensorShape > & | intmd_ulayout () const |
| | Get the ID-to-unknown-intermediate-shape mapping for assembly.
|
| const std::vector< TensorShape > & | ulayout () const |
| | Get the ID-to-unknown-base-shape mapping for assembly.
|
| const std::vector< LabeledAxisAccessor > & | gmap () const |
| | Get the ID-to-prescribed-variable mapping for assembly.
|
| const std::vector< TensorShape > & | intmd_glayout () const |
| | Get the ID-to-prescribed-variable-intermediate-shape mapping for assembly.
|
| const std::vector< TensorShape > & | glayout () const |
| | Get the ID-to-prescribed-variable-base-shape mapping for assembly.
|
| const std::vector< LabeledAxisAccessor > & | bmap () const |
| | Get the ID-to-RHS mapping for assembly.
|
| const std::vector< TensorShape > & | intmd_blayout () const |
| | Get the ID-to-RHS-intermediate-shape mapping for assembly.
|
| const std::vector< TensorShape > & | blayout () const |
| | Get the ID-to-RHS-base-shape mapping for assembly.
|
| | 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.
|
| | 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.
|
|
| std::vector< LabeledAxisAccessor > | setup_umap () override |
| | Setup the unknown map.
|
| std::vector< TensorShape > | setup_intmd_ulayout () override |
| | Setup the unknown intermediate layout.
|
| std::vector< TensorShape > | setup_ulayout () override |
| | Setup the unknown layout.
|
| std::vector< LabeledAxisAccessor > | setup_bmap () override |
| | Setup the RHS map.
|
| std::vector< TensorShape > | setup_intmd_blayout () override |
| | Setup the RHS intermediate layout.
|
| std::vector< TensorShape > | setup_blayout () override |
| | Setup the RHS layout.
|
| std::vector< LabeledAxisAccessor > | setup_gmap () override |
| | Setup the given variable map.
|
| std::vector< TensorShape > | setup_intmd_glayout () override |
| | Setup the given variable intermediate layout.
|
| std::vector< TensorShape > | setup_glayout () override |
| | Setup the given variable base layout.
|
| void | assemble (SparseTensorList *A, SparseTensorList *B, SparseTensorList *b) override |
| | Compute the operator and right-hand side.
|
| void | pre_assemble (bool A, bool B, bool b) override |
| | Callback before assembly to perform.
|
| void | post_assemble (bool A, bool B, bool b) override |
| | Callback after assembly to perform.
|
| 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_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.
|