BubbleProfiler  0.3.0
by Peter Athron, Csaba Balazs, Michael Bardsley, Andrew Fowlie, Dylan Harries & Graham White
Public Member Functions | Private Attributes | List of all members
BubbleProfiler::Logarithmic_potential Class Reference

#include <logarithmic_potential.hpp>

Inheritance diagram for BubbleProfiler::Logarithmic_potential:
Inheritance graph
[legend]
Collaboration diagram for BubbleProfiler::Logarithmic_potential:
Collaboration graph
[legend]

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_potentialoperator= (const Logarithmic_potential &)=default
 
Logarithmic_potentialoperator= (Logarithmic_potential &&)=default
 
virtual Logarithmic_potentialclone () 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
 
- Public Member Functions inherited from BubbleProfiler::Potential
virtual ~Potential ()=default
 

Private Attributes

double m {1.}
 
double w {1.}
 
double origin {0.}
 
double scale {1.}
 
double offset {0.}
 

Detailed Description

Examples:
logarithmic.cpp.

Definition at line 28 of file logarithmic_potential.hpp.

Constructor & Destructor Documentation

BubbleProfiler::Logarithmic_potential::Logarithmic_potential ( )
default

Referenced by clone(), and Logarithmic_potential().

BubbleProfiler::Logarithmic_potential::Logarithmic_potential ( double  m_,
double  w_ 
)
inline
virtual BubbleProfiler::Logarithmic_potential::~Logarithmic_potential ( )
virtualdefault

Referenced by Logarithmic_potential().

BubbleProfiler::Logarithmic_potential::Logarithmic_potential ( const Logarithmic_potential )
default
BubbleProfiler::Logarithmic_potential::Logarithmic_potential ( Logarithmic_potential &&  )
default

Member Function Documentation

virtual void BubbleProfiler::Logarithmic_potential::add_constant_term ( double  offset)
inlineoverridevirtual

Add a constant offset to the potential.

Parameters
offsetconstant 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().

virtual void BubbleProfiler::Logarithmic_potential::apply_basis_change ( const Eigen::MatrixXd &  cob_matrix)
inlineoverridevirtual

Apply a change of basis matrix.

Parameters
cob_matrix

Implements BubbleProfiler::Potential.

Definition at line 54 of file logarithmic_potential.hpp.

References scale.

virtual Logarithmic_potential* BubbleProfiler::Logarithmic_potential::clone ( ) const
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
Examples:
logarithmic.cpp.

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
virtual std::size_t BubbleProfiler::Logarithmic_potential::get_number_of_fields ( ) const
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
double BubbleProfiler::Logarithmic_potential::operator() ( const Eigen::VectorXd &  coords) const
overridevirtual

Evaluate potential at point.

Parameters
coordsCoordinates at which to evaluate
Returns
Value of potential at coordinates

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.

Logarithmic_potential& BubbleProfiler::Logarithmic_potential::operator= ( const Logarithmic_potential )
default

Referenced by Logarithmic_potential().

Logarithmic_potential& BubbleProfiler::Logarithmic_potential::operator= ( Logarithmic_potential &&  )
default
double BubbleProfiler::Logarithmic_potential::partial ( const Eigen::VectorXd &  coords,
int  i 
) const
overridevirtual

Partial derivative WRT coordinate i at a point.

Parameters
coordsCoordinates at which to evaluate
iIndex of coordinate to be differentiated
Returns
Value of specified partial at point

Implements BubbleProfiler::Potential.

Definition at line 34 of file logarithmic_potential.cpp.

References first_deriv().

Referenced by clone().

double BubbleProfiler::Logarithmic_potential::partial ( const Eigen::VectorXd &  coords,
int  i,
int  j 
) const
overridevirtual

Partial derivative WRT coordinates i, j at a a point.

Parameters
coordsCoordinates at which to evaluate
iIndex of first coordinate to be differentiated
jIndex of second coordinate to be differentiated
Returns
Value of specified partial at point

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().

virtual void BubbleProfiler::Logarithmic_potential::translate_origin ( const Eigen::VectorXd &  translation)
inlineoverridevirtual

Shift the location of the origin by a specified vector.

Parameters
translationshift of origin

Implements BubbleProfiler::Potential.

Definition at line 50 of file logarithmic_potential.hpp.

References origin.

Member Data Documentation

double BubbleProfiler::Logarithmic_potential::m {1.}
private
double BubbleProfiler::Logarithmic_potential::offset {0.}
private

Definition at line 77 of file logarithmic_potential.hpp.

Referenced by add_constant_term().

double BubbleProfiler::Logarithmic_potential::origin {0.}
private
double BubbleProfiler::Logarithmic_potential::scale {1.}
private
double BubbleProfiler::Logarithmic_potential::w {1.}
private

The documentation for this class was generated from the following files: