SpECTRE  v2024.09.29
imex::protocols::ImplicitSource Struct Reference

Protocol for implicit source terms. More...

#include <ImplicitSource.hpp>

Classes

struct  test
 

Detailed Description

Protocol for implicit source terms.

A struct conforming to this protocol must also conform to protocols::StaticReturnApplyable. The return_tags of this struct must be a list of Tags::Source<T> for every tensor T in the implicit sector.

The argument_tags must not include compute items depending on tensors in the implicit sector.

struct Source : tt::ConformsTo<imex::protocols::ImplicitSource>,
tt::ConformsTo<::protocols::StaticReturnApplyable> {
using return_tags = tmpl::list<::Tags::Source<Var2>, ::Tags::Source<Var3>>;
using argument_tags = tmpl::list<Var1, Var2, Var3, NonTensor,
RecordPreparersForTest, SomeComputeTagBase>;
static void apply(const gsl::not_null<tnsr::II<DataVector, 2>*> source_var2,
const Scalar<DataVector>& var1,
const tnsr::I<DataVector, 2>& var3, const double non_tensor,
const RecordPreparersForTest::type& prep_run_values,
const double compute_tag_value) {
Definition: ContractFirstNIndices.hpp:16
Require a pointer to not be a nullptr
Definition: Gsl.hpp:198
auto apply(F &&f, const ObservationBox< ComputeTagsList, DataBoxType > &observation_box, Args &&... args)
Apply the function object f using its nested argument_tags list of tags.
Definition: ObservationBox.hpp:238
Prefix indicating a source term.
Definition: Prefixes.hpp:118
Indicate a class conforms to the Protocol.
Definition: ProtocolHelpers.hpp:22

The documentation for this struct was generated from the following file: