applications/mp-reinit/cases/powder_particles/powder_particles.hpp Source File

Developer Documentation: applications/mp-reinit/cases/powder_particles/powder_particles.hpp Source File
Developer Documentation
powder_particles.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/mpi.h>
4#include <deal.II/base/parameter_handler.h>
5
10
11#include <string>
12#include <vector>
13
14#include "../../reinitialization_case.hpp"
15
16
18{
19 BETTER_ENUM(ParticleCase, char, two_particles, powder_bed)
20
21 template <int dim, typename number>
23 {
24 private:
26 number domain_x_min = 0;
27 number domain_x_max = 0;
28 number domain_y_min = 0;
29 number domain_y_max = 0;
30 number domain_z_min = 0;
31 number domain_z_max = 0;
32
33 std::vector<unsigned int> cell_repetitions;
34
36 ParticleCase particle_case = ParticleCase::two_particles;
37
39 number two_partile_radius = 15e-6;
40 number two_partile_distance = 40e-6;
41
44
45 LevelSet::LevelSetType level_set_type = LevelSet::LevelSetType::tanh;
46
47 public:
49
50 bool
51 add_case_specific_parameters(dealii::ParameterHandler &prm) override;
52
53 void
55
56 void
57 set_boundary_conditions() override;
58
59 void
60 set_field_conditions() override;
61 };
62} // namespace MeltPoolDG::Simulation::PowderParticles
Definition reinitialization_case.hpp:79
const std::string parameter_file
Definition simulation_case_base.hpp:52
const MPI_Comm mpi_communicator
Definition simulation_case_base.hpp:56
number domain_x_min
domain specific
Definition powder_particles.hpp:26
bool add_case_specific_parameters(dealii::ParameterHandler &prm) override
Add simulation-specific parameters (can be overridden).
Definition powder_particles.cpp:85
void set_field_conditions() override
Pure virtual function to set the field conditions.
Definition powder_particles.cpp:196
ParticleCase particle_case
case of particle distribution
Definition powder_particles.hpp:36
std::vector< unsigned int > cell_repetitions
Definition powder_particles.hpp:33
LevelSet::LevelSetType level_set_type
Definition powder_particles.hpp:45
void create_spatial_discretization() override
Pure virtual function to create the spatial discretization.
Definition powder_particles.cpp:125
number two_partile_distance
Definition powder_particles.hpp:40
number two_partile_radius
two_particle specific parameters
Definition powder_particles.hpp:39
MeltPool::PowderBedData< number > powder_bed_data
powder_bed specific parameters
Definition powder_particles.hpp:43
void set_boundary_conditions() override
Pure virtual function to set the boundary conditions.
Definition powder_particles.cpp:186
Definition powder_particles.cpp:23
BETTER_ENUM(MaterialTemplate, char, none, stainless_steel, Ti64, Ti64Benchmark) BETTER_ENUM(SolidLiquidPropertiesTransitionType
Definition powder_bed.hpp:20