Skip to content

Commit

Permalink
Add Cce Tags (shared with PR sxs-collaboration#1397)
Browse files Browse the repository at this point in the history
  • Loading branch information
moxcodes committed May 20, 2019
1 parent c7d036f commit 3d8721f
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion src/Evolution/Systems/Cce/Tags.hpp
Expand Up @@ -7,6 +7,7 @@
#include "DataStructures/SpinWeighted.hpp"
#include "DataStructures/Tensor/Tensor.hpp"
#include "DataStructures/Tensor/TypeAliases.hpp"
#include "NumericalAlgorithms/Spectral/SwshTags.hpp"

namespace Cce {

Expand Down Expand Up @@ -49,6 +50,11 @@ struct K : db::SimpleTag {
static std::string name() noexcept { return "K"; }
};

struct LMax : db::SimpleTag {
using type = size_t;
static std::string name() noexcept { return "l_max";}
};

/// Bondi parameter \f$Q\f$
struct Q : db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, 1>>;
Expand Down Expand Up @@ -85,10 +91,17 @@ struct Dy : db::PrefixTag, db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, Tag::type::type::spin>>;
using tag = Tag;
static const size_t dimension_to_differentiate = 2;
static const size_t dim = 3;
static std::string name() noexcept { return "Dy(" + Tag::name() + ")"; }
};

/// The derivative with respect to Bondi \f$r\f$
template <typename Tag>
struct Dr : db::PrefixTag, db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, Tag::type::type::spin>>;
using tag = Tag;
static std::string name() noexcept { return "Dr(" + Tag::name() + ")"; }
};

// prefix tags associated with the integrands which are used as input to solvers
// for the CCE equations

Expand Down Expand Up @@ -205,20 +218,26 @@ struct DuRDividedByR : db::SimpleTag {
/// the shape of the initial worldtube data.
struct EthRDividedByR : db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, 1>>;
using derivative_kind = Spectral::Swsh::Tags::Eth;
static constexpr int spin = 1;
static std::string name() noexcept { return "EthRDividedByR"; }
};

/// The value \f$\eth \eth R / R\f$, where \f$R\f$ is the variable associated
/// with the shape of the initial worldtube data.
struct EthEthRDividedByR : db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, 2>>;
using derivative_kind = Spectral::Swsh::Tags::EthEth;
static constexpr int spin = 2;
static std::string name() noexcept { return "EthEthRDividedByR"; }
};

/// The value \f$\eth \bar{\eth} R / R\f$, where \f$R\f$ is the variable
/// associated with the shape of the initial worldtube data.
struct EthEthbarRDividedByR : db::SimpleTag {
using type = Scalar<SpinWeighted<ComplexDataVector, 0>>;
using derivative_kind = Spectral::Swsh::Tags::EthEthbar;
static constexpr int spin = 0;
static std::string name() noexcept { return "EthEthbarRDividedByR"; }
};

Expand Down

0 comments on commit 3d8721f

Please sign in to comment.