Initialize \(J\) on the first hypersurface using a second-order matching at the worldtube.
More...
|
|
| 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 |
|
| 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 |
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.