Stellarator-Tools
integration_path.f File Reference

Contains module integration_path. More...

Data Types

interface  integration_path::integration_path_class
 Base class containing the parameters of the integration method to use. More...
 
interface  integration_path::integration_path_gleg_class
 Subclass to use Gauss Legendre Quadrature. More...
 
interface  integration_path::integration_path_hp_glep_class
 Subclass to use hp approch. More...
 
type  integration_path::vertex
 A single point in space defined by an z, y, z coordinate. A vertex is structured as a singly linked list. More...
 
type  integration_path::test_context
 A type for the test cases. More...
 
type  integration_path::test_search_context
 A type for the test cases. More...
 
interface  integration_path::path_construct
 Construction interface using path_construct_vertex. More...
 
interface  integration_path::path_destruct
 Destruct interface using path_destruct_vertex. More...
 
interface  integration_path::check
 Interface for checking the results of the unit tests. More...
 

Modules

module  integration_path
 Module is part of the LIBSTELL. This modules contains code to define and integrate along an arbitray path.
 

Functions/Subroutines

class(integration_path_class) function, pointer integration_path::make_integrator (method, npoints, length)
 Factory method to construct a path integrator using a method. More...
 
class(integration_path_class) function, pointer integration_path::integration_path_construct ()
 Construct an integration_path_class object. More...
 
class(integration_path_gleg_class) function, pointer integration_path::integration_path_gleg_construct (npoints)
 Construct an integration_path_class object. More...
 
class(integration_path_hp_glep_class) function, pointer integration_path::integration_path_hp_glep_construct (npoints, length)
 Construct an integration_path_class object. More...
 
type(vertex) function, pointer integration_path::path_construct_vertex (position)
 Construct a single vertex. More...
 
subroutine integration_path::integration_path_gleg_destruct (this)
 Deconstruct a integration_path_gleg_class object. More...
 
recursive subroutine integration_path::path_destruct_vertex (this)
 Deconstruct a vertex object. More...
 
recursive subroutine integration_path::path_append_vertex (this, position)
 Append a vertex to a path. More...
 
recursive real(rprec) function integration_path::integration_path_integrate_paths (this, path, context)
 Integrate along the paths. More...
 
recursive real(rprec) function, dimension(3) integration_path::search_paths (path, context, found)
 Search along the path. More...
 
real(rprec) function integration_path::integration_path_integrate_path (this, context, vertex1, vertex2)
 Line integrate between to points. More...
 
real(rprec) function integration_path::integration_path_gleg_integrate_path (this, context, vertex1, vertex2)
 Line integrate between to points. More...
 
real(rprec) function integration_path::integration_path_hp_gleg_integrate_path (this, context, vertex1, vertex2)
 Line integrate between to points. More...
 
subroutine integration_path::path_get_gaussqad_weights (a, b, abscissas, weights)
 @breif Calculate the weights and abscissas for Gauss-Legendre integration. More...
 
logical function integration_path::path_test ()
 Path unit test function. More...
 
logical function integration_path::test_search_function (context, xcart1, xcart2)
 Call back function to test the search. More...
 

Variables

real(rprec), parameter integration_path::path_default_dx = 0.0025
 Default step size of the integration.
 

Detailed Description

Contains module integration_path.