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

Constructs a solution ansatz using the overshoot/undershoot method. More...

#include <shooting_profile_guesser.hpp>

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

Public Member Functions

virtual ~Shooting_profile_guesser ()=default
 
virtual Field_profiles get_profile_guess (const Potential &, const Eigen::VectorXd &, int, double, double, double, double) override
 Calculate an initial guess for the bubble profile. More...
 
void set_trial_distance (double dist)
 
void set_solver (const Shooting &s)
 
const Shootingget_solver () const
 
Shootingget_solver ()
 
- Public Member Functions inherited from BubbleProfiler::Profile_guesser
virtual ~Profile_guesser ()=default
 

Private Member Functions

void compute_vacuum_distance (const Potential &, const Eigen::VectorXd &)
 
void calculate_potential_parameters (const Potential &, const Eigen::VectorXd &)
 
double calculate_false_min_location () const
 
double calculate_barrier_location () const
 
double calculate_true_min_location () const
 
double get_large_distance_solution (double, const Field_profiles &, int) const
 
void solve_one_dimensional (int)
 
Field_profiles calculate_field_profiles (int, double, double, double, double)
 
Eigen::VectorXd update_spatial_grid (const Eigen::VectorXd &, double, double, int) const
 

Private Attributes

double trial_dist {0.5}
 
double alpha {0.5}
 
double E {1.}
 
double dist_true_vacuum {0.}
 
int num_fields {0}
 
Shooting solver {}
 
Eigen::MatrixXd cob_matrix {}
 
logging::Basic_logger logger {}
 

Detailed Description

Constructs a solution ansatz using the overshoot/undershoot method.

Given a multi-field potential and the location of the true vacuum, the initial guess for the bubble profile is found by first reducing the problem to an approximate 1D problem. This is then solved using the undershoot/overshoot method, and the obtained solution is converted back into the original field basis.

Definition at line 39 of file shooting_profile_guesser.hpp.

Constructor & Destructor Documentation

virtual BubbleProfiler::Shooting_profile_guesser::~Shooting_profile_guesser ( )
virtualdefault

Member Function Documentation

double BubbleProfiler::Shooting_profile_guesser::calculate_barrier_location ( ) const
private

Definition at line 462 of file shooting_profile_guesser.cpp.

References alpha, and E.

Referenced by solve_one_dimensional().

double BubbleProfiler::Shooting_profile_guesser::calculate_false_min_location ( ) const
private

Definition at line 433 of file shooting_profile_guesser.cpp.

References alpha, and E.

Referenced by get_large_distance_solution(), and solve_one_dimensional().

Field_profiles BubbleProfiler::Shooting_profile_guesser::calculate_field_profiles ( int  d,
double  domain_start,
double  domain_end,
double  initial_step_size,
double  interpolation_points_fraction 
)
private
void BubbleProfiler::Shooting_profile_guesser::calculate_potential_parameters ( const Potential potential,
const Eigen::VectorXd &  true_vacuum 
)
private
double BubbleProfiler::Shooting_profile_guesser::calculate_true_min_location ( ) const
private

Definition at line 493 of file shooting_profile_guesser.cpp.

References alpha, and E.

Referenced by solve_one_dimensional().

void BubbleProfiler::Shooting_profile_guesser::compute_vacuum_distance ( const Potential potential,
const Eigen::VectorXd &  true_vacuum 
)
private
double BubbleProfiler::Shooting_profile_guesser::get_large_distance_solution ( double  rho,
const Field_profiles profile,
int  d 
) const
private
Field_profiles BubbleProfiler::Shooting_profile_guesser::get_profile_guess ( const Potential potential,
const Eigen::VectorXd &  true_vacuum,
int  n_dimensions,
double  domain_start,
double  domain_end,
double  initial_step_size,
double  interpolation_points_fraction_ 
)
overridevirtual

Calculate an initial guess for the bubble profile.

The calculated profiles should be evaluated at the requested number of points, n_grid_points , between the minimum and maximum radial coordinate values, domain_start and domain_end , respectively. If a negative value is given for either of these, appropriate values are to be guessed based on the given potential and vacuum location.

Note
The false vacuum is assumed to be at the origin in field space.
Parameters
potentialthe potential for which the profiles are to be computed
true_vacuumthe location of the true vacuum in field space
n_dimensionsthe number of space-time dimensions
domain_startthe minimum value of the radial coordinate at which the profiles are evaluated. If negative, the function should guess an appropriate value.
domain_endthe maximum value of the radial coordinate at which the profiles are evaluated. If negative, the function should guess an appropriate value.
initial_step_sizethe initial step size to be used in constructing the discretized solution
interpolation_points_fractionfraction of grid points to use for interpolation
Returns
an initial guess for the field profiles

Implements BubbleProfiler::Profile_guesser.

Definition at line 207 of file shooting_profile_guesser.cpp.

References calculate_field_profiles(), calculate_potential_parameters(), and compute_vacuum_distance().

const Shooting& BubbleProfiler::Shooting_profile_guesser::get_solver ( ) const
inline

Definition at line 51 of file shooting_profile_guesser.hpp.

References solver.

Shooting& BubbleProfiler::Shooting_profile_guesser::get_solver ( )
inline

Definition at line 52 of file shooting_profile_guesser.hpp.

References solver.

void BubbleProfiler::Shooting_profile_guesser::set_solver ( const Shooting s)
inline

Definition at line 49 of file shooting_profile_guesser.hpp.

References solver.

void BubbleProfiler::Shooting_profile_guesser::set_trial_distance ( double  dist)
inline

Definition at line 48 of file shooting_profile_guesser.hpp.

References trial_dist.

void BubbleProfiler::Shooting_profile_guesser::solve_one_dimensional ( int  d)
private
Eigen::VectorXd BubbleProfiler::Shooting_profile_guesser::update_spatial_grid ( const Eigen::VectorXd &  old_grid,
double  new_start,
double  new_end,
int  new_length 
) const
private

Definition at line 388 of file shooting_profile_guesser.cpp.

Referenced by calculate_field_profiles().

Member Data Documentation

double BubbleProfiler::Shooting_profile_guesser::alpha {0.5}
private
Eigen::MatrixXd BubbleProfiler::Shooting_profile_guesser::cob_matrix {}
private
double BubbleProfiler::Shooting_profile_guesser::dist_true_vacuum {0.}
private
double BubbleProfiler::Shooting_profile_guesser::E {1.}
private
logging::Basic_logger BubbleProfiler::Shooting_profile_guesser::logger {}
private

Definition at line 64 of file shooting_profile_guesser.hpp.

Referenced by calculate_potential_parameters().

int BubbleProfiler::Shooting_profile_guesser::num_fields {0}
private
Shooting BubbleProfiler::Shooting_profile_guesser::solver {}
private
double BubbleProfiler::Shooting_profile_guesser::trial_dist {0.5}
private

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