SpECTRE  v2021.10.04
Tags::DerivCompute< VariablesTag, 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, domain::Tags::Mesh< Dim >, 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 InverseJacobianTag, typename DerivTags = typename VariablesTag::type::tags_list>
struct Tags::DerivCompute< VariablesTag, 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 InverseJacobianTag , typename DerivTags = typename VariablesTag::type::tags_list>
constexpr void(* Tags::DerivCompute< VariablesTag, 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<DerivTags, typename VariablesTag::type::tags_list,
Dim, deriv_frame>
void partial_derivatives(gsl::not_null< Variables< db::wrap_tags_in< Tags::deriv, DerivativeTags, tmpl::size_t< Dim >, DerivativeFrame > > * > 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: