Tatooine
Public Types | Public Member Functions | Public Attributes | List of all members
tatooine::spacetime_splitted_vectorfield< V > Struct Template Reference

#include <spacetime_splitted_vectorfield.h>

Inheritance diagram for tatooine::spacetime_splitted_vectorfield< V >:
[legend]
Collaboration diagram for tatooine::spacetime_splitted_vectorfield< V >:
[legend]

Public Types

using this_type = spacetime_splitted_vectorfield< V >
 
using parent_type = vectorfield< this_type, typename std::remove_pointer_t< std::decay_t< V > >::real_type, std::remove_pointer_t< std::decay_t< V > >::num_dimensions() - 1 >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Real
 
using tensor_type = Tensor
 
- Public Types inherited from tatooine::field< DerivedField, Real, NumDimensions, Tensor >
using this_type = field< DerivedField, Real, NumDimensions, Tensor >
 
using parent_type = polymorphic::field< Real, NumDimensions, Tensor >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Real
 
using tensor_type = Tensor
 
- Public Types inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
using real_type = Real
 
using tensor_type = Tensor
 
using this_type = field< real_type, NumDimensions, Tensor >
 
using pos_type = vec< real_type, NumDimensions >
 

Public Member Functions

constexpr auto internal_field () const -> auto const &
 
template<typename W >
requires std::is_pointer_v<V>
auto set_field (vectorfield< W, real_type, num_dimensions()+1 > const &v)
 
auto set_field (polymorphic::vectorfield< real_type, num_dimensions()+1 > const &v)
 
auto set_field (polymorphic::vectorfield< real_type, num_dimensions()+1 > const *v)
 
constexpr spacetime_splitted_vectorfield (convertible_to< V > auto &&v)
 
constexpr spacetime_splitted_vectorfield (spacetime_splitted_vectorfield const &)=default
 
constexpr spacetime_splitted_vectorfield (spacetime_splitted_vectorfield &&) noexcept=default
 
 ~spacetime_splitted_vectorfield () override=default
 
constexpr auto evaluate (pos_type const &x, real_type const t) const -> tensor_type
 
- Public Member Functions inherited from tatooine::field< DerivedField, Real, NumDimensions, Tensor >
 field ()=default
 
 field (field const &)=default
 
 field (field &&) noexcept=default
 
auto operator= (field const &) -> field &=default
 
auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
auto as_derived () -> auto &
 
auto as_derived () const -> auto const &
 
auto evaluate (pos_type const &x, real_type const t) const -> tensor_type override
 
- Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
constexpr field ()=default
 
constexpr field (field const &)=default
 
constexpr field (field &&) noexcept=default
 
constexpr auto operator= (field const &) -> field &=default
 
constexpr auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
virtual constexpr auto evaluate (pos_type const &, real_type const) const -> tensor_type=0
 
constexpr auto evaluate (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x, real_type const t) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (arithmetic auto const ... xs) const -> tensor_type
 

Public Attributes

m_v
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
static auto constexpr ood_tensor ()
 
static auto constexpr ood_position ()
 
static constexpr auto is_field ()
 
static constexpr auto is_scalarfield ()
 
static constexpr auto is_vectorfield ()
 
static constexpr auto is_matrixfield ()
 
static constexpr auto num_dimensions () -> std::size_t
 
static constexpr auto num_tensor_components ()
 
static constexpr auto tensor_rank ()
 
static constexpr auto tensor_dimension (std::size_t i)
 

Member Typedef Documentation

◆ parent_type

template<typename V >
using tatooine::spacetime_splitted_vectorfield< V >::parent_type = vectorfield<this_type, typename std::remove_pointer_t<std::decay_t<V> >::real_type, std::remove_pointer_t<std::decay_t<V> >::num_dimensions() - 1>

◆ pos_type

template<typename V >
using tatooine::polymorphic::field< Real, NumDimensions, Tensor >::pos_type = vec<real_type, NumDimensions>

◆ real_type

template<typename V >
using tatooine::polymorphic::field< Real, NumDimensions, Tensor >::real_type = Real

◆ tensor_type

template<typename V >
using tatooine::polymorphic::field< Real, NumDimensions, Tensor >::tensor_type = Tensor

◆ this_type

template<typename V >
using tatooine::spacetime_splitted_vectorfield< V >::this_type = spacetime_splitted_vectorfield<V>

Constructor & Destructor Documentation

◆ spacetime_splitted_vectorfield() [1/3]

template<typename V >
constexpr tatooine::spacetime_splitted_vectorfield< V >::spacetime_splitted_vectorfield ( convertible_to< V > auto &&  v)
inlineexplicitconstexpr

◆ spacetime_splitted_vectorfield() [2/3]

template<typename V >
constexpr tatooine::spacetime_splitted_vectorfield< V >::spacetime_splitted_vectorfield ( spacetime_splitted_vectorfield< V > const &  )
constexprdefault

◆ spacetime_splitted_vectorfield() [3/3]

template<typename V >
constexpr tatooine::spacetime_splitted_vectorfield< V >::spacetime_splitted_vectorfield ( spacetime_splitted_vectorfield< V > &&  )
constexprdefaultnoexcept

◆ ~spacetime_splitted_vectorfield()

template<typename V >
tatooine::spacetime_splitted_vectorfield< V >::~spacetime_splitted_vectorfield ( )
overridedefault

Member Function Documentation

◆ evaluate()

template<typename V >
constexpr auto tatooine::spacetime_splitted_vectorfield< V >::evaluate ( pos_type const &  x,
real_type const  t 
) const -> tensor_type
inlineconstexprvirtual

◆ internal_field()

template<typename V >
constexpr auto tatooine::spacetime_splitted_vectorfield< V >::internal_field ( ) const -> auto const&
inlineconstexpr

◆ set_field() [1/3]

template<typename V >
auto tatooine::spacetime_splitted_vectorfield< V >::set_field ( polymorphic::vectorfield< real_type, num_dimensions()+1 > const &  v)
inline

◆ set_field() [2/3]

template<typename V >
auto tatooine::spacetime_splitted_vectorfield< V >::set_field ( polymorphic::vectorfield< real_type, num_dimensions()+1 > const *  v)
inline

◆ set_field() [3/3]

template<typename V >
template<typename W >
requires std::is_pointer_v<V>
auto tatooine::spacetime_splitted_vectorfield< V >::set_field ( vectorfield< W, real_type, num_dimensions()+1 > const &  v)
inline

Member Data Documentation

◆ m_v

template<typename V >
V tatooine::spacetime_splitted_vectorfield< V >::m_v

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