10 #include "DataStructures/SpinWeighted.hpp"
12 #include "Evolution/Systems/Cce/Tags.hpp"
13 #include "NumericalAlgorithms/Spectral/SwshCollocation.hpp"
14 #include "NumericalAlgorithms/Spectral/SwshInterpolation.hpp"
28 struct NumberOfRadialPoints;
34 namespace InitializeJ {
37 double adjust_angular_coordinates_for_j(
39 gsl::not_null<tnsr::i<DataVector, 3>*> cartesian_cauchy_coordinates,
42 angular_cauchy_coordinates,
44 double tolerance,
size_t max_steps,
bool adjust_volume_gauge) noexcept;
69 using return_tags = tmpl::list<Tags::BondiJ>;
70 using argument_tags = tmpl::append<boundary_tags>;
78 cauchy_angular_coordinates,
79 size_t l_max) noexcept;
105 using boundary_tags = tmpl::list<Tags::BoundaryValue<Tags::BondiJ>,
111 using argument_tags =
112 tmpl::push_back<boundary_tags, Tags::LMax, Tags::NumberOfRadialPoints>;
114 using creatable_classes =
115 tmpl::list<InverseCubic, NoIncomingRadiation, ZeroNonSmooth>;
121 virtual void operator()(
123 gsl::not_null<tnsr::i<DataVector, 3>*> cartesian_cauchy_coordinates,
126 angular_cauchy_coordinates,
130 size_t number_of_radial_points)
const noexcept = 0;
135 #include "Evolution/Systems/Cce/Initialize/InverseCubic.hpp"
136 #include "Evolution/Systems/Cce/Initialize/NoIncomingRadiation.hpp"
137 #include "Evolution/Systems/Cce/Initialize/ZeroNonSmooth.hpp"
Initialize on the first hypersurface from provided boundary values of , , and .
Definition: InverseCubic.hpp:40
Apply a radius-independent angular gauge transformation to a volume , for use with initial data gener...
Definition: InitializeJ.hpp:65
Make a spin-weighted type T with spin-weight Spin. Mathematical operators are restricted to addition,...
Definition: SpinWeighted.hpp:24
Initialize on the first hypersurface to be vanishing, finding the appropriate angular coordinates to...
Definition: ZeroNonSmooth.hpp:37
Stores a collection of function values.
Definition: DataVector.hpp:42
Represents a spherical-coordinate frame that is associated with a Cartesian frame,...
Definition: IndexType.hpp:54
Abstract base class for an initial hypersurface data generator for Cce.
Definition: InitializeJ.hpp:104
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
The set of utilities for performing Cauchy characteristic evolution and Cauchy characteristic matchin...
Definition: BoundaryComputeAndSendToEvolution.hpp:28
Stores a collection of complex function values.
Definition: ComplexDataVector.hpp:47
Initialize on the first hypersurface by constraining .
Definition: NoIncomingRadiation.hpp:35
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13