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:

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

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

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

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

  • parallel: assemble operator in parallel using partitions information. Default: false

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

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

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

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

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

  • verbosity: verbosity level. Default: 0

source
ExtendableFEM.L2NormIntegratorMethod
function L2NormIntegrator(
	oa_args::Array{<:Tuple{Union{Unknown,Int}, DataType},1};
	kwargs...)

ItemIntegrator with a fixed kernel that computes the (componentwise) L2Norm of the arguments.

Keyword arguments:

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

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

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

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

  • parallel: assemble operator in parallel using partitions information. Default: false

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

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

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

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

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

  • verbosity: verbosity level. Default: 0

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:

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

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

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

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

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

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

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

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

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

  • verbosity: verbosity level. Default: 0

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