numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver > Class Template Reference

Class to wrap implicit problems to use as explicit problems. More...

#include <num_collect/ode/implicit_problem_wrapper.h>

+ Collaboration diagram for num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >:

Public Types

using scalar_type = typename Problem::scalar_type
 Type of scalars.
 
using variable_type = typename Problem::variable_type
 Type of variables.
 

Public Member Functions

 multi_variate_implicit_problem_wrapper (Problem problem)
 Constructor.
 
auto diff_coeff () const noexcept -> const variable_type &
 Get the differential coefficient.
 
void evaluate_on (const scalar_type &time, const variable_type &variable, evaluation_type)
 Evaluate on a (time, variable) pair.
 

Static Public Attributes

static constexpr auto allowed_evaluations
 Allowed evaluations.
 

Private Attributes

variable_type diff_coeff_ {}
 Differential coefficient.
 
Problem problem_
 Problem.
 
LinearEquationSolver solver_ {}
 Solver of linear equations.
 

Detailed Description

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
requires concepts::mass_problem<Problem>
class num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >

Class to wrap implicit problems to use as explicit problems.

Template Parameters
ProblemType of the problem.
LinearEquationSolverType of the solver of linear equations.

Definition at line 104 of file implicit_problem_wrapper.h.

Member Typedef Documentation

◆ scalar_type

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
using num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::scalar_type = typename Problem::scalar_type

Type of scalars.

Definition at line 110 of file implicit_problem_wrapper.h.

◆ variable_type

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
using num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::variable_type = typename Problem::variable_type

Type of variables.

Definition at line 107 of file implicit_problem_wrapper.h.

Constructor & Destructor Documentation

◆ multi_variate_implicit_problem_wrapper()

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::multi_variate_implicit_problem_wrapper ( Problem problem)
inlineexplicit

Constructor.

Parameters
[in]problemProblem.

Definition at line 121 of file implicit_problem_wrapper.h.

Member Function Documentation

◆ diff_coeff()

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
auto num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::diff_coeff ( ) const -> const variable_type&
inlinenodiscardnoexcept

Get the differential coefficient.

Returns
Differential coefficient.

Definition at line 143 of file implicit_problem_wrapper.h.

◆ evaluate_on()

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
void num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::evaluate_on ( const scalar_type & time,
const variable_type & variable,
evaluation_type  )
inline

Evaluate on a (time, variable) pair.

Parameters
[in]timeTime.
[in]variableVariable.

Definition at line 130 of file implicit_problem_wrapper.h.

Member Data Documentation

◆ allowed_evaluations

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
auto num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::allowed_evaluations
staticconstexpr
Initial value:
=
Struct to specify types of evaluations.

Allowed evaluations.

Definition at line 113 of file implicit_problem_wrapper.h.

◆ diff_coeff_

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
variable_type num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::diff_coeff_ {}
private

Differential coefficient.

Definition at line 152 of file implicit_problem_wrapper.h.

◆ problem_

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
Problem num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::problem_
private

Problem.

Definition at line 149 of file implicit_problem_wrapper.h.

◆ solver_

template<concepts::multi_variate_problem Problem, base::concepts::eigen_solver_of< typename Problem::mass_type, typename Problem::variable_type > LinearEquationSolver = Eigen::PartialPivLU<typename Problem::mass_type>>
LinearEquationSolver num_collect::ode::multi_variate_implicit_problem_wrapper< Problem, LinearEquationSolver >::solver_ {}
private

Solver of linear equations.

Definition at line 155 of file implicit_problem_wrapper.h.


The documentation for this class was generated from the following file: