PRISMS-PF Manual
Loading...
Searching...
No Matches
SpatialDiscretization< dim > Class Template Reference

Struct that holds spatial discretization parameters. More...

#include <spatial_discretization.h>

Inheritance diagram for SpatialDiscretization< dim >:
[legend]
Collaboration diagram for SpatialDiscretization< dim >:
[legend]

Public Types

using Triangulation = typename Mesh<dim>::Triangulation
 

Public Member Functions

void assign (dealii::ParameterHandler &parameter_handler, unsigned int n_subsections=Numbers::default_subsections) override
 Assign the parameters from file.
 
void validate (const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
 Validate.
 
void generate_mesh (Triangulation &triangulation) const override
 Generate the mesh.
 
void mark_boundaries (Triangulation &triangulation) const override
 Mark the boundaries of the mesh.
 
std::list< PeriodicPair< dim > > periodicity_set () const override
 Periodicity set.
 
double distance (const dealii::Point< dim > &point_1, const dealii::Point< dim > &point_2) const override
 Calculation the distance between two points considering periodic boundaries.
 
const Mesh< dim > & get_mesh () const
 Get the mesh object.
 
Mesh< dim > & get_mesh ()
 Get the mesh object.
 
bool should_refine_mesh (unsigned int increment) const
 Whether the provided increment is a valid grid refinement step.
 
- Public Member Functions inherited from ParameterBase
 ParameterBase ()=default
 
virtual ~ParameterBase ()=default
 
 ParameterBase (const ParameterBase &)=default
 
 ParameterBase (ParameterBase &&)=default
 
ParameterBaseoperator= (const ParameterBase &)=default
 
ParameterBaseoperator= (ParameterBase &&)=default
 

Static Public Member Functions

static void declare (dealii::ParameterHandler &parameter_handler, unsigned int n_subsections=Numbers::default_subsections)
 Declare the parameters to be read from file.
 

Public Attributes

TriangulationType mesh_type = TriangulationType::Rectangular
 
RectangularMesh< dim > rectangular_mesh
 
SphericalMesh< dim > spherical_mesh
 
Mesh< dim > * custom_mesh = nullptr
 
unsigned int global_refinement = 0
 
bool has_adaptivity = false
 
unsigned int max_refinement = 0
 
unsigned int min_refinement = 0
 
unsigned int remeshing_period = UINT_MAX
 
std::map< std::string, RefinementCriterionrefinement_criteria
 

Additional Inherited Members

- Private Types inherited from Mesh< dim >
using Triangulation
 
- Private Member Functions inherited from Mesh< dim >
 Mesh ()=default
 Constructor.
 
template<typename real1, typename real2>
double distance (const dealii::Point< dim, real1 > &point_1, const dealii::Point< dim, real2 > &point_2) const
 Calculation the distance between two points considering periodic boundaries.
 
template<typename real1>
dealii::VectorizedArray< real1 > distance (const dealii::Point< dim, dealii::VectorizedArray< real1 > > &point_1, const dealii::Point< dim, dealii::VectorizedArray< real1 > > &point_2) const
 Calculation the distance between two points considering periodic boundaries.
 
virtual void validate () const
 Validate.
 
void mark_periodic (Triangulation &triangulation) const
 Mark the periodic faces of the mesh.
 
template<typename number>
void mark_periodic (const dealii::DoFHandler< dim > &dof_handler, dealii::AffineConstraints< number > &constraints) const
 Mark the periodic faces of the mesh.
 
template<unsigned int dim>
void mark_periodic (typename Mesh< dim >::Triangulation &triangulation) const
 

Detailed Description

template<unsigned int dim>
class SpatialDiscretization< dim >

Struct that holds spatial discretization parameters.

Member Typedef Documentation

◆ Triangulation

template<unsigned int dim>
using SpatialDiscretization< dim >::Triangulation = typename Mesh<dim>::Triangulation

Member Function Documentation

◆ assign()

template<unsigned int dim>
void SpatialDiscretization< dim >::assign ( dealii::ParameterHandler & parameter_handler,
unsigned int n_subsections = Numbers::default_subsections )
overridevirtual

Assign the parameters from file.

Implements ParameterBase.

◆ declare()

template<unsigned int dim>
void SpatialDiscretization< dim >::declare ( dealii::ParameterHandler & parameter_handler,
unsigned int n_subsections = Numbers::default_subsections )
static

Declare the parameters to be read from file.

◆ distance()

template<unsigned int dim>
double SpatialDiscretization< dim >::distance ( const dealii::Point< dim > & point_1,
const dealii::Point< dim > & point_2 ) const
overridevirtual

Calculation the distance between two points considering periodic boundaries.

Reimplemented from Mesh< dim >.

◆ generate_mesh()

template<unsigned int dim>
void SpatialDiscretization< dim >::generate_mesh ( Triangulation & triangulation) const
overridevirtual

Generate the mesh.

Implements Mesh< dim >.

◆ get_mesh() [1/2]

template<unsigned int dim>
Mesh< dim > & SpatialDiscretization< dim >::get_mesh ( )

Get the mesh object.

◆ get_mesh() [2/2]

template<unsigned int dim>
const Mesh< dim > & SpatialDiscretization< dim >::get_mesh ( ) const

Get the mesh object.

◆ mark_boundaries()

template<unsigned int dim>
void SpatialDiscretization< dim >::mark_boundaries ( Triangulation & triangulation) const
overridevirtual

Mark the boundaries of the mesh.

Reimplemented from Mesh< dim >.

◆ periodicity_set()

template<unsigned int dim>
std::list< PeriodicPair< dim > > SpatialDiscretization< dim >::periodicity_set ( ) const
overridevirtual

Periodicity set.

This set contains all the information about periodicity for the system. Each entry contain tuple with three entries: the first boundary id, the second boundary id, and the direction.

Reimplemented from Mesh< dim >.

◆ should_refine_mesh()

template<unsigned int dim>
bool SpatialDiscretization< dim >::should_refine_mesh ( unsigned int increment) const
nodiscard

Whether the provided increment is a valid grid refinement step.

◆ validate()

template<unsigned int dim>
void SpatialDiscretization< dim >::validate ( const std::vector< FieldAttributes > & field_attributes,
const std::vector< SolveBlock > & solve_blocks ) const
overridevirtual

Validate.

Implements ParameterBase.

Member Data Documentation

◆ custom_mesh

template<unsigned int dim>
Mesh<dim>* SpatialDiscretization< dim >::custom_mesh = nullptr

◆ global_refinement

template<unsigned int dim>
unsigned int SpatialDiscretization< dim >::global_refinement = 0

◆ has_adaptivity

template<unsigned int dim>
bool SpatialDiscretization< dim >::has_adaptivity = false

◆ max_refinement

template<unsigned int dim>
unsigned int SpatialDiscretization< dim >::max_refinement = 0

◆ mesh_type

template<unsigned int dim>
TriangulationType SpatialDiscretization< dim >::mesh_type = TriangulationType::Rectangular

◆ min_refinement

template<unsigned int dim>
unsigned int SpatialDiscretization< dim >::min_refinement = 0

◆ rectangular_mesh

template<unsigned int dim>
RectangularMesh<dim> SpatialDiscretization< dim >::rectangular_mesh

◆ refinement_criteria

template<unsigned int dim>
std::map<std::string, RefinementCriterion> SpatialDiscretization< dim >::refinement_criteria

◆ remeshing_period

template<unsigned int dim>
unsigned int SpatialDiscretization< dim >::remeshing_period = UINT_MAX

◆ spherical_mesh

template<unsigned int dim>
SphericalMesh<dim> SpatialDiscretization< dim >::spherical_mesh

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