38 ParticleData() : directory(
"output/"), filename(
"particle")
43 print(dealii::ConditionalOStream & pcout)
45 if(time_control_data.is_active)
47 pcout << std::endl <<
" Trace particles:" << std::endl;
50 time_control_data.print(pcout,
true );
52 print_parameter(pcout,
"Directory of output files", directory);
53 print_parameter(pcout,
"Filename", filename);
60 std::string directory;
64 std::vector<dealii::Point<2>> starting_points_2d;
65 std::vector<dealii::Point<3>> starting_points_3d;
69class ParticleCalculator
72 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
74 typedef dealii::VectorizedArray<Number> scalar;
75 typedef dealii::Tensor<1, dim, dealii::VectorizedArray<Number>> vector;
76 typedef dealii::Tensor<2, dim, dealii::VectorizedArray<Number>> tensor;
78 ParticleCalculator(MPI_Comm
const & comm);
81 setup(dealii::DoFHandler<dim>
const & dof_handler_in,
82 dealii::Mapping<dim>
const & mapping_in,
86 evaluate(VectorType
const & velocity,
double const time,
bool const print_output);
92 track_lost_particle(
const typename dealii::Particles::ParticleIterator<dim> & particle,
93 const typename dealii::Triangulation<dim>::active_cell_iterator & cell);
96 MPI_Comm
const mpi_comm;
98 dealii::ObserverPointer<dealii::DoFHandler<dim>
const> dof_handler;
99 dealii::ObserverPointer<dealii::Mapping<dim>
const> mapping;
104 unsigned int lost_paticles;
105 std::vector<std::vector<dealii::BoundingBox<dim>>> global_bounding_boxes;
107 dealii::Vector<Number> solution_values;
108 dealii::Particles::ParticleHandler<dim> particle_handler;
Definition particle_calculation.h:37