|
SpECTRE
v2026.06.09.01
|
Coupling function of polynomial type with degree up to four: \(F[\Psi] = \sum_{i = 1}^4 a_i \Psi^i\). More...
#include <QuarticPolynomial.hpp>
Classes | |
| struct | Linear |
| struct | Quadratic |
| struct | Cubic |
| struct | Quartic |
Public Types | |
| using | options = tmpl::list<Linear, Quadratic, Cubic, Quartic> |
Public Member Functions | |
| QuarticPolynomial (double linear, double quadratic, double cubic, double quartic) | |
| QuarticPolynomial (const QuarticPolynomial &)=default | |
| QuarticPolynomial & | operator= (const QuarticPolynomial &)=default |
| QuarticPolynomial (QuarticPolynomial &&)=default | |
| QuarticPolynomial & | operator= (QuarticPolynomial &&)=default |
| QuarticPolynomial (CkMigrateMessage *m) | |
| WRAPPED_PUPable_decl_template (QuarticPolynomial) | |
| void | pup (PUP::er &p) override |
| double | get_linear () const |
| double | get_quadratic () const |
| double | get_cubic () const |
| double | get_quartic () const |
| Public Member Functions inherited from ScalarTensor::sgb::CouplingFunctions::CouplingFunction | |
| WRAPPED_PUPable_abstract (CouplingFunction) | |
| CouplingFunction (CkMigrateMessage *m) | |
| void | coupling_function (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const |
| Evaluates the coupling function on a scalar field profile, \(F[\Psi]\). | |
| Scalar< DataVector > | coupling_function (const Scalar< DataVector > &scalar_field) const |
| Evaluates the coupling function on a scalar field profile, \(F[\Psi]\). | |
| void | coupling_function_prime (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const |
| Evaluates the functional derivative of the coupling function, \(\frac{\delta F[\Psi]}{\delta \Psi} \), on a scalar field profile. | |
| Scalar< DataVector > | coupling_function_prime (const Scalar< DataVector > &scalar_field) const |
| Evaluates the functional derivative of the coupling function, \(\frac{\delta F[\Psi]}{\delta \Psi} \), on a scalar field profile. | |
| void | coupling_function_prime_prime (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const |
| Evaluates the second functional derivative of the coupling function, \(\frac{\delta^2 F[\Psi]}{\delta \Psi^2} \), on a scalar field profile. | |
| Scalar< DataVector > | coupling_function_prime_prime (const Scalar< DataVector > &scalar_field) const |
| Evaluates the second functional derivative of the coupling function, \(\frac{\delta^2 F[\Psi]}{\delta \Psi^2} \), on a scalar field profile. | |
Static Public Attributes | |
| static constexpr Options::String | help |
Protected Member Functions | |
| void | coupling_function_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const override |
| Specialization of the function that evaluates the coupling function on a scalar field profile. | |
| void | coupling_function_prime_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const override |
| Specialization of the function that evaluates the first functional derivative of the coupling function on a scalar field profile. | |
| void | coupling_function_prime_prime_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const override |
| Specialization of the function that evaluates the second functional derivative of the coupling function on a scalar field profile. | |
Coupling function of polynomial type with degree up to four: \(F[\Psi] = \sum_{i = 1}^4 a_i \Psi^i\).
This expression can be used to model the weak-field limit of a generic coupling. Also, by appropriately setting the values of the coefficients \(a_i\) it can be used to study different phenomenological scenario. For example, the theory admits the Kerr metric with vanishing scalar field as a stationary solution in the case \(a_1 = 0\), and can feature spontanous scalarization for sufficiently large values of \(a_2\). Furthermore, if \(a_2 = 0\), the theory can feature nonlinear scalarization. See [65] for a review on spontanous scalarization.
|
overrideprotectedvirtual |
Specialization of the function that evaluates the coupling function on a scalar field profile.
It returns the profile \(F[\Psi] = a_1 \Psi + a_2 \Psi^2 + a_3 \Psi^3 + a_4 \Psi^4\).
Implements ScalarTensor::sgb::CouplingFunctions::CouplingFunction.
|
overrideprotectedvirtual |
Specialization of the function that evaluates the first functional derivative of the coupling function on a scalar field profile.
It returns the profile \(\frac{\delta F[\Psi]}{\delta \Psi} = a_1 + 2 a_2 \Psi + 3 a_3 \Psi^2 + 4 a_4 \Psi^3\).
Implements ScalarTensor::sgb::CouplingFunctions::CouplingFunction.
|
overrideprotectedvirtual |
Specialization of the function that evaluates the second functional derivative of the coupling function on a scalar field profile.
It returns the profile \(\frac{\delta^2 F[\Psi]}{\delta \Psi^2} = 2 a_2 + 6 a_3 \Psi + 12 a_4 \Psi^2\).
Implements ScalarTensor::sgb::CouplingFunctions::CouplingFunction.
|
staticconstexpr |