21 #ifndef _aspect_solution_evaluator_h
22 #define _aspect_solution_evaluator_h
89 get_value(
const unsigned int evaluation_point)
const = 0;
169 const std::vector<EvaluationFlags::EvaluationFlags> &evaluation_flags);
185 const std::vector<EvaluationFlags::EvaluationFlags> &evaluation_flags)
const;
201 const std::vector<EvaluationFlags::EvaluationFlags> &evaluation_flags)
const;
234 std::unique_ptr<FEPointEvaluation<1, dim>>
pressure;
241 std::vector<std::unique_ptr<internal::DynamicFEPointEvaluation<dim>>>
compositions;
272 std::unique_ptr<SolutionEvaluator<dim>>
void get_solution(const unsigned int evaluation_point, const ArrayView< double > &solution, const std::vector< EvaluationFlags::EvaluationFlags > &evaluation_flags) const
std::unique_ptr< FEPointEvaluation< 1, dim > > compaction_pressure
NonMatching::MappingInfo< dim > & get_mapping_info()
SolutionEvaluator(const SimulatorAccess< dim > &simulator, const UpdateFlags update_flags)
FEPointEvaluation< dim, dim > & get_velocity_or_fluid_velocity_evaluator(const bool use_fluid_velocity)
FEPointEvaluation< 1, dim > temperature
const SimulatorAccess< dim > & simulator_access
void evaluate(const ArrayView< double > &solution_values, const std::vector< EvaluationFlags::EvaluationFlags > &evaluation_flags)
std::array< unsigned int, 3 > melt_component_indices
std::unique_ptr< FEPointEvaluation< 1, dim > > pressure
void reinit(const typename DoFHandler< dim >::active_cell_iterator &cell, const ArrayView< Point< dim >> &positions)
std::vector< std::unique_ptr< internal::DynamicFEPointEvaluation< dim > > > compositions
unsigned int n_components() const
void get_gradients(const unsigned int evaluation_point, const ArrayView< Tensor< 1, dim >> &gradients, const std::vector< EvaluationFlags::EvaluationFlags > &evaluation_flags) const
NonMatching::MappingInfo< dim > mapping_info
std::unique_ptr< FEPointEvaluation< dim, dim > > fluid_velocity
std::unique_ptr< FEPointEvaluation< 1, dim > > fluid_pressure
FEPointEvaluation< dim, dim > velocity
unsigned int first_component
unsigned int n_components
virtual unsigned int get_n_components() const final
virtual small_vector< double > get_value(const unsigned int evaluation_point) const =0
virtual void get_value(const unsigned int evaluation_point, const ArrayView< double > &solution) const =0
DynamicFEPointEvaluation(const unsigned int first_component, const unsigned int n_components)
virtual ~DynamicFEPointEvaluation()=default
virtual unsigned int get_first_component() const final
virtual void evaluate(const ArrayView< double > &solution_values, const EvaluationFlags::EvaluationFlags flags)=0
virtual void get_gradient(const unsigned int evaluation_point, const ArrayView< Tensor< 1, dim >> &gradients) const =0
virtual small_vector< Tensor< 1, dim > > get_gradient(const unsigned int evaluation_point) const =0
boost::container::small_vector< T, N > small_vector
std::unique_ptr< SolutionEvaluator< dim > > construct_solution_evaluator(const SimulatorAccess< dim > &simulator_access, const UpdateFlags update_flags)