Amandus: Simulations based on multilevel Schwarz methods
Files | Classes | Functions
Verification

Utilities for verifying the consistency of different parts of the library. More...

Files

file  cahn_hilliard/polynomial.cc
 Stationary, polynomial Cahn-Hilliard model.
 
file  residual_darcy_01.cc
 
file  residual_laplace_01.cc
 
file  residual_stokes_01.cc
 
file  residual_theta.cc
 
file  residual_theta_laplace_01.cc
 

Classes

class  ExactResidual< dim >
 
class  TensorProductPolynomial< dim >
 

Functions

template<int dim>
void solve_and_error (dealii::BlockVector< double > &errors, AmandusApplicationSparse< dim > &app, dealii::Algorithms::OperatorBase &solver, dealii::Algorithms::OperatorBase &residual, const AmandusIntegrator< dim > &error)
 
template<int dim>
void iterative_solve_and_error (dealii::BlockVector< double > &errors, AmandusApplicationSparse< dim > &app, dealii::Algorithms::OperatorBase &solver, const ErrorIntegrator< dim > &error, const dealii::Function< dim > *initial_function=0, unsigned int n_qpoints=0)
 
template<int dim>
void verify_residual (unsigned int n_refinements, AmandusApplicationSparse< dim > &app, AmandusIntegrator< dim > &matrix_integrator, AmandusIntegrator< dim > &residual_integrator)
 
template<int dim>
void verify_theta_residual (unsigned int n_refinements, AmandusApplicationSparse< dim > &app, AmandusIntegrator< dim > &matrix_integrator, AmandusIntegrator< dim > &residual_integrator)
 

Detailed Description

Utilities for verifying the consistency of different parts of the library.

Function Documentation

template<int dim>
void iterative_solve_and_error ( dealii::BlockVector< double > &  errors,
AmandusApplicationSparse< dim > &  app,
dealii::Algorithms::OperatorBase &  solver,
const ErrorIntegrator< dim > &  error,
const dealii::Function< dim > *  initial_function = 0,
unsigned int  n_qpoints = 0 
)

This function solves an equation with an iterative solver on a given mesh and computes the errors.

The BlockVector will be resized according to the number of errors computed by the ErrorIntegrator. If a initial_function is provided, it will be projected to the Finite Element space and used as a starting value for the iterative solver.

Here is the call graph for this function:

template<int dim>
void solve_and_error ( dealii::BlockVector< double > &  errors,
AmandusApplicationSparse< dim > &  app,
dealii::Algorithms::OperatorBase &  solver,
dealii::Algorithms::OperatorBase &  residual,
const AmandusIntegrator< dim > &  error 
)

This function solves an equation on a given mesh and computes the errors.

The errors per cell are returned in the BlockVector used as first argument. The number of blocks has to be at least the number of errors computed by the error integrator, but the blocks may be empty. They will be resized.

Here is the call graph for this function:

template<int dim>
void verify_residual ( unsigned int  n_refinements,
AmandusApplicationSparse< dim > &  app,
AmandusIntegrator< dim > &  matrix_integrator,
AmandusIntegrator< dim > &  residual_integrator 
)

Here is the call graph for this function:

template<int dim>
void verify_theta_residual ( unsigned int  n_refinements,
AmandusApplicationSparse< dim > &  app,
AmandusIntegrator< dim > &  matrix_integrator,
AmandusIntegrator< dim > &  residual_integrator 
)

Here is the call graph for this function: