Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines | Variables
sll_m_spline_2d Module Reference

Description

Module for tensor-product 2D splines.

Here we define a 2D tensor-product spline type as an element of the linear space given by the span of 2D basis functions, which in turn are obtained as tensor-product of 1D B-splines. A 2D tensor-product B-splines type is not implemented, because an object of this type is completely described by the combination of two separate 1D B-splines objects, but this decision may be changed. Therefore, initialization of a 2D spline object requires two existing B-splines objects, to which two private (polymorphic) pointers are associated. The B-spline coefficients are stored in a 2D public allocatable array; at initialization the array is allocated to the proper shape and all values are set to zero. In most situations the B-spline coefficients are not set directly by the end user, but are computed by some other object (e.g., a Poisson solver or a spline interpolator). Various public methods allow the user to evaluate the 2D spline S(x1,x2) and its partial derivatives ∂S(x1,x2)/∂x1 and ∂S(x1,x2)/∂x2 at any position (x1,x2).

Author
Yaman Güçlü - IPP Garching
Edoardo Zoni - IPP Garching

Derived types and interfaces

type  sll_t_spline_2d
 2D tensor-product spline More...
 

Functions/Subroutines

subroutine s_spline_2d__init (self, bsplines_x1, bsplines_x2)
 Initialize 2D spline object as element of span(B-splines) More...
 
subroutine s_spline_2d__free (self)
 Destroy 2D spline (re-initialization is possible afterwards) More...
 

Variables

integer, parameter wp = f64
 Working precision. More...
 

Function/Subroutine Documentation

◆ s_spline_2d__free()

subroutine sll_m_spline_2d::s_spline_2d__free ( class(sll_t_spline_2d), intent(inout)  self)
private

Destroy 2D spline (re-initialization is possible afterwards)

Parameters
[in,out]self2D spline

Definition at line 107 of file sll_m_spline_2d.F90.

◆ s_spline_2d__init()

subroutine sll_m_spline_2d::s_spline_2d__init ( class(sll_t_spline_2d), intent(out)  self,
class(sll_c_bsplines), intent(in), target  bsplines_x1,
class(sll_c_bsplines), intent(in), target  bsplines_x2 
)
private

Initialize 2D spline object as element of span(B-splines)

Parameters
[out]self2D spline: new element of tensor-product space
[in]bsplines_x1B-splines along x1
[in]bsplines_x2B-splines along x2

Definition at line 77 of file sll_m_spline_2d.F90.

Variable Documentation

◆ wp

integer, parameter wp = f64
private

Working precision.

Definition at line 42 of file sll_m_spline_2d.F90.

    Report Typos and Errors