Discretization< ModelOrComponents_, Mesh_, NumberType_ > Class Template Reference#

DiFfRG: DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ > Class Template Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ > Class Template Reference

Class to manage the system on which we solve, i.e. fe spaces, grids, etc. This class is a System for LDG systems, i.e. DG with additional projections (e.g. derivatives). More...

#include <ldg.hh>

Public Types

using Model = typename DiFfRG::internal::model_of_descriptor<ModelOrComponents_>::type
 The model this discretization belongs to, or void if it was built from a bare descriptor.
 
using Components = typename DiFfRG::internal::components_of<ModelOrComponents_>::type
 
using NumberType = NumberType_
 
using VectorType = Vector<NumberType>
 
using SparseMatrixType = BlockSparseMatrix<NumberType>
 
using Mesh = Mesh_
 

Public Member Functions

 Discretization (Mesh &mesh, const ConfigTree &config, ReportPort report_port={})
 
const auto & get_constraints (const uint i=0) const
 
auto & get_constraints (const uint i=0)
 
const auto & get_dof_handler (const uint i=0) const
 
auto & get_dof_handler (const uint i=0)
 
auto get_dof_handler_list () const
 
const auto & get_fe (uint i=0) const
 
const auto & get_mapping () const
 
const auto & get_triangulation () const
 
auto & get_triangulation ()
 
const Point< dim > & get_support_point (const uint dof) const
 Get the support point for a given dof.
 
const auto & get_support_points () const
 Get the support points for all dofs.
 
const auto & get_config () const
 
ReportPort report_port () const
 
const dealii::IndexSet & get_locally_owned_dofs () const
 
const dealii::IndexSet & get_locally_relevant_dofs () const
 
MPI_Comm get_communicator () const
 
void reinit ()
 
uint get_closest_dof (const Point< dim > &p) const
 
std::vector< uint > get_block_structure () const
 

Static Public Attributes

static constexpr uint dim = Mesh::dim
 

Protected Member Functions

void setup_dofs ()
 

Protected Attributes

Mesh & mesh
 
ConfigTree config
 
ReportPort log
 
std::vector< std::shared_ptr< FESystem< dim > > > fe
 
std::vector< std::shared_ptr< DoFHandler< dim > > > dof_handler
 
std::vector< AffineConstraints< NumberType > > constraints
 
MappingQ1< dim > mapping
 
std::vector< Point< dim > > support_points
 
dealii::IndexSet locally_owned_dofs
 
dealii::IndexSet locally_relevant_dofs
 

Detailed Description

template<typename ModelOrComponents_, typename Mesh_, typename NumberType_ = double>
class DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >

Class to manage the system on which we solve, i.e. fe spaces, grids, etc. This class is a System for LDG systems, i.e. DG with additional projections (e.g. derivatives).

Template Parameters
Model_The Model class used for the Simulation

Member Typedef Documentation

◆ Components

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::Components = typename DiFfRG::internal::components_of<ModelOrComponents_>::type

◆ Mesh

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::Mesh = Mesh_

◆ Model

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::Model = typename DiFfRG::internal::model_of_descriptor<ModelOrComponents_>::type

The model this discretization belongs to, or void if it was built from a bare descriptor.

◆ NumberType

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::NumberType = NumberType_

◆ SparseMatrixType

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::SparseMatrixType = BlockSparseMatrix<NumberType>

◆ VectorType

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
using DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::VectorType = Vector<NumberType>

Constructor & Destructor Documentation

◆ Discretization()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::Discretization ( Mesh & mesh,
const ConfigTree & config,
ReportPort report_port = {} )
inline

Member Function Documentation

◆ get_block_structure()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
std::vector< uint > DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_block_structure ( ) const
inline

◆ get_closest_dof()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
uint DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_closest_dof ( const Point< dim > & p) const
inline

◆ get_communicator()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
MPI_Comm DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_communicator ( ) const
inline

◆ get_config()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_config ( ) const
inline

◆ get_constraints() [1/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_constraints ( const uint i = 0)
inline

◆ get_constraints() [2/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_constraints ( const uint i = 0) const
inline

◆ get_dof_handler() [1/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_dof_handler ( const uint i = 0)
inline

◆ get_dof_handler() [2/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_dof_handler ( const uint i = 0) const
inline

◆ get_dof_handler_list()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
auto DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_dof_handler_list ( ) const
inline

◆ get_fe()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_fe ( uint i = 0) const
inline

◆ get_locally_owned_dofs()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const dealii::IndexSet & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_locally_owned_dofs ( ) const
inline

◆ get_locally_relevant_dofs()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const dealii::IndexSet & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_locally_relevant_dofs ( ) const
inline

◆ get_mapping()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_mapping ( ) const
inline

◆ get_support_point()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const Point< dim > & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_support_point ( const uint dof) const
inline

Get the support point for a given dof.

Parameters
dofThe dof index.
Returns
const dealii::Point<dim>& The support point for the given dof.

◆ get_support_points()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_support_points ( ) const
inline

Get the support points for all dofs.

Returns
const std::vector<Point<dim>>& The support points for all dofs.

◆ get_triangulation() [1/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_triangulation ( )
inline

◆ get_triangulation() [2/2]

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
const auto & DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::get_triangulation ( ) const
inline

◆ reinit()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
void DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::reinit ( )
inline

◆ report_port()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
ReportPort DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::report_port ( ) const
inline

◆ setup_dofs()

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
void DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::setup_dofs ( )
inlineprotected

Member Data Documentation

◆ config

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
ConfigTree DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::config
protected

◆ constraints

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
std::vector<AffineConstraints<NumberType> > DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::constraints
protected

◆ dim

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
uint DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::dim = Mesh::dim
staticconstexpr

◆ dof_handler

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
std::vector<std::shared_ptr<DoFHandler<dim> > > DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::dof_handler
protected

◆ fe

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
std::vector<std::shared_ptr<FESystem<dim> > > DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::fe
protected

◆ locally_owned_dofs

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
dealii::IndexSet DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::locally_owned_dofs
protected

◆ locally_relevant_dofs

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
dealii::IndexSet DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::locally_relevant_dofs
protected

◆ log

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
ReportPort DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::log
protected

◆ mapping

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
MappingQ1<dim> DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::mapping
protected

◆ mesh

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
Mesh& DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::mesh
protected

◆ support_points

template<typename ModelOrComponents_ , typename Mesh_ , typename NumberType_ = double>
std::vector<Point<dim> > DiFfRG::LDG::Discretization< ModelOrComponents_, Mesh_, NumberType_ >::support_points
protected

The documentation for this class was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/FEM/ldg.hh