BubbleProfiler
0.3.0
by Peter Athron, Csaba Balazs, Michael Bardsley, Andrew Fowlie, Dylan Harries & Graham White
|
Abstract base class for a generic potential. More...
#include <potential.hpp>
Public Member Functions | |
virtual | ~Potential ()=default |
virtual Potential * | clone () const =0 |
Subclasses must implement a clone method. More... | |
virtual double | operator() (const Eigen::VectorXd &coords) const =0 |
Evaluate potential at point. More... | |
virtual double | partial (const Eigen::VectorXd &coords, int i) const =0 |
Partial derivative WRT coordinate i at a point. More... | |
virtual double | partial (const Eigen::VectorXd &coords, int i, int j) const =0 |
Partial derivative WRT coordinates i, j at a a point. More... | |
virtual std::size_t | get_number_of_fields () const =0 |
virtual void | translate_origin (const Eigen::VectorXd &translation)=0 |
Shift the location of the origin by a specified vector. More... | |
virtual void | apply_basis_change (const Eigen::MatrixXd &cob_matrix)=0 |
Apply a change of basis matrix. More... | |
virtual void | add_constant_term (double offset)=0 |
Add a constant offset to the potential. More... | |
Abstract base class for a generic potential.
Implementations must supply methods for evaluation the potential at a point in field space, and the computation of first and second partial derivatives with respect to field space coordinates.
Additionally, implementations must provide methods for translating the origin of the potential, applying a basis change, and adding a constant term.
Definition at line 36 of file potential.hpp.
|
virtualdefault |
|
pure virtual |
Add a constant offset to the potential.
offset | constant term to add to potential |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
|
pure virtual |
Apply a change of basis matrix.
cob_matrix |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
|
pure virtual |
Subclasses must implement a clone method.
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
Referenced by BubbleProfiler::Shooting_profile_guesser::calculate_potential_parameters(), and BubbleProfiler::Kink_profile_guesser::calculate_potential_parameters().
|
pure virtual |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
Referenced by BubbleProfiler::Shooting_profile_guesser::compute_vacuum_distance(), BubbleProfiler::Kink_profile_guesser::compute_vacuum_distance(), BubbleProfiler::find_global_min(), BubbleProfiler::find_one_dimensional_barrier(), BubbleProfiler::Instream_profile_guesser::get_profile_guess(), BubbleProfiler::initialize_extrema(), and BubbleProfiler::Shooting::solve().
|
pure virtual |
Evaluate potential at point.
coords | Coordinates at which to evaluate |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
|
pure virtual |
Partial derivative WRT coordinate i at a point.
coords | Coordinates at which to evaluate |
i | Index of coordinate to be differentiated |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
Referenced by BubbleProfiler::Perturbations_ODE_system::calculate_inhomogeneities(), BubbleProfiler::Perturbations_ODE_system::calculate_mass_matrix(), and BubbleProfiler::Shooting::solve().
|
pure virtual |
Partial derivative WRT coordinates i, j at a a point.
coords | Coordinates at which to evaluate |
i | Index of first coordinate to be differentiated |
j | Index of second coordinate to be differentiated |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
|
pure virtual |
Shift the location of the origin by a specified vector.
translation | shift of origin |
Implemented in BubbleProfiler::Gaussian_potential, BubbleProfiler::Algebraic_potential, BubbleProfiler::Thin_wall_potential, BubbleProfiler::Generalized_fubini_potential, BubbleProfiler::Logarithmic_potential, and BubbleProfiler::Restricted_quartic_potential.
Referenced by BubbleProfiler::Perturbative_profiler< Integration_policy >::check_setup().