Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
muls.f
Go to the documentation of this file.
1  SUBROUTINE mulku(VKGS,VKGD,VKGI,KLD,VFG,NEQ,NSYM,VRES,nsky) !MULK 1
2 C=======================================================================MULK 2
3 C CE SOUS-PROGRAMME AJOUTE AU VECTEUR RES LE PRODUIT DE LA MULK 3
4 C MATRICE KG PAR LE VECTEUR FG MULK 4
5 C ENTREES MULK 5
6 C VKGS,VKGD,VKGI MATRICE KG STOCKEE PAR LIGNE DE CIEL (SYM. MULK 6
7 C OU NON SYM.) MULK 7
8 C KLD TABLE DES POINTEURS DES HAUTS DE COLONNES DE KG MULK 8
9 C VFG VECTEUR FG MULK 9
10 C NEQ DIMENSION DES VECTEURS FG ET RES MULK 10
11 C NSYM .EQ.1 SI LE PROBLEME N'EST PAS SYMETRIQUE MULK 11
12 C VRES VECTEUR RES MULK 12
13 C SORTIE MULK 13
14 C VRES VECTEUR RES MULK 14
15 C=======================================================================MULK 15
16  IMPLICIT REAL(8)(a-h,o-z) !MULK 16
17  dimension vkgs(nsky),vkgd(neq),vkgi(nsky),
18  & kld(neq+1),vfg(neq),vres(neq) !MULK 17
19 C-----------------------------------------------------------------------MULK 18
20 C------- POUR CHAQUE COLONNE DE LA MATRICE KG MULK 19
21  DO ik=1,neq !MULK 20
22  jhk=kld(ik) !MULK 21
23  jhk1=kld(ik+1) !MULK 22
24  lhk=jhk1-jhk !MULK 23
25 C------- TERME DIAGONAL !MULK 24
26  c=vkgd(ik)*vfg(ik) !MULK 25
27  IF(lhk.LE.0) GO TO 20 !MULK 26
28  i0=ik-lhk !MULK 27
29 C------- TERMES DE LIGNE MULK 28
30  IF(nsym.NE.1) c=c+scal(vkgs(jhk),vfg(i0),lhk) !MULK 29
31  IF(nsym.EQ.1) c=c+scal(vkgi(jhk),vfg(i0),lhk) !MULK 30
32 C------- TERMES DE COLONNE MULK 31
33  j=jhk !MULK 32
34  i1=ik-1 !MULK 33
35  DO ij=i0,i1 !MULK 34
36  vres(ij)=vres(ij)+vkgs(j)*vfg(ik) !MULK 35
37  j=j+1 !MULK 36
38  END DO
39 20 vres(ik)=vres(ik)+c !MULK 37
40  END DO
41  RETURN !MULK 38
42  END !MULK 39
43 
subroutine mulku(VKGS, VKGD, VKGI, KLD, VFG, NEQ, NSYM, VRES, nsky)
Definition: muls.f:2
function scal(x, y, n)
Definition: sol.f:173
    Report Typos and Errors