45class TimeIntBDF :
public TimeIntBDFBase
48 using Base = TimeIntBDFBase;
49 using VectorType = dealii::LinearAlgebra::distributed::Vector<Number>;
50 using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<Number>;
51 using BoostInputArchiveType = TimeIntBase::BoostInputArchiveType;
52 using BoostOutputArchiveType = TimeIntBase::BoostOutputArchiveType;
58 MPI_Comm
const & mpi_comm_in,
59 bool const is_test_in);
65 virtual VectorType
const &
66 get_velocity()
const = 0;
68 virtual VectorType
const &
69 get_velocity_np()
const = 0;
71 virtual VectorType
const &
72 get_pressure()
const = 0;
74 virtual VectorType
const &
75 get_pressure_np()
const = 0;
78 get_velocities_and_times(std::vector<VectorType const *> & velocities,
79 std::vector<double> & times)
const;
82 get_velocities_and_times_np(std::vector<VectorType const *> & velocities,
83 std::vector<double> & times)
const;
86 get_pressures_and_times(std::vector<VectorType const *> & pressures,
87 std::vector<double> & times)
const;
90 get_pressures_and_times_np(std::vector<VectorType const *> & pressures,
91 std::vector<double> & times)
const;
97 advance_one_timestep_partitioned_solve(
bool const use_extrapolation,
98 bool const update_velocity,
99 bool const update_pressure);
102 print_iterations()
const = 0;
105 print_solver_info()
const final;
109 allocate_vectors()
override;
112 setup_derived()
override;
115 read_restart_vectors()
final;
118 write_restart_vectors()
const final;
121 get_vectors_serialization(std::vector<VectorType const *> & vectors_velocity,
122 std::vector<VectorType const *> & vectors_pressure)
const;
125 set_vectors_deserialization(std::vector<VectorType>
const & vectors_velocity,
126 std::vector<VectorType>
const & vectors_pressure);
129 prepare_vectors_for_next_timestep()
override;
135 unsigned int const refine_steps_time;
141 std::shared_ptr<SpatialOperatorBase<dim, Number>> operator_base;
144 bool needs_vector_convective_term;
145 std::vector<VectorType> vec_convective_term;
146 VectorType convective_term_np;
149 bool use_extrapolation;
151 bool update_velocity;
152 bool update_pressure;
155 std::shared_ptr<HelpersALE<dim, Number>
const> helpers_ale;
159 get_quantities_and_times(
160 std::vector<VectorType const *> & quantities,
161 std::vector<double> & times,
162 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity)
const;
165 get_quantities_and_times_np(
166 std::vector<VectorType const *> & quantities,
167 std::vector<double> & times,
168 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity,
169 std::function<VectorType
const *()>
const & get_quantity_np)
const;
172 initialize_vec_convective_term();
175 calculate_time_step_size()
final;
178 recalculate_time_step_size()
const final;
180 virtual VectorType
const &
181 get_velocity(
unsigned int i )
const = 0;
183 virtual VectorType
const &
184 get_pressure(
unsigned int i )
const = 0;
187 set_velocity(VectorType
const & velocity,
unsigned int const i ) = 0;
190 set_pressure(VectorType
const & pressure,
unsigned int const i ) = 0;
193 postprocessing()
const final;
196 std::shared_ptr<PostProcessorInterface<Number>> postprocessor;
199 VectorType grid_velocity;
200 std::vector<VectorType> vec_grid_coordinates;
201 VectorType grid_coordinates_np;
Definition postprocessor_interface.h:37