NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
symmTensor.hpp File Reference
#include <Kokkos_Core.hpp>
#include "NeoN/core/primitives/scalar.hpp"
#include "NeoN/core/primitives/vec3.hpp"
#include "NeoN/core/primitives/tensor.hpp"
#include "NeoN/core/primitives/traits.hpp"

Go to the source code of this file.

Classes

class  NeoN::SymmTensor
 A class for the representation of a symmetric 3x3 tensor. More...
 

Namespaces

namespace  NeoN
 Integer types used throughout NeoN.
 

Functions

KOKKOS_INLINE_FUNCTION SymmTensor NeoN::operator* (const scalar s, const SymmTensor &st)
 
KOKKOS_INLINE_FUNCTION Vec3 NeoN::operator& (const SymmTensor &s, const Vec3 &v)
 Symmetric matrix-vector product S·v.
 
KOKKOS_INLINE_FUNCTION scalar NeoN::mag (const SymmTensor &s)
 Frobenius norm.
 
KOKKOS_INLINE_FUNCTION scalar NeoN::magSqr (const SymmTensor &s)
 Frobenius norm squared.
 
KOKKOS_INLINE_FUNCTION SymmTensor NeoN::symm (const Tensor &t)
 Symmetric part of a full tensor: ½(T + T^T)
 
KOKKOS_INLINE_FUNCTION Tensor NeoN::twoSymm (const Tensor &t)
 T + T^T (= 2*symm(T)) as a full tensor.
 
KOKKOS_INLINE_FUNCTION SymmTensor NeoN::devTwoSymm (const Tensor &t)
 T + T^T - (2/3)*tr(T)*I — used for viscous stress.
 
std::ostream & NeoN::operator<< (std::ostream &out, const SymmTensor &s)
 
template<>
KOKKOS_INLINE_FUNCTION SymmTensor NeoN::zero< SymmTensor > ()
 
template<>
KOKKOS_INLINE_FUNCTION SymmTensor NeoN::one< SymmTensor > ()
 
template<>
KOKKOS_INLINE_FUNCTION SymmTensor NeoN::inv< SymmTensor > (SymmTensor)