Index

C++ Code Documentation

mrbubblelab::kernel::MrBubble

File: LAB/mrbubblelab/kernel/MrBubble.H

public:
  • MrBubble( Complex const &coefficient, Real exponent, Real u0, Real uprime0 );
    constructor typical values: coefficient = 1 exponent = 1 (three-legged; legs=exponent+2) u0 = 1 uprime0 = 0
  • virtual ~MrBubble();
    destructor
  • struct Data;
  • void start( Data &X, Complex const &z, uint count );
  • void step( Data &X, Complex const &z1, uint count );
  • void step( Data &X, Complex const &z2 );
protected:
private:
  • void integrate_metric( Data &X, Complex const &dz );
    INTEGRATION STEP 1 compute the metric
  • void metric_integration_function( Real &du, Real &dv, Real u, Real v, Real r );
  • void integrate_frame( Data &X, Complex const &dz );
    INTEGRATION STEP 2: computing the frame from the maurer-cartan form Integrate the frame differentials to get the frame for the surface. Integrate the differential equation dF = F T where F is the frame for the surface in SU(2), and T is the Maurer-Cartan form. The corresponding difference equation is F_new = F_old + F_old T or equivalently, F_new = F_old ( I + T )
  • void frame_integration_function( Complex4 &dF, Complex4 const &F, Data const &X, Complex const &dz );
  • void integrate_surface( Data &X, Complex const &dz );
    INTEGRATION STEP 3: computing the surface from the frame Integrate the frame to get the surface. Compute f_z = exp(u/2) dz F.e1.Finv f_zb = exp(u/2) dzb F.e2.Finv = -conj(trans(f_z)) where f is the surface in R^3 and e1 = {{0,1},{0,0}} e2 = {{0,0},{-1,0}}
  • void compute_df( Complex4 &df, Data const &X, Complex const &dz );
  • static void su2_to_r3( base::ArrayX<Real, 3U> &f, Complex4 const &X );
    utility routines
  • static void make_unitary( Complex4 &F );
  • Complex _coefficient;
  • Real _exponent;
  • Real _u0;
  • Real _uprime0;
  • Real H;
  • Complex Q( Complex const & );
  • struct Real2;
  • base::vector<Real2> _metric;
  • static Complex const I;
  • Complex4 e1, e2, e3;
  • inline MrBubble( MrBubble const & );
    disabled copy constructor
  • inline MrBubble &operator=( MrBubble const & );
    disabled assigment operator


mrbubblelab::kernel::MrBubble GANG