41 #ifndef DTK_NONLINEARPROBLEMTRAITS_HPP 42 #define DTK_NONLINEARPROBLEMTRAITS_HPP 51 template <
typename UndefinedNonlinearProblem>
54 static inline UndefinedNonlinearProblem notDefined()
56 return UndefinedNonlinearProblem::
57 this_type_is_missing_a_specialization();
67 template <
typename NonlinearProblem>
75 typedef typename NonlinearProblem::md_array_type
MDArray;
78 typedef typename MDArray::scalar_type
Scalar;
90 const MDArray &u, MDArray &F )
98 const MDArray &u, MDArray &J )
110 #endif // end DTK_NONLINEARPROBLEMTRAITS_HPP NonlinearProblem::md_array_type MDArray
Typedef for multidimensional array type.
static void updateState(NonlinearProblem &problem, const MDArray &u)
Update the state of the nonlinear problem given a new solution vector.
static void evaluateJacobian(const NonlinearProblem &problem, const MDArray &u, MDArray &J)
MDArray::scalar_type Scalar
Typedef for multidimensional array scalar type.
NonlinearProblem nonlinear_problem_type
Typedef for NonlinearProblem.
Traits class for nonlinear problems.
Dummy struct. If a type does not create a specialization this will not compile.
static void evaluateResidual(const NonlinearProblem &problem, const MDArray &u, MDArray &F)