SpECTRE  v2026.06.30
Loading...
Searching...
No Matches
Cce::InitializeJ::CauchySecondOrder Struct Reference

Initialize \(J\) on the first hypersurface using a second-order matching at the worldtube. More...

#include <CauchySecondOrder.hpp>

Classes

struct  AngularCoordinateTolerance
struct  MaxIterations
struct  MaxScriSecondDerivative
struct  RequireConvergence

Public Types

using options
using return_tags
using argument_tags
Public Types inherited from Cce::InitializeJ::InitializeJ< false >
using boundary_tags
using mutate_tags
using return_tags = mutate_tags
using argument_tags
using creatable_classes

Public Member Functions

 WRAPPED_PUPable_decl_template (CauchySecondOrder)
 CauchySecondOrder (CkMigrateMessage *)
 CauchySecondOrder (double angular_coordinate_tolerance, size_t max_iterations, bool require_convergence, double max_scri_second_derivative)
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, 1 > > &boundary_u, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &boundary_w, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &boundary_beta, const Scalar< SpinWeighted< ComplexDataVector, 1 > > &boundary_q, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_du_j, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_dr_j, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &boundary_du_dr_j, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &boundary_du_r, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &r, size_t l_max, size_t number_of_radial_points, gsl::not_null< Parallel::NodeLock * > hdf5_lock) const
void pup (PUP::er &p) override
Public Member Functions inherited from Cce::InitializeJ::InitializeJ< false >
 InitializeJ (CkMigrateMessage *)
 WRAPPED_PUPable_abstract (InitializeJ)
template<typename DbTags>
void operator() (const gsl::not_null< db::DataBox< DbTags > * > box, const gsl::not_null< Parallel::NodeLock * > hdf5_lock) const

Static Public Attributes

static constexpr Options::String help

Detailed Description

Initialize \(J\) on the first hypersurface using a second-order matching at the worldtube.

Details

The volume \(J\) is built from the worldtube values of \(J\), \(\partial_r J\), and \(\partial_y^2 J\) computed from the H hypersurface equation. The remaining angular coordinates are determined iteratively to ensure asymptotic flatness. As a safeguard, the initialization aborts if the second radial derivative of \(J\) at scri+ of the final solution exceeds MaxScriSecondDerivative.

Member Typedef Documentation

◆ argument_tags

◆ options

using Cce::InitializeJ::CauchySecondOrder::options

◆ return_tags

using Cce::InitializeJ::CauchySecondOrder::return_tags
Initial value:
Bondi parameter .
Definition Tags.hpp:35
Definition Tags.hpp:217
Definition Tags.hpp:228

Member Function Documentation

◆ get_clone()

std::unique_ptr< InitializeJ > Cce::InitializeJ::CauchySecondOrder::get_clone ( ) const
overridevirtual

Member Data Documentation

◆ help

Options::String Cce::InitializeJ::CauchySecondOrder::help
staticconstexpr
Initial value:
= {
"Second-order initial data generator for the Cauchy CCE evolution."}

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/Cce/Initialize/CauchySecondOrder.hpp