InputDefinedSubdividedHyperRectangleDomain< dim, number > Struct Template Reference
|
Developer Documentation
|
#include <case_utils.hpp>
Public Member Functions | |
| void | create_triangulation (std::shared_ptr< dealii::Triangulation< dim > > &triangulation, const MPI_Comm &mpi_communicator, const unsigned n_global_refinements) |
| void | add_parameters (dealii::ParameterHandler &prm) |
Public Attributes | |
| std::vector< number > | domain_dimensions |
| std::vector< unsigned > | domain_base_discretization |
| std::array< std::vector< number >, 2 > | region_of_interest_corner |
| unsigned | region_of_interest_refinement_times = 0 |
| std::vector< bool > | periodic_boundaries = std::vector<bool>(dim, false) |
Detailed Description
struct MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >
Struct creating a hyper-rectangular mesh based on user-provided parameters describing the domain size and discretization. This struct can be used to provide cases where the user can specify the domain size and discretization via the input file, and where the mesh is created accordingly. For details what parameters can be provided to fine tune the mesh, see the documentation of the member variables of this struct.
Member Function Documentation
◆ add_parameters()
| void MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::add_parameters | ( | dealii::ParameterHandler & | prm | ) |
Adds all required parameters describing domain size and discretization relevant for creating a user defined hyper-rectangle mesh to the parameter handler.
- Parameters
-
prm Parameter handler to which the parameters will be added.
◆ create_triangulation()
| void MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::create_triangulation | ( | std::shared_ptr< dealii::Triangulation< dim > > & | triangulation, |
| const MPI_Comm & | mpi_communicator, | ||
| const unsigned | n_global_refinements | ||
| ) |
Generates a hyper-rectangular mesh based on the parameters stored in this struct. For simulations with dim > 1, the mesh is created as a distributed triangulation. For dim == 1, it is created as a parallel shared triangulation.
- Parameters
-
triangulation Shared pointer to an empty triangulation object where the generated mesh will be stored. mpi_communicator MPI communicator used to construct the triangulation. n_global_refinements Number of global refinements to apply after mesh creation. This count includes regions marked for additional refinement by the user. Consequently, the final refinement level in a region of interest is n_global_refinements + region_of_interest_refinement_times.
Member Data Documentation
◆ domain_base_discretization
| std::vector<unsigned> MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::domain_base_discretization |
Discretization of the domain in each dimension. The x, y, and z discretizations are given at indices 0, 1, and 2, respectively.
◆ domain_dimensions
| std::vector<number> MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::domain_dimensions |
Sizes of the domain in each dimension. The x, y, and z sizes are given at indices 0, 1, and 2, respectively.
◆ periodic_boundaries
| std::vector<bool> MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::periodic_boundaries = std::vector<bool>(dim, false) |
Vector indicating which boundaries are periodic. The x, y, and z periodicity flags are given at indices 0, 1, and 2, respectively.
◆ region_of_interest_corner
| std::array<std::vector<number>, 2> MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::region_of_interest_corner |
Defines the opposite corners of an axis-aligned box in physical space. The region enclosed by these points may be subject to additional refinement, depending on the value of region_of_interest_refinement_times.
◆ region_of_interest_refinement_times
| unsigned MeltPoolDG::CompressibleFlow::InputDefinedSubdividedHyperRectangleDomain< dim, number >::region_of_interest_refinement_times = 0 |
If greater than zero, cells whose centers lie within the region defined by region_of_interest_corner will be refined this many additional times beyond the global refinement level.
The documentation for this struct was generated from the following files:
- include/meltpooldg/compressible_flow/case_utils.hpp
- source/compressible_flow/case_utils.cpp
Generated by