SpECTRE  v2024.03.19
Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags > 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::list< VariablesTag, MeshTag, InverseJacobianTag >
 

Static Public Attributes

static constexpr void(* function )(gsl::not_null< return_type * >, const typename VariablesTag::type &, const Mesh< Dim > &, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, deriv_frame > &)
 

Detailed Description

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

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.

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

Member Data Documentation

◆ function

template<typename VariablesTag , typename MeshTag , typename InverseJacobianTag , typename DerivTags = typename VariablesTag::type::tags_list>
constexpr void(* Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags >::function) (gsl::not_null< return_type * >, const typename VariablesTag::type &, const Mesh< Dim > &, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, deriv_frame > &)
staticconstexpr
Initial value:
=
partial_derivatives<typename return_type::tags_list,
typename VariablesTag::type::tags_list, Dim,
deriv_frame>
void partial_derivatives(gsl::not_null< Variables< ResultTags > * > du, const std::array< Variables< DerivativeTags >, Dim > &logical_partial_derivatives_of_u, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, DerivativeFrame > &inverse_jacobian)
Compute the partial derivatives of each variable with respect to the coordinates of DerivativeFrame.

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