|
SpECTRE
v2026.06.09.01
|
Basic interface for the object defining the coupling function. More...
#include <CouplingFunction.hpp>
Public Member Functions | |
| 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. | |
Protected Member Functions | |
| virtual void | coupling_function_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const =0 |
| Evaluates the coupling function on a scalar field profile, \(F[\Psi]\). | |
| virtual void | coupling_function_prime_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const =0 |
| Implementation of the function that evaluates the first functional derivative of the coupling function on a scalar field profile, \(\frac{\delta F[\Psi]}{\delta \Psi}\). | |
| virtual void | coupling_function_prime_prime_impl (gsl::not_null< Scalar< DataVector > * > function_values, const Scalar< DataVector > &scalar_field) const =0 |
| Implementation of the function that evaluates the second functional derivative of the coupling function on a scalar field profile, \(\frac{\delta^2 F[\Psi]}{\delta \Psi^2}\). | |
Basic interface for the object defining the coupling function.
This class is pure virtual and factory creatable, so that it acts as a unique interface for all forms of coupling functions. The public member functions that compute the profiles of \(F[\Psi]\) and its functional derivatives are: coupling_function, coupling_function_prime and coupling_function_prime_prime; they internally call coupling_function_impl, coupling_function_prime_impl and coupling_function_prime_prime_impl, which are pure virtual and protected. Any class implementing a coupling function should inherit publicly from this class and override only the latter three methods.
| Scalar< DataVector > ScalarTensor::sgb::CouplingFunctions::CouplingFunction::coupling_function | ( | const Scalar< DataVector > & | scalar_field | ) | const |
Evaluates the coupling function on a scalar field profile, \(F[\Psi]\).
This methods act as an external interface and internally calls coupling_function_impl, which is the virtual function that needs to be specialized for the different types of couplings.
| void ScalarTensor::sgb::CouplingFunctions::CouplingFunction::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]\).
This methods act as an external interface and internally calls coupling_function_impl, which is the virtual function that needs to be specialized for the different types of couplings.
|
protectedpure virtual |
Evaluates the coupling function on a scalar field profile, \(F[\Psi]\).
This is the virtual function that is called by coupling_function, and needs to be specialized for the different types of couplings.
Implemented in ScalarTensor::sgb::CouplingFunctions::Exponential, and ScalarTensor::sgb::CouplingFunctions::QuarticPolynomial.
| Scalar< DataVector > ScalarTensor::sgb::CouplingFunctions::CouplingFunction::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.
This methods act as an external interface and internally calls coupling_function_prime_impl, which is the virtual function that needs to be specialized for the different types of couplings.
| void ScalarTensor::sgb::CouplingFunctions::CouplingFunction::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.
This methods act as an external interface and internally calls coupling_function_prime_impl, which is the virtual function that needs to be specialized for the different types of couplings.
|
protectedpure virtual |
Implementation of the function that evaluates the first functional derivative of the coupling function on a scalar field profile, \(\frac{\delta F[\Psi]}{\delta \Psi}\).
This is the virtual function that is called by coupling_function_prime, and needs to be specialized for the different types of couplings.
Implemented in ScalarTensor::sgb::CouplingFunctions::Exponential, and ScalarTensor::sgb::CouplingFunctions::QuarticPolynomial.
| Scalar< DataVector > ScalarTensor::sgb::CouplingFunctions::CouplingFunction::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.
This methods act as an external interface and internally calls coupling_function_prime_prime_impl, which is the virtual function that needs to be specialized for the different types of couplings.
| void ScalarTensor::sgb::CouplingFunctions::CouplingFunction::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.
This methods act as an external interface and internally calls coupling_function_prime_prime_impl, which is the virtual function that needs to be specialized for the different types of couplings.
|
protectedpure virtual |
Implementation of the function that evaluates the second functional derivative of the coupling function on a scalar field profile, \(\frac{\delta^2 F[\Psi]}{\delta \Psi^2}\).
This is the virtual function that is called by coupling_function_prime_prime, and needs to be specialized for the different types of couplings.
Implemented in ScalarTensor::sgb::CouplingFunctions::Exponential, and ScalarTensor::sgb::CouplingFunctions::QuarticPolynomial.