Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
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 
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 
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
Module to select the kind parameter.
    Report Typos and Errors