SpECTRE  v2025.08.19
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 = db::add_tag_prefix< deriv, ::Tags::Variables< DerivTags >, tmpl::size_t< tmpl::back< typename InverseJacobianTag::type::index_list >::dim >, typename tmpl::back< typename InverseJacobianTag::type::index_list >::Frame >
 
using return_type = typename base::type
 
using argument_tags = tmpl::conditional_t< std::is_same_v< void, InertialCoordsTag >, tmpl::list< VariablesTag, MeshTag, InverseJacobianTag >, tmpl::list< VariablesTag, MeshTag, InverseJacobianTag, InertialCoordsTag > >
 

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>.


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