24 #ifndef __ADAPTIVE_NONLINEAR_VARIATIONAL_SOLVER_H 25 #define __ADAPTIVE_NONLINEAR_VARIATIONAL_SOLVER_H 29 #include "GenericAdaptiveVariationalSolver.h" 36 class NonlinearVariationalProblem;
76 std::shared_ptr<GoalFunctional>
goal);
89 std::shared_ptr<Form> goal,
90 std::shared_ptr<ErrorControl>
control);
108 virtual std::vector<std::shared_ptr<const DirichletBC>>
123 std::shared_ptr<const Function> u)
const;
130 virtual void adapt_problem(std::shared_ptr<const Mesh> mesh);
150 void init(std::shared_ptr<NonlinearVariationalProblem> problem,
151 std::shared_ptr<GoalFunctional> goal);
154 std::shared_ptr<NonlinearVariationalProblem> _problem;
std::shared_ptr< ErrorControl > control
Error control object.
Definition: GenericAdaptiveVariationalSolver.h:142
Definition: GenericAdaptiveVariationalSolver.h:45
std::shared_ptr< Form > goal
The goal functional.
Definition: GenericAdaptiveVariationalSolver.h:139
virtual void adapt_problem(std::shared_ptr< const Mesh > mesh)
Definition: AdaptiveNonlinearVariationalSolver.cpp:107
virtual std::vector< std::shared_ptr< const DirichletBC > > extract_bcs() const
Definition: AdaptiveNonlinearVariationalSolver.cpp:95
virtual double evaluate_goal(Form &M, std::shared_ptr< const Function > u) const
Definition: AdaptiveNonlinearVariationalSolver.cpp:101
virtual std::size_t num_dofs_primal()
Definition: AdaptiveNonlinearVariationalSolver.cpp:114
AdaptiveNonlinearVariationalSolver(std::shared_ptr< NonlinearVariationalProblem > problem, std::shared_ptr< GoalFunctional > goal)
Definition: AdaptiveNonlinearVariationalSolver.cpp:38
~AdaptiveNonlinearVariationalSolver()
Destructor.
Definition: AdaptiveNonlinearVariationalSolver.h:94
virtual std::shared_ptr< const Function > solve_primal()
Definition: AdaptiveNonlinearVariationalSolver.cpp:85
Definition: AdaptiveNonlinearVariationalSolver.h:63