SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags, InertialCoordsTag > Struct Template Reference

Compute the spatial derivatives of tags in a Variables. More...

#include <PartialDerivatives.hpp>

Public Types

using base
using return_type = typename base::type
using argument_tags

Static Public Member Functions

static constexpr void function (gsl::not_null< return_type * > du, const typename VariablesTag::type &u, const Mesh< Dim > &mesh, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, deriv_frame > &inverse_jacobian)
static constexpr void function (gsl::not_null< return_type * > du, const typename VariablesTag::type &u, const Mesh< Dim > &mesh, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, deriv_frame > &inverse_jacobian, const tnsr::I< DataVector, Dim, Frame::Inertial > &inertial_coords)

Detailed Description

template<typename VariablesTag, typename MeshTag, typename InverseJacobianTag, typename DerivTags = typename VariablesTag::type::tags_list, typename InertialCoordsTag = void>
struct Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags, InertialCoordsTag >

Compute the spatial derivatives of tags in a Variables.

Computes the spatial derivatives of the Tensors in the Variables represented by VariablesTag in the frame mapped to by InverseJacobianTag. To only take the derivatives of a subset of these Tensors you can set the DerivTags template parameter. It takes a tmpl::list of the desired tags and defaults to the full tags_list of the Variables.

For an executable that does not allow a Cartoon basis, the last parameter, InertialCoordsTag, should not be passed.

This tag may be retrieved via Tags::Variables<db::wrap_tags_in<deriv, DerivTags, Dim, deriv_frame>.

Member Typedef Documentation

◆ argument_tags

template<typename VariablesTag, typename MeshTag, typename InverseJacobianTag, typename DerivTags = typename VariablesTag::type::tags_list, typename InertialCoordsTag = void>
using Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags, InertialCoordsTag >::argument_tags
Initial value:
tmpl::conditional_t<
tmpl::list<VariablesTag, MeshTag, InverseJacobianTag>,
tmpl::list<VariablesTag, MeshTag, InverseJacobianTag, InertialCoordsTag>>
T is_same_v

◆ base

template<typename VariablesTag, typename MeshTag, typename InverseJacobianTag, typename DerivTags = typename VariablesTag::type::tags_list, typename InertialCoordsTag = void>
using Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags, InertialCoordsTag >::base
Initial value:
tmpl::size_t<
tmpl::back<typename InverseJacobianTag::type::index_list>::dim>,
typename tmpl::back<
typename InverseJacobianTag::type::index_list>::Frame>
typename detail::add_tag_prefix_impl< Prefix, Tag, Args... >::type add_tag_prefix
Wrap Tag in Prefix<_, Args...>, unless Tag is a Tags::Variables, in which case this creates a new Tag...
Definition PrefixHelpers.hpp:50
Indicates the Frame that a TensorIndexType is in.
Definition IndexType.hpp:36
Definition VariablesTag.hpp:17
Prefix indicating spatial derivatives.
Definition Prefixes.hpp:46

The documentation for this struct was generated from the following file:
  • src/NumericalAlgorithms/LinearOperators/PartialDerivatives.hpp