Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::steady_field< Field > Struct Template Reference

#include <steady_field.h>

Inheritance diagram for tatooine::steady_field< Field >:
[legend]
Collaboration diagram for tatooine::steady_field< Field >:
[legend]

Public Types

using field_t = Field
 
using this_type = steady_field< Field >
 
using parent_type = field< this_type, typename Field::real_type, Field::num_dimensions(), typename Field::tensor_type >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Real
 
using tensor_type = Tensor
 
- Public Types inherited from tatooine::field< steady_field< Field >, Field::real_type, Field::num_dimensions(), Field::tensor_type >
using this_type = field< steady_field< Field >, Field::real_type, NumDimensions, Field::tensor_type >
 
using parent_type = polymorphic::field< Field::real_type, NumDimensions, Field::tensor_type >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Field::real_type
 
using tensor_type = Field::tensor_type
 
- 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

 steady_field (steady_field const &other)=default
 
 steady_field (steady_field &&other) noexcept=default
 
auto operator= (steady_field const &other) -> steady_field &=default
 
auto operator= (steady_field &&other) noexcept -> steady_field &=default
 
 ~steady_field ()=default
 
constexpr steady_field (convertible_to< Field > auto &&f, arithmetic auto fixed_time)
 
constexpr auto evaluate (pos_type const &x, real_type const) const -> tensor_type
 
constexpr auto internal () -> auto &
 
constexpr auto internal () const -> auto const &
 
- Public Member Functions inherited from tatooine::field< steady_field< Field >, Field::real_type, Field::num_dimensions(), Field::tensor_type >
 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
 

Private Attributes

Field m_internal_field
 
real_type m_fixed_time
 

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

◆ field_t

template<typename Field >
using tatooine::steady_field< Field >::field_t = Field

◆ parent_type

template<typename Field >
using tatooine::steady_field< Field >::parent_type = field<this_type, typename Field::real_type, Field::num_dimensions(), typename Field::tensor_type>

◆ pos_type

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

◆ real_type

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

◆ tensor_type

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

◆ this_type

template<typename Field >
using tatooine::steady_field< Field >::this_type = steady_field<Field>

Constructor & Destructor Documentation

◆ steady_field() [1/3]

template<typename Field >
tatooine::steady_field< Field >::steady_field ( steady_field< Field > const &  other)
default

◆ steady_field() [2/3]

template<typename Field >
tatooine::steady_field< Field >::steady_field ( steady_field< Field > &&  other)
defaultnoexcept

◆ ~steady_field()

template<typename Field >
tatooine::steady_field< Field >::~steady_field ( )
default

◆ steady_field() [3/3]

template<typename Field >
constexpr tatooine::steady_field< Field >::steady_field ( convertible_to< Field > auto &&  f,
arithmetic auto  fixed_time 
)
inlineconstexpr

Member Function Documentation

◆ evaluate()

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

◆ internal() [1/2]

template<typename Field >
constexpr auto tatooine::steady_field< Field >::internal ( ) -> auto&
inlineconstexpr

◆ internal() [2/2]

template<typename Field >
constexpr auto tatooine::steady_field< Field >::internal ( ) const -> auto const&
inlineconstexpr

◆ operator=() [1/2]

template<typename Field >
auto tatooine::steady_field< Field >::operator= ( steady_field< Field > &&  other) -> steady_field &=default
defaultnoexcept

◆ operator=() [2/2]

template<typename Field >
auto tatooine::steady_field< Field >::operator= ( steady_field< Field > const &  other) -> steady_field &=default
default

Member Data Documentation

◆ m_fixed_time

template<typename Field >
real_type tatooine::steady_field< Field >::m_fixed_time
private

◆ m_internal_field

template<typename Field >
Field tatooine::steady_field< Field >::m_internal_field
private

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