SpECTRE
v2025.03.17
|
Apply the DG operator to the PrimalFieldsTag
and write the result to the OperatorAppliedToFieldsTag
More...
#include <ApplyOperator.hpp>
Public Types | |
using | system = System |
using | temporal_id_tag = TemporalIdTag |
using | apply_actions = implementation defined |
using | amr_projectors = implementation defined |
Apply the DG operator to the PrimalFieldsTag
and write the result to the OperatorAppliedToFieldsTag
Add the apply_actions
list to the action list of a parallel component to compute the elliptic DG operator or its linearization. The operator involves a communication between nearest-neighbor elements. See elliptic::dg
for details on the elliptic DG operator. Make sure to add elliptic::dg::Actions::initialize_operator
to the initialization phase of your parallel component so the required DataBox tags are set up before applying the operator.
The result of the computation is written to the OperatorAppliedToFieldsTag
. Additionally, the primal fluxes are written to the PrimalFluxesTag
as an intermediate result. The auxiliary fields and fluxes are discarded to avoid inflating the memory usage.
You can specify the PrimalMortarFieldsTag
and the PrimalMortarFluxesTag
to re-use mortar-data memory buffers from other operator applications, for example when applying the nonlinear and linearized operator. They default to the PrimalFieldsTag
and the PrimalFluxesTag
, meaning memory buffers corresponding to these tags are set up in the DataBox.
amr_projectors
to the list of AMR projectors to support AMR.