Elliptic Systems

All available elliptic systems and information on how to implement elliptic systems. More...

## Namespaces

Poisson
Items related to solving a Poisson equation $-\Delta u(x)=f(x)$.

ThermalNoise
Items related to solving for the thermal noise in crystalline thin coatings.

Xcts
Items related to solving the Extended Conformal Thin Sandwich (XCTS) equations.

## Detailed Description

All available elliptic systems and information on how to implement elliptic systems.

### Details

Actions and parallel components may require an elliptic system to expose the following types:

• volume_dim: The number of spatial dimensions
• fields_tag: A DataBox tag that represents the fields being solved for.
• variables_tag: The variables to compute DG volume contributions and fluxes for. Use db::add_tag_prefix<LinearSolver::Tags::Operand, fields_tag> unless you have a reason not to.
• compute_operator_action: A struct that computes the bulk contribution to the DG operator. Must expose a tmpl::list of argument_tags and a static apply function that takes the following arguments in this order:
• First, the types of the tensors in db::add_tag_prefix<Metavariables::temporal_id::step_prefix, variables_tag> (which represent the linear operator applied to the variables) as not-null pointers.
• Followed by the types of the argument_tags as constant references.

Actions and parallel components may also require the Metavariables to expose the following types:

• system: See above.
• temporal_id: A DataBox tag that identifies steps in the algorithm. Generally use LinearSolver::Tags::IterationId.