Classes | Namespaces | Functions
Variables.hpp File Reference

Defines class Variables. More...

#include <algorithm>
#include <cstdlib>
#include <limits>
#include <memory>
#include <ostream>
#include <pup.h>
#include <string>
#include "DataStructures/DataBox/DataBox.hpp"
#include "DataStructures/DataBox/DataBoxTag.hpp"
#include "DataStructures/DataVector.hpp"
#include "DataStructures/Tensor/IndexType.hpp"
#include "DataStructures/Tensor/Tensor.hpp"
#include "DataStructures/Tensor/TypeAliases.hpp"
#include "ErrorHandling/Assert.hpp"
#include "Utilities/ForceInline.hpp"
#include "Utilities/Gsl.hpp"
#include "Utilities/MakeSignalingNan.hpp"
#include "Utilities/PrettyType.hpp"
#include "Utilities/Requires.hpp"
#include "Utilities/TMPL.hpp"
#include "Utilities/TaggedTuple.hpp"
#include "Utilities/TypeTraits.hpp"

Go to the source code of this file.

Classes

class  Tags::Variables< TagsList >
 
class  Variables< tmpl::list< Tags... > >
 A Variables holds a contiguous memory block with Tensors pointing into it. More...
 
struct  MakeWithValueImpls::MakeWithValueImpl< Variables< TagList >, typename Variables< TagList >::vector_type >
 
struct  MakeWithValueImpls::MakeWithValueImpl< Variables< TagList >, Tensor< typename Variables< TagList >::vector_type, Structure... > >
 
struct  MakeWithValueImpls::MakeWithValueImpl< Variables< TagListOut >, Variables< TagListIn > >
 
struct  db::Subitems< TagList, Tag, Requires< tt::is_a_v< Variables, item_type< Tag, TagList > > > >
 
struct  Tags::TempTensor< N, T >
 

Namespaces

 MakeWithValueImpls
 Implementations of make_with_value.
 
 db
 Namespace for DataBox related things.
 

Typedefs

template<size_t N, typename DataType = DataVector>
using Tags::TempScalar = TempTensor< N, Scalar< DataType > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempa = TempTensor< N, tnsr::a< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempA = TempTensor< N, tnsr::A< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempi = TempTensor< N, tnsr::i< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempI = TempTensor< N, tnsr::I< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempab = TempTensor< N, tnsr::ab< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempaB = TempTensor< N, tnsr::aB< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAb = TempTensor< N, tnsr::Ab< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAB = TempTensor< N, tnsr::AB< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempij = TempTensor< N, tnsr::ij< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempiJ = TempTensor< N, tnsr::iJ< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIj = TempTensor< N, tnsr::Ij< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIJ = TempTensor< N, tnsr::IJ< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempia = TempTensor< N, tnsr::ia< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempaa = TempTensor< N, tnsr::aa< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAA = TempTensor< N, tnsr::AA< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempii = TempTensor< N, tnsr::ii< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempII = TempTensor< N, tnsr::II< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempijj = TempTensor< N, tnsr::ijj< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempiaa = TempTensor< N, tnsr::iaa< DataType, SpatialDim, Fr > >
 Variables Tags for temporary tensors inside a function.
 

Functions

template<typename Tag , typename TagList >
constexpr Tag::type & get (Variables< TagList > &v) noexcept
 Return Tag::type pointing into the contiguous array. More...
 
template<typename Tag , typename TagList >
constexpr const Tag::type & get (const Variables< TagList > &v) noexcept
 
template<typename... Tags>
Variables< tmpl::list< Tags... > > & operator*= (Variables< tmpl::list< Tags... >> &lhs, const typename Variables< tmpl::list< Tags... >>::vector_type &rhs) noexcept
 
template<typename... Tags>
Variables< tmpl::list< Tags... > > operator* (const Variables< tmpl::list< Tags... >> &lhs, const typename Variables< tmpl::list< Tags... >>::vector_type &rhs) noexcept
 
template<typename... Tags>
Variables< tmpl::list< Tags... > > operator* (const typename Variables< tmpl::list< Tags... >>::vector_type &lhs, const Variables< tmpl::list< Tags... >> &rhs) noexcept
 
template<typename... Tags>
Variables< tmpl::list< Tags... > > & operator/= (Variables< tmpl::list< Tags... >> &lhs, const typename Variables< tmpl::list< Tags... >>::vector_type &rhs) noexcept
 
template<typename... Tags>
Variables< tmpl::list< Tags... > > operator/ (const Variables< tmpl::list< Tags... >> &lhs, const typename Variables< tmpl::list< Tags... >>::vector_type &rhs) noexcept
 
template<typename TagsList >
std::ostreamoperator<< (std::ostream &os, const Variables< TagsList > &d) noexcept
 
template<typename TagsList >
bool operator!= (const Variables< TagsList > &lhs, const Variables< TagsList > &rhs) noexcept
 

Detailed Description

Defines class Variables.