OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
MeshWorker::WorkerObjects::IntegrationWorker< dim > Class Template Reference

Basic worker class for integration of residuals. More...

#include <mesh_worker_workers.h>

Inheritance diagram for MeshWorker::WorkerObjects::IntegrationWorker< dim >:
Inheritance graph
[legend]
Collaboration diagram for MeshWorker::WorkerObjects::IntegrationWorker< dim >:
Collaboration graph
[legend]

Public Member Functions

 IntegrationWorker ()
 Constructor, which sets the UpdateFlags flags to their default values.
 
void initialize_selectors (const VectorSelector &cs, const VectorSelector &bs, const VectorSelector &fs)
 Initialize the VectorSelector objects cell_selector, bdry_selector, and face_selector.
 
void add_selector (const std::string &name, bool values, bool gradients, bool hessians, bool cell, bool bdry, bool face)
 Add a FEVector name as it is stored in FEVectors to some or all selectors.
 
void add_update_flags (const UpdateFlags flags, bool cell=true, bool bdry=true, bool face=true, bool ngbr=true)
 Add additional UpdateFlags flags.
 
void initialize_gauss_quadrature (unsigned int n_cell_points, unsigned int n_bdry_points, unsigned int n_face_points)
 Assign n-point Gauss quadratures to each of the quadrature rules.
 
- Public Member Functions inherited from MeshWorker::WorkerObjects::LocalWorker< dim >
 LocalWorker ()
 Constructor, setting boundary_fluxes and interior_fluxes to true.
 
void cell (const InfoObjects::DoFInfo< dim > &cell)
 Do the work on a cell.
 
void bdry (const InfoObjects::DoFInfo< dim > &face)
 Do the work on a boundary face.
 
void face (const InfoObjects::DoFInfo< dim > &face1, const InfoObjects::DoFInfo< dim > &face2)
 Do the work on an interior face.
 

Public Attributes

MeshWorker::VectorSelector cell_selector
 Select the FEVector vectors from FEVectors that should be computed in the quadrature points on cells.
 
MeshWorker::VectorSelector bdry_selector
 Select the FEVector vectors from FEVectors that should be computed in the quadrature points on boundary faces.
 
MeshWorker::VectorSelector face_selector
 Select the FEVector vectors from FEVectors that should be computed in the quadrature points on interior faces.
 
Quadrature< dimcell_quadrature
 The quadrature rule used on cells.
 
Quadrature< dim-1 > bdry_quadrature
 The quadrature rule used on boundary faces.
 
Quadrature< dim-1 > face_quadrature
 The quadrature rule used on interior faces.
 
UpdateFlags cell_flags
 The set of update flags for cell integration.
 
UpdateFlags bdry_flags
 The set of update flags for boundary face integration.
 
UpdateFlags face_flags
 The set of update flags for interior face integration.
 
UpdateFlags ngbr_flags
 The set of update flags for interior face integration.
 
- Public Attributes inherited from MeshWorker::WorkerObjects::LocalWorker< dim >
bool boundary_fluxes
 Computations on boundary faces are on/off.
 
bool interior_fluxes
 Computations on interior faces are on/off.
 

Detailed Description

template<int dim>
class MeshWorker::WorkerObjects::IntegrationWorker< dim >

Basic worker class for integration of residuals.

Author
Guido Kanschat, 2009

Constructor & Destructor Documentation

Member Function Documentation

template<int dim>
void MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_selector ( const std::string &  name,
bool  values,
bool  gradients,
bool  hessians,
bool  cell,
bool  bdry,
bool  face 
)
inline

Add a FEVector name as it is stored in FEVectors to some or all selectors.

template<int dim>
void MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_update_flags ( const UpdateFlags  flags,
bool  cell = true,
bool  bdry = true,
bool  face = true,
bool  ngbr = true 
)
inline
template<int dim>
void MeshWorker::WorkerObjects::IntegrationWorker< dim >::initialize_gauss_quadrature ( unsigned int  n_cell_points,
unsigned int  n_bdry_points,
unsigned int  n_face_points 
)
inline

Assign n-point Gauss quadratures to each of the quadrature rules.

Here, a size of zero points means that no loop over these grid entities should be performed.

References MeshWorker::WorkerObjects::IntegrationWorker< dim >::bdry_quadrature, MeshWorker::WorkerObjects::IntegrationWorker< dim >::cell_quadrature, dim, and MeshWorker::WorkerObjects::IntegrationWorker< dim >::face_quadrature.

template<int dim>
void MeshWorker::WorkerObjects::IntegrationWorker< dim >::initialize_selectors ( const VectorSelector cs,
const VectorSelector bs,
const VectorSelector fs 
)
inline

Initialize the VectorSelector objects cell_selector, bdry_selector, and face_selector.

If no selectors are used, then values for all named FEVector vectors in FEVectors will be computed in all quadrature points.

This function will also add UpdateFlags to the flags stored in this class.

Member Data Documentation

template<int dim>
UpdateFlags MeshWorker::WorkerObjects::IntegrationWorker< dim >::bdry_flags

The set of update flags for boundary face integration.

Defaults to #update_normal_vectors and #update_JxW_values.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_update_flags(), and MeshWorker::WorkerObjects::IntegrationWorker< dim >::IntegrationWorker().

template<int dim>
Quadrature<dim-1> MeshWorker::WorkerObjects::IntegrationWorker< dim >::bdry_quadrature

The quadrature rule used on boundary faces.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::initialize_gauss_quadrature().

Select the FEVector vectors from FEVectors that should be computed in the quadrature points on boundary faces.

template<int dim>
UpdateFlags MeshWorker::WorkerObjects::IntegrationWorker< dim >::cell_flags

The set of update flags for cell integration.

Defaults to #update_JxW_values.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_update_flags(), and MeshWorker::WorkerObjects::IntegrationWorker< dim >::IntegrationWorker().

template<int dim>
Quadrature<dim> MeshWorker::WorkerObjects::IntegrationWorker< dim >::cell_quadrature

Select the FEVector vectors from FEVectors that should be computed in the quadrature points on cells.

template<int dim>
UpdateFlags MeshWorker::WorkerObjects::IntegrationWorker< dim >::face_flags

The set of update flags for interior face integration.

Defaults to #update_normal_vectors and #update_JxW_values.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_update_flags(), and MeshWorker::WorkerObjects::IntegrationWorker< dim >::IntegrationWorker().

template<int dim>
Quadrature<dim-1> MeshWorker::WorkerObjects::IntegrationWorker< dim >::face_quadrature

The quadrature rule used on interior faces.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::initialize_gauss_quadrature().

Select the FEVector vectors from FEVectors that should be computed in the quadrature points on interior faces.

template<int dim>
UpdateFlags MeshWorker::WorkerObjects::IntegrationWorker< dim >::ngbr_flags

The set of update flags for interior face integration.

Defaults to #update_default, since quadrature weights are taken from the interior of the neighboring cell.

Referenced by MeshWorker::WorkerObjects::IntegrationWorker< dim >::add_update_flags(), and MeshWorker::WorkerObjects::IntegrationWorker< dim >::IntegrationWorker().


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