Report Typos and Errors
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
semi_lagrangian
advection
sll_m_advection_2d_base.F90
Go to the documentation of this file.
1
!**************************************************************
2
! Copyright INRIA
3
! Authors :
4
! CALVI project team
5
!
6
! This code SeLaLib (for Semi-Lagrangian-Library)
7
! is a parallel library for simulating the plasma turbulence
8
! in a tokamak.
9
!
10
! This software is governed by the CeCILL-B license
11
! under French law and abiding by the rules of distribution
12
! of free software. You can use, modify and redistribute
13
! the software under the terms of the CeCILL-B license as
14
! circulated by CEA, CNRS and INRIA at the following URL
15
! "http://www.cecill.info".
16
!**************************************************************
17
19
module
sll_m_advection_2d_base
20
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21
#include "sll_working_precision.h"
22
23
implicit none
24
25
public
::
sll_c_advector_2d
26
27
private
28
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
29
30
!solves \partial_t f +A1\partial_x1 f+A2\partial_x2 f = 0
31
! A1 <=> A1
32
! A2 <=> A2
33
! dt <=> dt
34
! f(dt) <=> input
35
! f(0) <=> output
36
37
type
,
abstract
::
sll_c_advector_2d
38
39
contains
40
41
procedure
(
advect_2d_executor
),
deferred
, pass(adv) :: advect_2d
42
43
end type
sll_c_advector_2d
44
45
abstract
interface
46
47
subroutine
advect_2d_executor
(adv, A1, A2, dt, input, output)
48
49
use
sll_m_working_precision
50
import
sll_c_advector_2d
51
52
class
(
sll_c_advector_2d
) :: adv
53
sll_real64,
dimension(:, :)
,
intent(in)
:: a1
54
sll_real64,
dimension(:, :)
,
intent(in)
:: a2
55
sll_real64,
intent(in)
:: dt
56
sll_real64,
dimension(:, :)
,
intent(in)
:: input
57
sll_real64,
dimension(:, :)
,
intent(out)
:: output
58
59
end subroutine
advect_2d_executor
60
61
end interface
62
63
end module
sll_m_advection_2d_base
sll_m_advection_2d_base::advect_2d_executor
Definition:
sll_m_advection_2d_base.F90:47
sll_m_advection_2d_base
Definition:
sll_m_advection_2d_base.F90:19
sll_m_working_precision
Module to select the kind parameter.
Definition:
sll_m_working_precision.F90:29
sll_m_advection_2d_base::sll_c_advector_2d
Definition:
sll_m_advection_2d_base.F90:37
Report Typos and Errors
Generated on Mon Oct 23 2023 19:15:41 for Semi-Lagrangian Library by
1.9.1