DiFfRG
Loading...
Searching...
No Matches
DiFfRG::LDG::internal::ScratchData< Discretization > Struct Template Reference

Class to hold data for each assembly thread, i.e. FEValues for cells, interfaces, as well as pre-allocated data structures for the solutions. More...

#include <ldg.hh>

Public Types

using NumberType = typename Discretization::NumberType
 
using Iterator = typename DoFHandler<dim>::active_cell_iterator
 
using t_Iterator = typename Triangulation<dim>::active_cell_iterator
 

Public Member Functions

 ScratchData (const Mapping< dim > &mapping, const vector< const DoFHandler< dim > * > &dofh, const Quadrature< dim > &quadrature, const Quadrature< dim - 1 > &quadrature_face, const UpdateFlags update_flags=update_values|update_gradients|update_quadrature_points|update_JxW_values, const UpdateFlags interface_update_flags=update_values|update_gradients|update_quadrature_points|update_JxW_values|update_normal_vectors)
 
 ScratchData (const ScratchData< Discretization > &scratch_data)
 
const auto & new_fe_values (const t_Iterator &t_cell)
 
const auto & new_fe_interface_values (const t_Iterator &t_cell, uint f, uint sf, const t_Iterator &t_ncell, uint nf, unsigned int nsf)
 
const auto & new_fe_boundary_values (const t_Iterator &t_cell, uint face_no)
 

Public Attributes

array< uint, n_fe_subsystemsn_components
 
array< Iterator, n_fe_subsystemscell
 
array< Iterator, n_fe_subsystemsncell
 
array< unique_ptr< FEValues< dim > >, n_fe_subsystemsfe_values
 
array< unique_ptr< FEInterfaceValues< dim > >, n_fe_subsystemsfe_interface_values
 
array< unique_ptr< FEFaceValues< dim > >, n_fe_subsystemsfe_boundary_values
 
array< vector< Vector< NumberType > >, n_fe_subsystemssolution
 
vector< Vector< NumberType > > solution_dot
 
array< array< vector< Vector< NumberType > >, n_fe_subsystems >, 2 > solution_interface
 

Static Public Attributes

static constexpr uint dim = Discretization::dim
 
static constexpr uint n_fe_subsystems = Discretization::Components::count_fe_subsystems()
 

Detailed Description

template<typename Discretization>
struct DiFfRG::LDG::internal::ScratchData< Discretization >

Class to hold data for each assembly thread, i.e. FEValues for cells, interfaces, as well as pre-allocated data structures for the solutions.

Member Typedef Documentation

◆ Iterator

template<typename Discretization >
using DiFfRG::LDG::internal::ScratchData< Discretization >::Iterator = typename DoFHandler<dim>::active_cell_iterator

◆ NumberType

◆ t_Iterator

template<typename Discretization >
using DiFfRG::LDG::internal::ScratchData< Discretization >::t_Iterator = typename Triangulation<dim>::active_cell_iterator

Constructor & Destructor Documentation

◆ ScratchData() [1/2]

template<typename Discretization >
DiFfRG::LDG::internal::ScratchData< Discretization >::ScratchData ( const Mapping< dim > & mapping,
const vector< const DoFHandler< dim > * > & dofh,
const Quadrature< dim > & quadrature,
const Quadrature< dim - 1 > & quadrature_face,
const UpdateFlags update_flags = update_values | update_gradients | update_quadrature_points | update_JxW_values,
const UpdateFlags interface_update_flags = update_values | update_gradients | update_quadrature_points | update_JxW_values | update_normal_vectors )
inline

◆ ScratchData() [2/2]

template<typename Discretization >
DiFfRG::LDG::internal::ScratchData< Discretization >::ScratchData ( const ScratchData< Discretization > & scratch_data)
inline

Member Function Documentation

◆ new_fe_boundary_values()

template<typename Discretization >
const auto & DiFfRG::LDG::internal::ScratchData< Discretization >::new_fe_boundary_values ( const t_Iterator & t_cell,
uint face_no )
inline

◆ new_fe_interface_values()

template<typename Discretization >
const auto & DiFfRG::LDG::internal::ScratchData< Discretization >::new_fe_interface_values ( const t_Iterator & t_cell,
uint f,
uint sf,
const t_Iterator & t_ncell,
uint nf,
unsigned int nsf )
inline

◆ new_fe_values()

template<typename Discretization >
const auto & DiFfRG::LDG::internal::ScratchData< Discretization >::new_fe_values ( const t_Iterator & t_cell)
inline

Member Data Documentation

◆ cell

◆ dim

template<typename Discretization >
uint DiFfRG::LDG::internal::ScratchData< Discretization >::dim = Discretization::dim
staticconstexpr

◆ fe_boundary_values

template<typename Discretization >
array<unique_ptr<FEFaceValues<dim> >, n_fe_subsystems> DiFfRG::LDG::internal::ScratchData< Discretization >::fe_boundary_values

◆ fe_interface_values

template<typename Discretization >
array<unique_ptr<FEInterfaceValues<dim> >, n_fe_subsystems> DiFfRG::LDG::internal::ScratchData< Discretization >::fe_interface_values

◆ fe_values

template<typename Discretization >
array<unique_ptr<FEValues<dim> >, n_fe_subsystems> DiFfRG::LDG::internal::ScratchData< Discretization >::fe_values

◆ n_components

◆ n_fe_subsystems

template<typename Discretization >
uint DiFfRG::LDG::internal::ScratchData< Discretization >::n_fe_subsystems = Discretization::Components::count_fe_subsystems()
staticconstexpr

◆ ncell

◆ solution

template<typename Discretization >
array<vector<Vector<NumberType> >, n_fe_subsystems> DiFfRG::LDG::internal::ScratchData< Discretization >::solution

◆ solution_dot

template<typename Discretization >
vector<Vector<NumberType> > DiFfRG::LDG::internal::ScratchData< Discretization >::solution_dot

◆ solution_interface

template<typename Discretization >
array<array<vector<Vector<NumberType> >, n_fe_subsystems>, 2> DiFfRG::LDG::internal::ScratchData< Discretization >::solution_interface

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