FLINT 0.9.9
Fortran Library for numerical INTegration of differential equations
Loading...
Searching...
No Matches
erk::erk_class Type Reference

The ERK class for all the ERK methods available to the user. It inherits FLINT_class. More...

+ Inheritance diagram for erk::erk_class:
+ Collaboration diagram for erk::erk_class:

Public Member Functions

procedure, public init erk_init
 
procedure, public integrate erk_int
 
procedure, public interpolate erk_interp
 
procedure, public info erk_info
 
final erk_destroy erk_destroy
 destructor
 
- Public Member Functions inherited from flint_base::flint_class
procedure(init), deferred init (me, de, maxsteps, method, atol, rtol, interpon, interpstates, minstepsize, maxstepsize, stepszparams, eventson, eventstepsz, eventoptions, eventtol)
 Init is called once and only to specify new differential equaions, events, and a few integrator options.
 
procedure(integrate), deferred integrate (me, x0, y0, xf, yf, stepsz, useconststepsz, stepadvance, intstepson, xint, yint, eventmask, eventstates, stifftest, params)
 Integrate the solution from the initial to final value of the independent variable.
 
procedure(interpolate), deferred interpolate (me, xarr, yarr, saveinterpcoeffs)
 If interpolation is enabled, then it outputs the solution at the user-specified grid points.
 
procedure(info), deferred info (me, laststatus, statusmsg, nsteps, naccept, nreject, nfcalls, interpready, h0, x0, y0, hf, xf, yf)
 Current FLINT object query function.
 

Public Attributes

integer(kind(erk_dop853)), public method = ERK_DOP853
 Type of ERK method to use for integration, DOP853 by default.
 
integer p = DOP853_p
 
integer phat = DOP853_phat
 
integer q = DOP853_q
 
integer pstar = DOP853_pstar
 
integer s
 Total number of stages.
 
integer sint
 Number of Integration stages (including the FSAL stage)
 
real(wp), dimension(:, :), allocatable k
 
integer, dimension(1:erk_maxstages+1) dinz
 Stages that gets multiplied by non-zero dij, in other words the stages specified by dinz are the ones that contribute to the interpolating polynomial coefficients. Specify the stages in dinz and terminate the list by -1.
 
real(wp), dimension(1:erk_maxstages, 1:erk_maxipdegreed
 d_ij coefficients for interpolation
 
logical isfsalmethod
 If true then the last stage is reused as the first for the new step.
 
- Public Attributes inherited from flint_base::flint_class
integer(kind(flint_success)), public status = FLINT_SUCCESS
 Status of the last operation completed.
 
class(diffeqsys), pointer, public pdiffeqsys => null()
 Pointer to the user-supplied Differential Equation object.
 
logical isscalartol = .TRUE.
 Tolerance related constants: rtol and atol Dimension can be either 1 or n (dimension of the initial condition vector). These are used to compute the scale factor (SC) needed for error computations using the following formula:
 
real(wp), dimension(:), allocatable rtol
 
real(wp), dimension(:), allocatable atol
 
integer totalsteps = 0
 Total number of integrator steps.
 
integer acceptedsteps = 0
 Number of accepted integrator steps.
 
integer rejectedsteps = 0
 Number of rejected integrator steps.
 
integer fcalls = 0
 Total number of Diff Eq. function calls made.
 
integer maxsteps = INT_MAXSTEPS
 Maximum number of steps integrator is allowed to take.
 
logical interpon = .FALSE.
 True for dense output.
 
integer, dimension(:), allocatable interpstates
 States between 1 and n for dense output.
 
real(wp), dimension(:), allocatable xint
 Array of the natural integrator steps.
 
real(wp), dimension(:,:,:), allocatable bip
 Array to store interpolation coefficients at integrator steps.
 
real(wp) minstepsize
 Minimum step size of the integrator. It is always a positive number. Default value is used if user do not specifify it.
 
real(wp) maxstepsize
 Maximum step-size of the integrator. It is always a positive number. Default value is the difference between the initial and final value of the independent variable.
 
real(wp) initialstepsize
 Initial step size.
 
real(wp), dimension(6) stepszparams
 Step size method-specific tuning parameters.
 
logical eventson = .FALSE.
 Events checking off by default.
 
real(wp), dimension(:), allocatable eventstepsz
 This specifies the maximum time after which the event function must be called for each event detection. A 0 value in EventStepSz means that event will be checked after the integrator takes a natural step always. Otherwise, events will be checked after the interval specified by EventStepSz if that interval size is smaller than the length of the current step size. In case it is bigger, then event will be checked at the integrator's natural step boundary. Setting is for each event spearately.
 
integer, dimension(:), allocatable eventoptions
 Event options for each event separately. Must be initialized by the Init Function. Specifies what event related info to return to the user.
 
real(wp), dimension(:), allocatable etol
 Event tolerance value for each event in case of root-finding is used for event loation.
 
real(wp) x0
 Initial value of the independent variable.
 
real(wp) xf
 Final value of the independent variable.
 
real(wp) h0
 Initial step-size that was accepted.
 
real(wp) hf
 The accepted step-size that was used at the last step.
 
real(wp), dimension(:), allocatable y0
 Initial condition.
 
real(wp), dimension(:), allocatable yf
 Final solution.
 

Detailed Description

The ERK class for all the ERK methods available to the user. It inherits FLINT_class.

Definition at line 72 of file ERK.f90.

Constructor & Destructor Documentation

◆ erk_destroy()

final erk::erk_class::erk_destroy
final

destructor

Definition at line 115 of file ERK.f90.

Member Function/Subroutine Documentation

◆ info()

procedure, public erk::erk_class::info

Definition at line 110 of file ERK.f90.

◆ init()

procedure, public erk::erk_class::init

Definition at line 107 of file ERK.f90.

◆ integrate()

procedure, public erk::erk_class::integrate

Definition at line 108 of file ERK.f90.

◆ interpolate()

procedure, public erk::erk_class::interpolate

Definition at line 109 of file ERK.f90.

Member Data Documentation

◆ d

real(wp), dimension(1:erk_maxstages,1:erk_maxipdegree) erk::erk_class::d

d_ij coefficients for interpolation

Definition at line 101 of file ERK.f90.

◆ dinz

integer, dimension(1:erk_maxstages+1) erk::erk_class::dinz

Stages that gets multiplied by non-zero dij, in other words the stages specified by dinz are the ones that contribute to the interpolating polynomial coefficients. Specify the stages in dinz and terminate the list by -1.

Definition at line 99 of file ERK.f90.

◆ isfsalmethod

logical erk::erk_class::isfsalmethod

If true then the last stage is reused as the first for the new step.

Definition at line 103 of file ERK.f90.

◆ k

real(wp), dimension(:, :), allocatable erk::erk_class::k

Definition at line 94 of file ERK.f90.

◆ method

integer(kind(erk_dop853)), public erk::erk_class::method = ERK_DOP853

Type of ERK method to use for integration, DOP853 by default.

Definition at line 77 of file ERK.f90.

◆ p

integer erk::erk_class::p = DOP853_p

Definition at line 80 of file ERK.f90.

◆ phat

integer erk::erk_class::phat = DOP853_phat

Definition at line 81 of file ERK.f90.

◆ pstar

integer erk::erk_class::pstar = DOP853_pstar

Definition at line 83 of file ERK.f90.

◆ q

integer erk::erk_class::q = DOP853_q

Definition at line 82 of file ERK.f90.

◆ s

integer erk::erk_class::s

Total number of stages.

Definition at line 86 of file ERK.f90.

◆ sint

integer erk::erk_class::sint

Number of Integration stages (including the FSAL stage)

Definition at line 87 of file ERK.f90.


The documentation for this type was generated from the following file: