SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
imex::SolveImplicitSector< SystemVariablesTag, ImplicitSector > Struct Template Reference

Perform the implicit solve for one implicit sector. More...

#include <SolveImplicitSector.hpp>

Public Types

using SystemVariables = typename SystemVariablesTag::type
using SectorVariables = Variables<typename ImplicitSector::tensors>
using return_tags
using argument_tags

Static Public Member Functions

template<typename... ForwardArgs>
static void apply (const gsl::not_null< SystemVariables * > system_variables, const gsl::not_null< Scalar< DataVector > * > solve_failures, const ImexTimeStepper &time_stepper, const TimeDelta &time_step, const TimeSteppers::History< SectorVariables > &implicit_history, const Mode implicit_solve_mode, const double implicit_solve_tolerance, const ForwardArgs &... forward_args)

Detailed Description

template<typename SystemVariablesTag, typename ImplicitSector>
struct imex::SolveImplicitSector< SystemVariablesTag, ImplicitSector >

Perform the implicit solve for one implicit sector.

This will update the tensors in the implicit sector and clean up the corresponding time stepper history. A new history entry is not added, because that should be done with the same values of the variables used for the explicit portion of the time derivative, which may still undergo variable-fixing-like corrections.

Warning
This will use the value of Tags::Time from the DataBox. Most of the time, the value appropriate for evaluating the explicit RHS is stored there, so it will likely need to be set to the appropriate value for the implicit RHS for the duration of this mutation.

Member Typedef Documentation

◆ argument_tags

template<typename SystemVariablesTag, typename ImplicitSector>
using imex::SolveImplicitSector< SystemVariablesTag, ImplicitSector >::argument_tags
Initial value:
tmpl::append<
tmpl::list<::Tags::TimeStepper<ImexTimeStepper>, ::Tags::TimeStep,
tmpl::join<evolution_data_tags>>
Tag for step size.
Definition TimeStep.hpp:13
Tag for the history of one of the implicit sectors of an IMEX system.
Definition ImplicitHistory.hpp:16
Tag for IMEX implementation to use.
Definition Mode.hpp:23
Definition SolveTolerance.hpp:21

◆ return_tags

template<typename SystemVariablesTag, typename ImplicitSector>
using imex::SolveImplicitSector< SystemVariablesTag, ImplicitSector >::return_tags
Initial value:
tmpl::list<SystemVariablesTag, Tags::SolveFailures<ImplicitSector>>

The documentation for this struct was generated from the following file:
  • src/Evolution/Imex/SolveImplicitSector.hpp