1#ifndef TATOOINE_Q_FIELD_H
2#define TATOOINE_Q_FIELD_H
11 :
public scalarfield<Q_field<V>, field_real_type<V>, field_num_dimensions<V>> {
32 template <
typename V_>
48 return (sqr_norm(Omega, 2) - sqr_norm(S, 2)) / 2;
58 V&& v)
requires is_vectorfield<std::decay_t<std::remove_pointer_t<V>>> {
64 std::decay_t<std::remove_pointer_t<V>>> {
constexpr auto evaluate(pos_type const &x, real_type const t) const -> tensor_type
Definition: Q_field.h:44
Q_field(Q_field &&) noexcept=default
Q_field(V_ &&v)
Definition: Q_field.h:33
V m_v
Definition: Q_field.h:26
Q_field(Q_field const &)=default
Real real_type
Definition: field.h:17
constexpr auto in_domain(pos_type const &x, real_type const t) const -> bool
Definition: Q_field.h:51
Definition: algorithm.h:6
auto transposed(dynamic_tensor auto &&t)
Definition: transposed_tensor.h:170
static constexpr bool is_vectorfield
Definition: field.h:249
constexpr auto diff(polynomial< Real, Degree > const &f)
Definition: polynomial.h:179
static constexpr forward_tag forward
Definition: tags.h:9
auto Q(V &&v)
Definition: Q_field.h:57
Real real_type
Definition: field.h:17
vec< real_type, NumDimensions > pos_type
Definition: field.h:20
Tensor tensor_type
Definition: field.h:18
constexpr auto in_domain(const pos_type &, double) const
Definition: symbolic_field.h:50