38class SolutionField :
public dealii::Subscriptor
41 using VectorType = dealii::LinearAlgebra::distributed::Vector<Number>;
44 : initialize_vector([](VectorType &) {}),
45 recompute_solution_field([](VectorType &, VectorType
const &) {}),
46 type(SolutionFieldType::scalar),
60 initialize_vector(solution_vector);
77 recompute_solution_field(solution_vector, src);
85 AssertThrow(is_available,
86 dealii::ExcMessage(
"You are trying to access a Vector that is invalid."));
88 return solution_vector;
92 evaluate_get(VectorType
const & src)
105 dealii::DoFHandler<dim>
const &
106 get_dof_handler()
const
118 std::function<void(VectorType &)> initialize_vector;
120 std::function<void(VectorType &, VectorType
const &)> recompute_solution_field;
122 SolutionFieldType type;
126 dealii::DoFHandler<dim>
const * dof_handler;
130 VectorType solution_vector;