BubbleProfiler
0.3.0
by Peter Athron, Csaba Balazs, Michael Bardsley, Andrew Fowlie, Dylan Harries & Graham White
|
#include <logarithmic_potential.hpp>
Public Member Functions | |
Logarithmic_potential ()=default | |
Logarithmic_potential (double m_, double w_) | |
virtual | ~Logarithmic_potential ()=default |
Logarithmic_potential (const Logarithmic_potential &)=default | |
Logarithmic_potential (Logarithmic_potential &&)=default | |
Logarithmic_potential & | operator= (const Logarithmic_potential &)=default |
Logarithmic_potential & | operator= (Logarithmic_potential &&)=default |
virtual Logarithmic_potential * | clone () const override |
Subclasses must implement a clone method. More... | |
virtual double | operator() (const Eigen::VectorXd &) const override |
Evaluate potential at point. More... | |
virtual double | partial (const Eigen::VectorXd &, int) const override |
Partial derivative WRT coordinate i at a point. More... | |
virtual double | partial (const Eigen::VectorXd &, int, int) const override |
Partial derivative WRT coordinates i, j at a a point. More... | |
virtual std::size_t | get_number_of_fields () const override |
virtual void | translate_origin (const Eigen::VectorXd &translation) override |
Shift the location of the origin by a specified vector. More... | |
virtual void | apply_basis_change (const Eigen::MatrixXd &cob_matrix) override |
Apply a change of basis matrix. More... | |
virtual void | add_constant_term (double _offset) override |
Add a constant offset to the potential. More... | |
double | operator() (double) const |
double | first_deriv (double) const |
double | second_deriv (double) const |
double | get_local_minimum_location () const |
double | get_local_maximum_location () const |
double | get_bounce_solution_at (double) const |
Field_profiles | get_profile (const Eigen::VectorXd &) const |
double | get_action () const |
![]() | |
virtual | ~Potential ()=default |
Private Attributes | |
double | m {1.} |
double | w {1.} |
double | origin {0.} |
double | scale {1.} |
double | offset {0.} |
Definition at line 28 of file logarithmic_potential.hpp.
|
default |
Referenced by clone(), and Logarithmic_potential().
|
inline |
Definition at line 31 of file logarithmic_potential.hpp.
References Logarithmic_potential(), operator=(), and ~Logarithmic_potential().
|
virtualdefault |
Referenced by Logarithmic_potential().
|
default |
|
default |
|
inlineoverridevirtual |
Add a constant offset to the potential.
offset | constant term to add to potential |
Implements BubbleProfiler::Potential.
Definition at line 58 of file logarithmic_potential.hpp.
References first_deriv(), get_action(), get_bounce_solution_at(), get_local_maximum_location(), get_local_minimum_location(), get_profile(), offset, operator()(), and second_deriv().
|
inlineoverridevirtual |
Apply a change of basis matrix.
cob_matrix |
Implements BubbleProfiler::Potential.
Definition at line 54 of file logarithmic_potential.hpp.
References scale.
|
inlineoverridevirtual |
Subclasses must implement a clone method.
Implements BubbleProfiler::Potential.
Definition at line 40 of file logarithmic_potential.hpp.
References Logarithmic_potential(), operator()(), and partial().
double BubbleProfiler::Logarithmic_potential::first_deriv | ( | double | coords | ) | const |
Definition at line 85 of file logarithmic_potential.cpp.
References BubbleProfiler::Abs(), BubbleProfiler::Log(), m, origin, scale, and w.
Referenced by add_constant_term(), and partial().
double BubbleProfiler::Logarithmic_potential::get_action | ( | ) | const |
Definition at line 137 of file logarithmic_potential.cpp.
References BubbleProfiler::Exp(), m, and w.
Referenced by add_constant_term(), and main().
double BubbleProfiler::Logarithmic_potential::get_bounce_solution_at | ( | double | r | ) | const |
Definition at line 119 of file logarithmic_potential.cpp.
References BubbleProfiler::Exp(), m, origin, scale, and w.
Referenced by add_constant_term(), and get_profile().
double BubbleProfiler::Logarithmic_potential::get_local_maximum_location | ( | ) | const |
Definition at line 112 of file logarithmic_potential.cpp.
References BubbleProfiler::Abs(), origin, scale, and w.
Referenced by add_constant_term(), and BubbleProfiler::solve_shooting().
double BubbleProfiler::Logarithmic_potential::get_local_minimum_location | ( | ) | const |
Definition at line 107 of file logarithmic_potential.cpp.
Referenced by add_constant_term(), main(), BubbleProfiler::solve_perturbative(), and BubbleProfiler::solve_shooting().
|
inlineoverridevirtual |
Implements BubbleProfiler::Potential.
Definition at line 48 of file logarithmic_potential.hpp.
Field_profiles BubbleProfiler::Logarithmic_potential::get_profile | ( | const Eigen::VectorXd & | rho_values | ) | const |
Definition at line 125 of file logarithmic_potential.cpp.
References get_bounce_solution_at().
Referenced by add_constant_term(), main(), and BubbleProfiler::Logarithmic_observer::operator()().
|
overridevirtual |
Evaluate potential at point.
coords | Coordinates at which to evaluate |
Implements BubbleProfiler::Potential.
Definition at line 24 of file logarithmic_potential.cpp.
Referenced by add_constant_term(), and clone().
double BubbleProfiler::Logarithmic_potential::operator() | ( | double | coords | ) | const |
Definition at line 74 of file logarithmic_potential.cpp.
References BubbleProfiler::Abs(), BubbleProfiler::Log(), m, origin, scale, and w.
|
default |
Referenced by Logarithmic_potential().
|
default |
|
overridevirtual |
Partial derivative WRT coordinate i at a point.
coords | Coordinates at which to evaluate |
i | Index of coordinate to be differentiated |
Implements BubbleProfiler::Potential.
Definition at line 34 of file logarithmic_potential.cpp.
References first_deriv().
Referenced by clone().
|
overridevirtual |
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 |
Implements BubbleProfiler::Potential.
Definition at line 51 of file logarithmic_potential.cpp.
References second_deriv().
double BubbleProfiler::Logarithmic_potential::second_deriv | ( | double | coords | ) | const |
Definition at line 96 of file logarithmic_potential.cpp.
References BubbleProfiler::Abs(), BubbleProfiler::Log(), m, origin, scale, and w.
Referenced by add_constant_term(), and partial().
|
inlineoverridevirtual |
Shift the location of the origin by a specified vector.
translation | shift of origin |
Implements BubbleProfiler::Potential.
Definition at line 50 of file logarithmic_potential.hpp.
References origin.
|
private |
Definition at line 73 of file logarithmic_potential.hpp.
Referenced by first_deriv(), get_action(), get_bounce_solution_at(), operator()(), and second_deriv().
|
private |
Definition at line 77 of file logarithmic_potential.hpp.
Referenced by add_constant_term().
|
private |
Definition at line 75 of file logarithmic_potential.hpp.
Referenced by first_deriv(), get_bounce_solution_at(), get_local_maximum_location(), get_local_minimum_location(), operator()(), second_deriv(), and translate_origin().
|
private |
Definition at line 76 of file logarithmic_potential.hpp.
Referenced by apply_basis_change(), first_deriv(), get_bounce_solution_at(), get_local_maximum_location(), get_local_minimum_location(), operator()(), and second_deriv().
|
private |
Definition at line 74 of file logarithmic_potential.hpp.
Referenced by first_deriv(), get_action(), get_bounce_solution_at(), get_local_maximum_location(), operator()(), and second_deriv().