Item Integrators

Item integrators compute certain quantities of the Solution, like a posteriori errors estimators, norms, drag/lift coefficients or other statistics.

ExtendableFEM.ItemIntegratorMethod
function ItemIntegrator(
	[kernel!::Function],
	oa_args::Array{<:Tuple{Union{Unknown,Int}, DataType},1};
	kwargs...)

Generates an ItemIntegrator that evaluates the specified operator evaluations, puts it into the kernel function and integrates the results over the entities (see kwargs). If no kernel is given, the arguments are integrated directly. If a kernel is provided it has be conform to the interface

kernel!(result, eval_args, qpinfo)

where qpinfo allows to access information at the current quadrature point. Additionally the length of the result needs to be specified via the kwargs.

Evaluation can be triggered via the evaluate function.

Operator evaluations are tuples that pair an unknown identifier or integer with a Function operator.

Keyword arguments:

  • piecewise: returns piecewise integrations, otherwise a global integration. Default: true

  • factor: factor that should be multiplied during assembly. Default: 1

  • resultdim: dimension of result field (default = length of arguments). Default: 0

  • params: array of parameters that should be made available in qpinfo argument of kernel function. Default: nothing

  • name: name for operator used in printouts. Default: ''ItemIntegrator''

  • entities: assemble operator on these grid entities (default = ONCELLS). Default: ONCELLS

  • quadorder: quadrature order. Default: ''auto''

  • bonus_quadorder: additional quadrature order added to quadorder. Default: 0

  • verbosity: verbosity level. Default: 0

  • regions: subset of regions where the item integrator should be evaluated. Default: Any[]

source
ExtendableFEM.evaluateMethod
function evaluate(
	O::ItemIntegrator,
	sol;
	time = 0,
	kwargs...)

Evaluates the ItemIntegrator for the specified solution and returns an matrix of size resultdim x num_items.

source
ExtendableFEMBase.evaluate!Method
function evaluate(
	b::AbstractMatrix,
	O::ItemIntegrator,
	sol::FEVector;
	time = 0,
	kwargs...)

Evaluates the ItemIntegrator for the specified solution into the matrix b.

source
ExtendableFEMBase.evaluate!Method
function evaluate(
	b::AbstractMatrix,
	O::ItemIntegrator,
	sol::Array{FEVEctorBlock};
	time = 0,
	kwargs...)

Evaluates the ItemIntegrator for the specified solution into the matrix b.

source

ItemIntegratorDG

ItemIntegratorDG is intended for quantities that involve jumps of discontinuous quantities on faces whose assembly requires evaluation of all degrees of freedom on the neighbouring cells, e.g. gradient jumps for H1 conforming functions or jumps of broken FESpaces. In this case the assembly loop triggers integration along the boundary of the cells.

ExtendableFEM.ItemIntegratorDGMethod
function ItemIntegratorDG(
	kernel::Function,
	oa_args::Array{<:Tuple{Union{Unknown,Int}, DataType},1};
	kwargs...)

Generates an ItemIntegrator that evaluates the specified (discontinuous) operator evaluations, puts it into the kernel function and integrates the results over the entities (see kwargs) along cell boundaries. If no kernel is given, the arguments are integrated directly. If a kernel is provided it has be conform to the interface

kernel!(result, eval_args, qpinfo)

where qpinfo allows to access information at the current quadrature point. Additionally the length of the result needs to be specified via the kwargs.

Evaluation can be triggered via the evaluate function.

Operator evaluations are tuples that pair an unknown identifier or integer with a Function operator.

Keyword arguments:

  • piecewise: returns piecewise integrations, otherwise a global integration. Default: true

  • factor: factor that should be multiplied during assembly. Default: 1

  • resultdim: dimension of result field (default = length of arguments). Default: 0

  • params: array of parameters that should be made available in qpinfo argument of kernel function. Default: nothing

  • name: name for operator used in printouts. Default: ''ItemIntegratorDG''

  • entities: assemble operator on these grid entities (default = ONCELLS). Default: ONFACES

  • quadorder: quadrature order. Default: ''auto''

  • bonus_quadorder: additional quadrature order added to quadorder. Default: 0

  • verbosity: verbosity level. Default: 0

  • regions: subset of regions where the item integrator should be evaluated. Default: Any[]

source
ExtendableFEM.evaluateMethod
function evaluate(
	O::ItemIntegratorDG,
	sol;
	time = 0,
	kwargs...)

Evaluates the ItemIntegratorDG for the specified solution and returns an matrix of size resultdim x num_items.

source
ExtendableFEMBase.evaluate!Method
function evaluate(
	b::AbstractMatrix,
	O::ItemIntegratorDG,
	sol::FEVector;
	time = 0,
	kwargs...)

Evaluates the ItemIntegratorDG for the specified solution into the matrix b.

source
ExtendableFEMBase.evaluate!Method
function evaluate(
	b::AbstractMatrix,
	O::ItemIntegratorDG,
	sol::Array{FEVEctorBlock};
	time = 0,
	kwargs...)

Evaluates the ItemIntegratorDG for the specified solution into the matrix b.

source