[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::DGFactory< dim, real, MeshType > Class Template Reference

This class creates a new DGBase object. More...

#include <dg_factory.hpp>

Collaboration diagram for PHiLiP::DGFactory< dim, real, MeshType >:

Static Public Member Functions

static std::shared_ptr< DGBase< dim, real, MeshType > > create_discontinuous_galerkin (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 Creates a derived object DG, but returns it as DGBase. More...
 
static std::shared_ptr< DGBase< dim, real, MeshType > > create_discontinuous_galerkin (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 calls the above dg factory with grid_degree_input = degree + 1
 
static std::shared_ptr< DGBase< dim, real, MeshType > > create_discontinuous_galerkin (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const std::shared_ptr< Triangulation > triangulation_input)
 calls the above dg factory with max_degree_input = degree
 

Private Types

using Triangulation = MeshType
 

Detailed Description

template<int dim, typename real, typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
class PHiLiP::DGFactory< dim, real, MeshType >

This class creates a new DGBase object.

This allows the DGBase to not be templated on the number of state variables while allowing DG to be template on the number of state variables

Definition at line 16 of file dg_factory.hpp.

Member Typedef Documentation

◆ Triangulation

template<int dim, typename real , typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
using PHiLiP::DGFactory< dim, real, MeshType >::Triangulation = MeshType
private

Triangulation to store the grid. In 1D, dealii::Triangulation<dim> is used. In 2D, 3D, dealii::parallel::distributed::Triangulation<dim> is used.

Definition at line 22 of file dg_factory.hpp.

Member Function Documentation

◆ create_discontinuous_galerkin()

template<int dim, typename real , typename MeshType >
std::shared_ptr< DGBase< dim, real, MeshType > > PHiLiP::DGFactory< dim, real, MeshType >::create_discontinuous_galerkin ( const Parameters::AllParameters *const  parameters_input,
const unsigned int  degree,
const unsigned int  max_degree_input,
const unsigned int  grid_degree_input,
const std::shared_ptr< Triangulation triangulation_input 
)
static

Creates a derived object DG, but returns it as DGBase.

That way, the caller is agnostic to the number of state variables

Definition at line 10 of file dg_factory.cpp.


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