Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GradientFlow_AdaptiveRungeKutta Class Reference

GradientFlow_AdaptiveRungeKutta construction. More...

#include <gradientFlow_AdaptiveRungeKutta.h>

Inheritance diagram for GradientFlow_AdaptiveRungeKutta:
GradientFlow_RungeKutta

Public Member Functions

 GradientFlow_AdaptiveRungeKutta (GradientFlow_RungeKutta *RK, const double tolerance, const double safety, const Bridge::VerboseLevel vl)
 
 ~GradientFlow_AdaptiveRungeKutta ()
 
void flow (double &t, double &Estep, Field_G &U)
 
int Norder_RK () const
 
- Public Member Functions inherited from GradientFlow_RungeKutta
 GradientFlow_RungeKutta (Action *action, const int Nprec, const Bridge::VerboseLevel vl)
 
virtual ~GradientFlow_RungeKutta ()
 

Static Public Attributes

static const std::string class_name = "GradientFlow_AdaptiveRungeKutta"
 

Protected Attributes

Bridge::VerboseLevel m_vl
 

Private Member Functions

double max_diff_U (const Field_G &U1, const Field_G &U0) const
 

Private Attributes

Actionm_action
 
int m_Ndim
 
int m_Nvol
 
GradientFlow_RungeKuttam_RK
 
double m_tolerance
 
double m_safety
 
Field_G m_U_rough
 
Field_G m_U_fine
 

Detailed Description

GradientFlow_AdaptiveRungeKutta construction.

This class implements Runge-Kutta method with adaptive step size control by step doubling for GradientFlow. See C.W.Gear, Englewood Cliffs, NJ: Prentice-Hall (1971). RK_adaptive tends to deviate from the expected_result by O(10^{-11}), because RK_adaptive reflects rounding errors severely. [01 May 2015 Y.Namekawa] Adaptive stepsize algorithm is organised by composite pattern by Aoyama-san.

Definition at line 34 of file gradientFlow_AdaptiveRungeKutta.h.

Constructor & Destructor Documentation

GradientFlow_AdaptiveRungeKutta::GradientFlow_AdaptiveRungeKutta ( GradientFlow_RungeKutta RK,
const double  tolerance,
const double  safety,
const Bridge::VerboseLevel  vl 
)
inline

Definition at line 56 of file gradientFlow_AdaptiveRungeKutta.h.

GradientFlow_AdaptiveRungeKutta::~GradientFlow_AdaptiveRungeKutta ( )
inline

Definition at line 71 of file gradientFlow_AdaptiveRungeKutta.h.

Member Function Documentation

void GradientFlow_AdaptiveRungeKutta::flow ( double &  t,
double &  Estep,
Field_G U 
)
virtual

Implements GradientFlow_RungeKutta.

Definition at line 19 of file gradientFlow_AdaptiveRungeKutta.cpp.

double GradientFlow_AdaptiveRungeKutta::max_diff_U ( const Field_G U1,
const Field_G U0 
) const
private

Definition at line 67 of file gradientFlow_AdaptiveRungeKutta.cpp.

int GradientFlow_AdaptiveRungeKutta::Norder_RK ( ) const
inlinevirtual

Implements GradientFlow_RungeKutta.

Definition at line 75 of file gradientFlow_AdaptiveRungeKutta.h.

Member Data Documentation

const std::string GradientFlow_AdaptiveRungeKutta::class_name = "GradientFlow_AdaptiveRungeKutta"
static

Definition at line 37 of file gradientFlow_AdaptiveRungeKutta.h.

Action* GradientFlow_AdaptiveRungeKutta::m_action
private

Definition at line 43 of file gradientFlow_AdaptiveRungeKutta.h.

int GradientFlow_AdaptiveRungeKutta::m_Ndim
private

Definition at line 45 of file gradientFlow_AdaptiveRungeKutta.h.

int GradientFlow_AdaptiveRungeKutta::m_Nvol
private

Definition at line 46 of file gradientFlow_AdaptiveRungeKutta.h.

GradientFlow_RungeKutta* GradientFlow_AdaptiveRungeKutta::m_RK
private

Definition at line 48 of file gradientFlow_AdaptiveRungeKutta.h.

double GradientFlow_AdaptiveRungeKutta::m_safety
private

Definition at line 51 of file gradientFlow_AdaptiveRungeKutta.h.

double GradientFlow_AdaptiveRungeKutta::m_tolerance
private

Definition at line 50 of file gradientFlow_AdaptiveRungeKutta.h.

Field_G GradientFlow_AdaptiveRungeKutta::m_U_fine
private

Definition at line 53 of file gradientFlow_AdaptiveRungeKutta.h.

Field_G GradientFlow_AdaptiveRungeKutta::m_U_rough
private

Definition at line 53 of file gradientFlow_AdaptiveRungeKutta.h.

Bridge::VerboseLevel GradientFlow_AdaptiveRungeKutta::m_vl
protected

Definition at line 40 of file gradientFlow_AdaptiveRungeKutta.h.


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