PRISMS-PF Manual
Loading...
Searching...
No Matches
RectangularMesh< dim > Struct Template Reference

Class for rectangular mesh parameters. More...

#include <spatial_discretization.h>

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

Public Types

enum  Boundary {
  Left = 0 , Right = 1 , Top = 2 , Bottom = 3 ,
  Front = 4 , Back = 5
}
 Simple enum for boundary ids to natural language. More...
 
using Triangulation = typename Mesh<dim>::Triangulation
 
- Public Types inherited from Mesh< dim >
using Triangulation
 

Public Member Functions

 RectangularMesh ()=default
 Constructor.
 
 RectangularMesh (dealii::Tensor< 1, dim, double > _size, dealii::Tensor< 1, dim, double > _lower_bound, std::vector< unsigned int > _subdivisions)
 Constructor.
 
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.
 
void assign_parameters (dealii::ParameterHandler &parameter_handler)
 Assign the parameters read from an input file to this object.
 
void validate () const override
 Validate.
 
- Public 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.
 
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
 

Static Public Member Functions

static void declare_parameters (dealii::ParameterHandler &parameter_handler)
 Declare the parameters to be read from an input file.
 

Public Attributes

dealii::Tensor< 1, dim, double > size
 Upper bound point.
 
dealii::Tensor< 1, dim, double > lower_bound
 Lower bound point.
 
std::vector< unsigned int > subdivisions = std::vector<unsigned int>(dim, 1)
 Mesh subdivisions in each cartesian direction.
 
std::set< unsigned int > periodic_directions
 Which directions have periodic conditions.
 

Detailed Description

template<unsigned int dim>
struct RectangularMesh< dim >

Class for rectangular mesh parameters.

Member Typedef Documentation

◆ Triangulation

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

Member Enumeration Documentation

◆ Boundary

template<unsigned int dim>
enum RectangularMesh::Boundary

Simple enum for boundary ids to natural language.

Enumerator
Left 
Right 
Top 
Bottom 
Front 
Back 

Constructor & Destructor Documentation

◆ RectangularMesh() [1/2]

template<unsigned int dim>
RectangularMesh< dim >::RectangularMesh ( )
default

Constructor.

◆ RectangularMesh() [2/2]

template<unsigned int dim>
RectangularMesh< dim >::RectangularMesh ( dealii::Tensor< 1, dim, double > _size,
dealii::Tensor< 1, dim, double > _lower_bound,
std::vector< unsigned int > _subdivisions )

Constructor.

Member Function Documentation

◆ assign_parameters()

template<unsigned int dim>
void RectangularMesh< dim >::assign_parameters ( dealii::ParameterHandler & parameter_handler)

Assign the parameters read from an input file to this object.

◆ declare_parameters()

template<unsigned int dim>
void RectangularMesh< dim >::declare_parameters ( dealii::ParameterHandler & parameter_handler)
static

Declare the parameters to be read from an input file.

◆ distance()

template<unsigned int dim>
double RectangularMesh< 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 RectangularMesh< dim >::generate_mesh ( Triangulation & triangulation) const
overridevirtual

Generate the mesh.

Implements Mesh< dim >.

◆ mark_boundaries()

template<unsigned int dim>
void RectangularMesh< 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 > > RectangularMesh< 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 >.

◆ validate()

template<unsigned int dim>
void RectangularMesh< dim >::validate ( ) const
overridevirtual

Validate.

Reimplemented from Mesh< dim >.

Member Data Documentation

◆ lower_bound

template<unsigned int dim>
dealii::Tensor<1, dim, double> RectangularMesh< dim >::lower_bound

Lower bound point.

◆ periodic_directions

template<unsigned int dim>
std::set<unsigned int> RectangularMesh< dim >::periodic_directions

Which directions have periodic conditions.

◆ size

template<unsigned int dim>
dealii::Tensor<1, dim, double> RectangularMesh< dim >::size

Upper bound point.

◆ subdivisions

template<unsigned int dim>
std::vector<unsigned int> RectangularMesh< dim >::subdivisions = std::vector<unsigned int>(dim, 1)

Mesh subdivisions in each cartesian direction.


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