SpECTRE
v2024.12.16
|
Initialize
#include <ZeroNonSmooth.hpp>
Classes | |
struct | AngularCoordinateTolerance |
struct | MaxIterations |
struct | RequireConvergence |
Public Types | |
using | options = implementation defined |
Public Types inherited from Cce::InitializeJ::InitializeJ< false > | |
using | boundary_tags = implementation defined |
using | mutate_tags = implementation defined |
using | argument_tags = implementation defined |
using | creatable_classes = implementation defined |
Public Member Functions | |
WRAPPED_PUPable_decl_template (ZeroNonSmooth) | |
ZeroNonSmooth (CkMigrateMessage *) | |
ZeroNonSmooth (double angular_coordinate_tolerance, size_t max_iterations, bool require_convergence=false) | |
std::unique_ptr< InitializeJ > | get_clone () const override |
void | operator() (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, 2 > > * > j, gsl::not_null< tnsr::i< DataVector, 3 > * > cartesian_cauchy_coordinates, gsl::not_null< tnsr::i< DataVector, 2, ::Frame::Spherical<::Frame::Inertial > > * > angular_cauchy_coordinates, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_j, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_dr_j, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &r, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &beta, size_t l_max, size_t number_of_radial_points, gsl::not_null< Parallel::NodeLock * > hdf5_lock) const override |
void | pup (PUP::er &p) override |
Public Member Functions inherited from Cce::InitializeJ::InitializeJ< false > | |
InitializeJ (CkMigrateMessage *) | |
WRAPPED_PUPable_abstract (InitializeJ) | |
virtual std::unique_ptr< InitializeJ< false > > | get_clone () const =0 |
virtual void | operator() (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, 2 > > * > j, gsl::not_null< tnsr::i< DataVector, 3 > * > cartesian_cauchy_coordinates, gsl::not_null< tnsr::i< DataVector, 2, ::Frame::Spherical<::Frame::Inertial > > * > angular_cauchy_coordinates, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_j, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_dr_j, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &r, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &beta, size_t l_max, size_t number_of_radial_points, gsl::not_null< Parallel::NodeLock * > hdf5_lock) const =0 |
Static Public Attributes | |
static constexpr Options::String | help |
Initialize
Internally, this performs an iterative solve for the angular coordinates necessary to give rise to a vanishing gauge-transformed J on the worldtube boundary. The parameters for the iterative procedure are determined by options ZeroNonSmooth::AngularCoordinateTolerance
and ZeroNonSmooth::MaxIterations
. The resulting J
will necessarily have vanishing first radial derivative, and so will typically not be smooth (only continuous) with the provided Cauchy data at the worldtube boundary.
|
overridevirtual |
Implements Cce::InitializeJ::InitializeJ< false >.
|
overridevirtual |
Implements Cce::InitializeJ::InitializeJ< false >.
|
staticconstexpr |