SpECTRE  v2024.06.18
imex Namespace Reference

Code related to evolution using implicit-explicit time stepping. More...

Namespaces

namespace  Actions
 Actions related to evolution using implicit-explicit time stepping.
 
namespace  OptionTags
 Input-file options for IMEX.
 
namespace  protocols
 Protocols for imex.
 
namespace  Tags
 Tags for IMEX.
 

Classes

struct  GuessExplicitResult
 Mutator for the initial_guess of an implicit sector that does not modify the variables. The initial guess is therefore the result of the explicit step. More...
 
struct  ImplicitDenseOutput
 Mutator to apply the implicit portion of dense output, intended for use in RunEventsAndDenseTriggers. More...
 
struct  Initialize
 Create the IMEX structures and options. More...
 
struct  NoJacobianBecauseSolutionIsAnalytic
 Mutator for the jacobian of an implicit sector that has an analytic solution. Such a sector never does numerical solves, and so does not need an available jacobian. More...
 
struct  SolveImplicitSector
 Perform the implicit solve for one implicit sector. More...
 

Typedefs

template<typename IndependentList , typename DependentList >
using jacobian_tags = tmpl::join< tmpl::transform< IndependentList, tmpl::lazy::transform< tmpl::pin< DependentList >, tmpl::defer< tmpl::bind<::imex::Tags::Jacobian, tmpl::parent< tmpl::_1 >, tmpl::_1 > > > > >
 Create a list of all jacobian tags for the dependence of DependentList on IndependentList. More...
 

Enumerations

enum class  GuessResult { InitialGuess , ExactSolution }
 Type of guess returned from an implicit sector's initial_guess mutator. If ExactSolution is returned, the implicit solve is skipped.
 
enum class  Mode { Implicit , SemiImplicit }
 IMEX implementations. More...
 

Detailed Description

Code related to evolution using implicit-explicit time stepping.

Typedef Documentation

◆ jacobian_tags

template<typename IndependentList , typename DependentList >
using imex::jacobian_tags = typedef tmpl::join<tmpl::transform< IndependentList, tmpl::lazy::transform< tmpl::pin<DependentList>, tmpl::defer<tmpl::bind<::imex::Tags::Jacobian, tmpl::parent<tmpl::_1>, tmpl::_1> >> >>

Create a list of all jacobian tags for the dependence of DependentList on IndependentList.

This can be used to construct the argument for a Variables from the tags_lists of two other Variables.

Enumeration Type Documentation

◆ Mode

enum class imex::Mode
strong

IMEX implementations.

Enumerator
Implicit 

Solve the implicit equation using a nonlinear solver.

SemiImplicit 

Solve a linearized version of the implicit equation.