ConfigurationMesh< dim > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
A rectangular grid in field space, each axis a sequence of subranges with their own cell width. More...
#include <configuration_mesh.hh>
Classes | |
| struct | TriangulationData |
| What a mesh needs to build the coarse grid. More... | |
Public Member Functions | |
| ConfigurationMesh ()=delete | |
| template<typename... Grids> | |
| ConfigurationMesh (unsigned int refinement, Grids... grids_args) | |
From explicit axes: refinement and one std::vector<GridAxis> per dimension. | |
| ConfigurationMesh (const DiFfRG::ConfigTree &config) | |
| Read the keys of the table above; throws if a subrange is invalid or the subranges are not contiguous. | |
| TriangulationData | get_triangulation_data (const bool origin_cell_centered=false) const |
| Domain corners and coarse cell widths. | |
| std::vector< std::vector< double > > | get_step_widths_for_triangulation () const |
| The coarse cell widths per axis (not origin-centered). | |
| std::vector< std::vector< double > > | get_step_withs_for_triangulation () const |
| dealii::Point< dim, double > | get_lower_left () const |
| Lower corner of the domain (not origin-centered). | |
| dealii::Point< dim, double > | get_upper_right () const |
| Upper corner of the domain. | |
Static Public Member Functions | |
| static std::string | get_defaults () |
| A JSON parameter-file fragment with all keys (axes set to GridAxis::get_default_range()). | |
Public Attributes | |
| std::array< std::vector< GridAxis >, dim > | grids |
| The subranges of each axis. | |
| uint | refine |
Number of global refinements (/discretization/grid/refine). | |
Detailed Description
class DiFfRG::Config::ConfigurationMesh< dim >
A rectangular grid in field space, each axis a sequence of subranges with their own cell width.
Each axis is a string of comma-separated subranges min:step:max, which must be contiguous (each min equals the previous max). Each subrange is divided into equal cells of width at most step, see GridAxis::get_step_widths. Example: "0:0.01:0.1,0.1:0.05:1".
| Key | Type | Default (if missing) | Meaning |
|---|---|---|---|
/discretization/grid/x_grid | string | see below (warns) | first axis |
/discretization/grid/y_grid | string | see below (warns) | second axis (dim ≥ 2) |
/discretization/grid/z_grid | string | see below (warns) | third axis (dim = 3) |
/discretization/grid/refine | uint | 0 | number of global refinements of the mesh (each halves all cells) |
A missing axis is GridAxis::get_default_range(), "0:1e-4:7e-3,7e-3:5e-4:9e-3,9e-3:1e-3:1.1e-2", as written by get_defaults().
- Template Parameters
-
dim Field-space dimension, 1 to 3.
Constructor & Destructor Documentation
◆ ConfigurationMesh() [1/3]
|
delete |
◆ ConfigurationMesh() [2/3]
|
inline |
From explicit axes: refinement and one std::vector<GridAxis> per dimension.
◆ ConfigurationMesh() [3/3]
|
inline |
Read the keys of the table above; throws if a subrange is invalid or the subranges are not contiguous.
Member Function Documentation
◆ get_defaults()
|
inlinestatic |
A JSON parameter-file fragment with all keys (axes set to GridAxis::get_default_range()).
◆ get_lower_left()
|
inline |
Lower corner of the domain (not origin-centered).
◆ get_step_widths_for_triangulation()
|
inline |
The coarse cell widths per axis (not origin-centered).
◆ get_step_withs_for_triangulation()
|
inline |
◆ get_triangulation_data()
|
inline |
Domain corners and coarse cell widths.
If origin_cell_centered (all axes must start at 0): the first cell of every axis is chosen such that after refine refinements the first cell is centered on 0, and lower_left is shifted below 0 accordingly; see GridAxis::get_step_widths.
◆ get_upper_right()
|
inline |
Upper corner of the domain.
Member Data Documentation
◆ grids
| std::array<std::vector<GridAxis>, dim> grids |
The subranges of each axis.
◆ refine
| uint refine |
Number of global refinements (/discretization/grid/refine).
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG/DiFfRG/DiFfRG/include/DiFfRG/discretization/mesh/configuration_mesh.hh
Generated by