Amandus: Simulations based on multilevel Schwarz methods
Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | List of all members
AmandusIntegrator< dim > Class Template Reference

#include <integrator.h>

Inherits LocalIntegrator< dim >.

Inherited by Advection::Matrix< dim >, Advection::PolynomialError< dim >, Advection::PolynomialRHS< dim >, Advection::Residual< dim >, AdvectionDiffusion::Matrix< dim >, AdvectionDiffusion::PolynomialBoundaryRHS< dim >, AllenCahn::Matrix< dim >, AllenCahn::PolynomialError< dim >, AllenCahn::PolynomialResidual< dim >, AllenCahn::Residual< dim >, Brinkman::Matrix< dim >, Brusselator::ExplicitResidual< dim >, Brusselator::ImplicitResidual< dim >, Brusselator::Matrix< dim >, CahnHilliard::Matrix< dim >, CahnHilliard::Residual< dim >, DarcyIntegrators::ErrorIntegrator< dim >, DarcyIntegrators::Estimator< dim >, DarcyIntegrators::Matrix< dim >, DarcyIntegrators::NoForceResidual< dim >, DarcyIntegrators::Polynomial::Error< dim >, DarcyIntegrators::Polynomial::Residual< dim >, DarcyIntegrators::Polynomial::RHS< dim >, DarcyIntegrators::Postprocessor< dim >, DarcyIntegrators::RHSIntegrator< dim >, DarcyIntegrators::SystemIntegrator< dim >, Dummy< dim >, Elasticity::Eigen< dim >, Elasticity::Matrix< dim >, Elasticity::PolynomialError< dim >, Elasticity::PolynomialRHS< dim >, Elasticity::Residual< dim, force_type >, ErrorIntegrator< dim >, Integrators::Theta< dim >, LaplaceIntegrators::Eigen< dim >, LaplaceIntegrators::EigenEstimate< dim >, LaplaceIntegrators::Matrix< dim >, LaplaceIntegrators::MatrixFaktor< dim >, LaplaceIntegrators::NoForceResidual< dim >, LaplaceIntegrators::NoForceRHS< dim >, LaplaceIntegrators::PolynomialError< dim >, LaplaceIntegrators::PolynomialResidual< dim >, LaplaceIntegrators::PolynomialRHS< dim >, LaplaceIntegrators::SolutionError< dim >, LaplaceIntegrators::SolutionEstimate< dim >, LaplaceIntegrators::SolutionResidual< dim >, LaplaceIntegrators::SolutionRHS< dim >, MaxwellIntegrators::DivCurl::Eigen< dim >, MaxwellIntegrators::DivCurl::Matrix< dim >, ReactionDiffusion::Matrix< dim >, ReactionDiffusion::Residual< dim >, RhsOne< dim >, Schroedinger::Coulomb< dim >, Schroedinger::Logarithmic< dim >, StokesIntegrators::Eigen< dim >, StokesIntegrators::Matrix< dim >, StokesIntegrators::NoForceResidual< dim >, StokesIntegrators::PolynomialError< dim >, StokesIntegrators::PolynomialResidual< dim >, StokesIntegrators::PolynomialRHS< dim >, StokesIntegrators::SolutionError< dim >, StokesIntegrators::SolutionEstimate< dim >, StokesIntegrators::SolutionResidual< dim >, and StokesIntegrators::SolutionRHS< dim >.

Collaboration diagram for AmandusIntegrator< dim >:
Collaboration graph
[legend]

Public Member Functions

 AmandusIntegrator ()
 
virtual void extract_data (const dealii::AnyData &data)
 Extract data independent of the cell. More...
 
unsigned int n_errors () const
 
unsigned int error_type (unsigned int i) const
 
std::string error_name (unsigned int i) const
 
dealii::UpdateFlags update_flags () const
 Returns the update flags to be used. More...
 
dealii::UpdateFlags update_flags_face () const
 Returns the update flags to be used on boundary and interior faces. More...
 
void add_flags (const dealii::UpdateFlags flags)
 Add update flags on all objects. More...
 
void add_flags_face (const dealii::UpdateFlags flags)
 Add update flags on boundary and internal faces. More...
 

Public Attributes

double timestep
 Current timestep if applicable. More...
 
dealii::SmartPointer< dealii::Quadrature< dim > > cell_quadrature
 Quadrature rule used on cells. More...
 
dealii::SmartPointer< dealii::Quadrature< dim-1 > > boundary_quadrature
 Quadrature rule used on boundary faces. More...
 
dealii::SmartPointer< dealii::Quadrature< dim-1 > > face_quadrature
 Quadrature rule used on faces. More...
 

Protected Attributes

std::vector< unsigned int > error_types
 
std::vector< std::string > error_names
 

Private Attributes

dealii::UpdateFlags u_flags
 
dealii::UpdateFlags f_flags
 

Detailed Description

template<int dim>
class AmandusIntegrator< dim >

A local integrator which additionally manages the update flags and quadrature rules to be used.

Constructor & Destructor Documentation

template<int dim>
AmandusIntegrator< dim >::AmandusIntegrator ( )
inline

Empty constructor

Member Function Documentation

template<int dim>
void AmandusIntegrator< dim >::add_flags ( const dealii::UpdateFlags  flags)
inline

Add update flags on all objects.

template<int dim>
void AmandusIntegrator< dim >::add_flags_face ( const dealii::UpdateFlags  flags)
inline

Add update flags on boundary and internal faces.

template<int dim>
std::string AmandusIntegrator< dim >::error_name ( unsigned int  i) const
inline

The name of an error for output purposes.

template<int dim>
unsigned int AmandusIntegrator< dim >::error_type ( unsigned int  i) const
inline

The type of error. A positive value indicates the exponent of the $$ norm over all cells, with two exceptions. Zero indicates the maximum norm over all cells. One indicates the mean value without absolute values taken.

Here is the call graph for this function:

template<int dim>
void AmandusIntegrator< dim >::extract_data ( const dealii::AnyData &  data)
inlinevirtual

Extract data independent of the cell.

Extract data which does not depend on the current cell from AnyData, before the loop over cells and faces is run. By default, get the current time step if we are in a timestepping scheme.

Reimplemented in Integrators::Theta< dim >, and LaplaceIntegrators::EigenEstimate< dim >.

template<int dim>
unsigned int AmandusIntegrator< dim >::n_errors ( ) const
inline

The number of errors to compute if this is called by an error computation or estimation loop.

template<int dim>
dealii::UpdateFlags AmandusIntegrator< dim >::update_flags ( ) const
inline

Returns the update flags to be used.

template<int dim>
dealii::UpdateFlags AmandusIntegrator< dim >::update_flags_face ( ) const
inline

Returns the update flags to be used on boundary and interior faces.

Member Data Documentation

template<int dim>
dealii::SmartPointer<dealii::Quadrature<dim - 1> > AmandusIntegrator< dim >::boundary_quadrature

Quadrature rule used on boundary faces.

Behaves like cell_quadrature.

template<int dim>
dealii::SmartPointer<dealii::Quadrature<dim> > AmandusIntegrator< dim >::cell_quadrature

Quadrature rule used on cells.

This is a null pointer by default, which implies that we are using a Gauss quadrature rule, whose size is choosen as to integrate a finite element function and its requested derivatives exactly.

template<int dim>
std::vector<std::string> AmandusIntegrator< dim >::error_names
protected

Fill this in derived classes. For each error computed this is the name of the error written to output and used in the convergence tables. If left empty, a number is used insted.

template<int dim>
std::vector<unsigned int> AmandusIntegrator< dim >::error_types
protected

Fill this in derived classes. For each error computed, the exponent of the vector $$-norm used, where zero is the maximum norm and one is the mean value without absolute values taken.

template<int dim>
dealii::UpdateFlags AmandusIntegrator< dim >::f_flags
private
template<int dim>
dealii::SmartPointer<dealii::Quadrature<dim - 1> > AmandusIntegrator< dim >::face_quadrature

Quadrature rule used on faces.

Behaves like cell_quadrature.

template<int dim>
double AmandusIntegrator< dim >::timestep

Current timestep if applicable.

template<int dim>
dealii::UpdateFlags AmandusIntegrator< dim >::u_flags
private

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