SimulationRecoilPressure< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number > Class Template Reference

#include <recoil_pressure.hpp>

Inheritance diagram for MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >:
[legend]
Collaboration diagram for MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >:
[legend]

Classes

struct  SliceData
 

Public Member Functions

 SimulationRecoilPressure (std::string parameter_file, const MPI_Comm mpi_communicator)
 
bool add_case_specific_parameters (dealii::ParameterHandler &prm) override
 Add simulation-specific parameters (can be overridden).
 
void create_spatial_discretization () override
 Pure virtual function to create the spatial discretization.
 
void set_boundary_conditions () override
 Pure virtual function to set the boundary conditions.
 
void set_field_conditions () override
 Pure virtual function to set the field conditions.
 
void do_postprocessing (const GenericDataOut< dim, double > &generic_data_out) const final
 
- Public Member Functions inherited from MeltPoolDG::MeltPoolCase< dim, number >
 MeltPoolCase (const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
 
- Public Member Functions inherited from MeltPoolDG::SimulationCaseBase< dim, number, spacedim >
virtual ~SimulationCaseBase ()=default
 
 SimulationCaseBase (const std::string &parameter_file_in, MPI_Comm mpi_communicator_in)
 
void create ()
 Main setup function to initialize the simulation.
 
std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > get_boundary_condition (const std::string &type, const std::string &operation_name, const bool is_optional=true) const
 Retrieve boundary conditions of a specific type for an operation.
 
std::shared_ptr< BoundaryConditionManager< dim, number > > get_boundary_condition_manager (const std::string &operation_name, const bool is_optional=true) const
 Retrieve the boundary condition object for a specific operation.
 
std::string get_boundary_condition_type (dealii::types::boundary_id boundary_id, const std::string &operation_name) const
 Retrieve the type of a boundary condition for a specific boundary ID and operation.
 
void set_time_boundary_conditions (const number time)
 Update the time for all boundary conditions.
 
std::shared_ptr< dealii::Function< dim > > get_field_function (const std::string &type, const std::string &operation_name, const bool is_optional=false)
 
std::shared_ptr< dealii::Function< dim > > get_initial_condition (const std::string &operation_name, const bool is_optional=false)
 Retrieve the initial condition for a given operation.
 
const PeriodicBoundaryConditions< dim > & get_periodic_bc () const
 Get the periodic boundary condition manager.
 
virtual void do_postprocessing (const GenericDataOut< dim, number > &generic_data_out) const
 Perform specific postprocessing (can be overridden by derived classes).
 

Private Attributes

double domain_x_min = 0
 
double domain_x_max = 0
 
double domain_y_min = 0
 
double domain_y_max = 0
 
std::vector< unsigned int > cell_repetitions
 
bool periodic_boundary = false
 
bool evaporation_boundary = false
 
double outlet_pressure = 0.0
 
bool slip_boundary = false
 
unsigned int n_local_refinement = 0
 
double T_initial_top = 500
 
double T_initial_bottom = T_initial_top
 
dealii::Point< dim > local_refinement_1_bottom_left
 
dealii::Point< dim > local_refinement_1_top_right
 
dealii::Point< dim > local_refinement_2_bottom_left
 
dealii::Point< dim > local_refinement_2_top_right
 
dealii::parallel::distributed::Triangulation< 2, 3 > tria_slice
 
std::shared_ptr< PostProcessingTools::SliceCreator< 3, double > > slice
 
unsigned int n_written_time_step_slice = 0
 
struct MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure::SliceData slice_data
 

Additional Inherited Members

- Public Attributes inherited from MeltPoolDG::MeltPoolCase< dim, number >
MeltPoolCaseParameters< number > parameters
 
- Public Attributes inherited from MeltPoolDG::SimulationCaseBase< dim, number, spacedim >
std::shared_ptr< dealii::Triangulation< dim, spacedim > > triangulation
 
const std::string parameter_file
 
const MPI_Comm mpi_communicator
 
- Protected Member Functions inherited from MeltPoolDG::SimulationCaseBase< dim, number, spacedim >
void attach_field_function (std::shared_ptr< dealii::Function< dim > > function, const std::string &type, const std::string &operation_name)
 
void attach_initial_condition (std::shared_ptr< dealii::Function< dim > > initial_function, const std::string &operation_name)
 
void attach_boundary_condition (std::pair< const dealii::types::boundary_id, const std::shared_ptr< dealii::Function< dim > > > id_and_function, const std::string &type, const std::string &operation_name)
 Attach a boundary condition for a specific operation.
 
void attach_boundary_condition (const dealii::types::boundary_id id, const std::string &type, const std::string &operation_name)
 Attach a boundary condition with a dummy function for a specific operation.
 
void attach_periodic_boundary_condition (const dealii::types::boundary_id id_in, const dealii::types::boundary_id id_out, const int direction)
 

Constructor & Destructor Documentation

◆ SimulationRecoilPressure()

template<int dim, typename number >
MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::SimulationRecoilPressure ( std::string  parameter_file,
const MPI_Comm  mpi_communicator 
)
inline

Member Function Documentation

◆ add_case_specific_parameters()

template<int dim, typename number >
bool MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::add_case_specific_parameters ( dealii::ParameterHandler &  )
inlineoverridevirtual

Add simulation-specific parameters (can be overridden).

This function can be overridden in derived classes to add custom simulation parameters to the handler. The return value can be used to print the parameters to the terminal output.

Parameters
prmParameterHandler object to which parameters can be added.

Reimplemented from MeltPoolDG::SimulationCaseBase< dim, number, spacedim >.

◆ create_spatial_discretization()

template<int dim, typename number >
void MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::create_spatial_discretization ( )
inlineoverridevirtual

Pure virtual function to create the spatial discretization.

Derived classes must implement this function to define how the spatial discretization is created.

Implements MeltPoolDG::SimulationCaseBase< dim, number, spacedim >.

◆ do_postprocessing()

template<int dim, typename number >
void MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::do_postprocessing ( const GenericDataOut< dim, double > &  generic_data_out) const
inlinefinal

◆ set_boundary_conditions()

template<int dim, typename number >
void MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::set_boundary_conditions ( )
inlineoverridevirtual

Pure virtual function to set the boundary conditions.

Derived classes must implement this function to define how boundary conditions are set.

Implements MeltPoolDG::SimulationCaseBase< dim, number, spacedim >.

◆ set_field_conditions()

template<int dim, typename number >
void MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::set_field_conditions ( )
inlineoverridevirtual

Pure virtual function to set the field conditions.

Derived classes must implement this function to define how field conditions are set.

Implements MeltPoolDG::SimulationCaseBase< dim, number, spacedim >.

Member Data Documentation

◆ cell_repetitions

template<int dim, typename number >
std::vector<unsigned int> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::cell_repetitions
private

◆ domain_x_max

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::domain_x_max = 0
private

◆ domain_x_min

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::domain_x_min = 0
private

◆ domain_y_max

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::domain_y_max = 0
private

◆ domain_y_min

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::domain_y_min = 0
private

◆ evaporation_boundary

template<int dim, typename number >
bool MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::evaporation_boundary = false
private

◆ local_refinement_1_bottom_left

template<int dim, typename number >
dealii::Point<dim> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::local_refinement_1_bottom_left
private

◆ local_refinement_1_top_right

template<int dim, typename number >
dealii::Point<dim> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::local_refinement_1_top_right
private

◆ local_refinement_2_bottom_left

template<int dim, typename number >
dealii::Point<dim> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::local_refinement_2_bottom_left
private

◆ local_refinement_2_top_right

template<int dim, typename number >
dealii::Point<dim> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::local_refinement_2_top_right
private

◆ n_local_refinement

template<int dim, typename number >
unsigned int MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::n_local_refinement = 0
private

◆ n_written_time_step_slice

template<int dim, typename number >
unsigned int MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::n_written_time_step_slice = 0
mutableprivate

◆ outlet_pressure

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::outlet_pressure = 0.0
private

◆ periodic_boundary

template<int dim, typename number >
bool MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::periodic_boundary = false
private

◆ slice

template<int dim, typename number >
std::shared_ptr<PostProcessingTools::SliceCreator<3, double> > MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::slice
mutableprivate

◆ slice_data

◆ slip_boundary

template<int dim, typename number >
bool MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::slip_boundary = false
private

◆ T_initial_bottom

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::T_initial_bottom = T_initial_top
private

◆ T_initial_top

template<int dim, typename number >
double MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::T_initial_top = 500
private

◆ tria_slice

template<int dim, typename number >
dealii::parallel::distributed::Triangulation<2, 3> MeltPoolDG::Simulation::RecoilPressure::SimulationRecoilPressure< dim, number >::tria_slice
private

The documentation for this class was generated from the following file: