SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::forms::OperandResult< OperandT > Struct Template Reference

Specialization of the OperandResult struct for operands that are valid operands (satisfy the IsOperand concept) and are spatial terms (e.g defined over the domain, think mass density). This specialization uses the OperationValue struct to determine the value type of the result of the operand based on its term type and operation type. More...

#include <value.hpp>

Inheritance diagram for serif::discretization::forms::OperandResult< OperandT >:
[legend]
Collaboration diagram for serif::discretization::forms::OperandResult< OperandT >:
[legend]

Public Types

using type = double
 

Detailed Description

template<IsOperand OperandT>
requires blocks::SpatialTerm<typename OperandT::term_type>
struct serif::discretization::forms::OperandResult< OperandT >

Specialization of the OperandResult struct for operands that are valid operands (satisfy the IsOperand concept) and are spatial terms (e.g defined over the domain, think mass density). This specialization uses the OperationValue struct to determine the value type of the result of the operand based on its term type and operation type.

Specialization of the OperandResult struct for operands that are valid operands (satisfy the IsOperand concept) and are global scalar terms (e.g one value over the domain, think total mass). This specialization defines that any operand that is a global scalar term will result in a double when evaluated.

Template Parameters
OperandTThe operand type to determine the result value type for.

Think of this a compile time way to say "this operand (which recall is an association between a form and a term) will result in a tensor of rank x when evaluated on a term of rank y".

Template Parameters
OperandTThe operand type to determine the result value type for.

Member Typedef Documentation

◆ type

template<IsOperand OperandT>
using serif::discretization::forms::OperandResult< OperandT >::type = double

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