37class TimeIntInterpolateAnalyticalSolution :
public TimeIntBDF<dim, Number>
39 using Base = TimeIntBDF<dim, Number>;
40 using VectorType =
typename Base::VectorType;
44 TimeIntInterpolateAnalyticalSolution(
45 std::shared_ptr<Operator> operator_in,
49 MPI_Comm
const & mpi_comm_in,
50 bool const is_test_in)
51 : Base(operator_in, helpers_ale_in, postprocessor_in, param_in, mpi_comm_in, is_test_in),
52 velocity(this->order),
58 print_iterations()
const final
60 std::vector<std::string> names = {
"Interpolation analytical solution"};
61 std::vector<double> iterations_avg{0.0};
62 print_list_of_iterations(this->pcout, names, iterations_avg);
66 get_velocity()
const final
73 get_pressure()
const final
79 get_velocity_np()
const final
84 get_pressure_np()
const final
91 get_velocity(
unsigned int i )
const final
98 get_pressure(
unsigned int i )
const final
104 allocate_vectors()
final
106 Base::allocate_vectors();
109 for(
unsigned int i = 0; i < velocity.size(); ++i)
110 this->operator_base->initialize_vector_velocity(velocity[i]);
111 this->operator_base->initialize_vector_velocity(velocity_np);
114 for(
unsigned int i = 0; i < pressure.size(); ++i)
115 this->operator_base->initialize_vector_pressure(pressure[i]);
116 this->operator_base->initialize_vector_pressure(pressure_np);
124 do_timestep_solve()
final
126 this->operator_base->interpolate_analytical_solution(velocity_np,
128 this->get_next_time());
132 prepare_vectors_for_next_timestep()
final
134 Base::prepare_vectors_for_next_timestep();
137 velocity[0].swap(velocity_np);
140 pressure[0].swap(pressure_np);
144 solve_steady_problem()
final
146 AssertThrow(
false, dealii::ExcMessage(
"TimeIntAnalytic not implemented for steady problem."));
151 initialize_current_solution()
final
153 if(this->param.ale_formulation)
154 this->helpers_ale->move_grid(this->get_time());
156 this->operator_base->interpolate_analytical_solution(velocity[0],
162 initialize_former_multistep_dof_vectors()
final
165 for(
unsigned int i = 1; i < velocity.size(); ++i)
167 if(this->param.ale_formulation)
168 this->helpers_ale->move_grid(this->get_previous_time(i));
170 this->operator_base->interpolate_analytical_solution(velocity[i],
172 this->get_previous_time(i));
177 set_velocity(VectorType
const & velocity_in,
unsigned int const i )
final
179 velocity[i] = velocity_in;
183 set_pressure(VectorType
const & pressure_in,
unsigned int const i )
final
185 pressure[i] = pressure_in;
188 std::vector<VectorType> velocity;
189 std::vector<VectorType> pressure;
190 VectorType velocity_np;
191 VectorType pressure_np;
Definition postprocessor_interface.h:34