Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Gyacomo
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Antoine Cyril David Hoffmann
Gyacomo
Commits
a64cb5c6
Commit
a64cb5c6
authored
2 years ago
by
Antoine Cyril David Hoffmann
Browse files
Options
Downloads
Patches
Plain Diff
fluid moments are not based on adiabatic moments anymore
parent
5cab9323
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/processing_mod.F90
+36
-26
36 additions, 26 deletions
src/processing_mod.F90
with
36 additions
and
26 deletions
src/processing_mod.F90
+
36
−
26
View file @
a64cb5c6
...
...
@@ -598,8 +598,10 @@ END SUBROUTINE compute_Napjz_spectrum
!!!!! FLUID MOMENTS COMPUTATIONS !!!!!
! Compute the 2D particle density for electron and ions (sum over Laguerre)
SUBROUTINE
compute_density
USE
array
,
ONLY
:
dens_e
,
dens_i
,
kernel_e
,
kernel_i
,
nadiab_moments_e
,
nadiab_moments_i
USE
model
,
ONLY
:
KIN_E
USE
array
,
ONLY
:
dens_e
,
dens_i
,
kernel_e
,
kernel_i
USE
model
,
ONLY
:
KIN_E
USE
fields
,
ONLY
:
moments_e
,
moments_i
USE
time_integration
,
ONLY
:
updatetlevel
IMPLICIT
NONE
COMPLEX
(
dp
)
::
dens
...
...
@@ -613,14 +615,14 @@ SUBROUTINE compute_density
! electron density
dens
=
0._dp
DO
ij
=
ijs_e
,
ije_e
dens
=
dens
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
nadiab_
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
)
dens
=
dens
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
ENDDO
dens_e
(
iky
,
ikx
,
iz
)
=
dens
ENDIF
! ion density
dens
=
0._dp
DO
ij
=
ijs_i
,
ije_i
dens
=
dens
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
nadiab_
moments_i
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
)
dens
=
dens
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
moments_i
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
ENDDO
dens_i
(
iky
,
ikx
,
iz
)
=
dens
ENDDO
...
...
@@ -631,8 +633,10 @@ END SUBROUTINE compute_density
! Compute the 2D particle fluid perp velocity for electron and ions (sum over Laguerre)
SUBROUTINE
compute_uperp
USE
array
,
ONLY
:
uper_e
,
uper_i
,
kernel_e
,
kernel_i
,
nadiab_moments_e
,
nadiab_moments_i
USE
model
,
ONLY
:
KIN_E
USE
array
,
ONLY
:
uper_e
,
uper_i
,
kernel_e
,
kernel_i
USE
model
,
ONLY
:
KIN_E
USE
fields
,
ONLY
:
moments_e
,
moments_i
USE
time_integration
,
ONLY
:
updatetlevel
IMPLICIT
NONE
COMPLEX
(
dp
)
::
uperp
...
...
@@ -646,7 +650,7 @@ SUBROUTINE compute_uperp
uperp
=
0._dp
DO
ij
=
ijs_e
,
ije_e
uperp
=
uperp
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
0.5_dp
*
(
nadiab_
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
)
-
nadiab_
moments_e
(
ip0_e
,
ij
-1
,
iky
,
ikx
,
iz
))
0.5_dp
*
(
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
-
moments_e
(
ip0_e
,
ij
-1
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
uper_e
(
iky
,
ikx
,
iz
)
=
uperp
ENDIF
...
...
@@ -654,7 +658,7 @@ SUBROUTINE compute_uperp
uperp
=
0._dp
DO
ij
=
ijs_i
,
ije_i
uperp
=
uperp
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
0.5_dp
*
(
nadiab_
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
)
-
nadiab_
moments_i
(
ip0_i
,
ij
-1
,
iky
,
ikx
,
iz
))
0.5_dp
*
(
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
-
moments_i
(
ip0_i
,
ij
-1
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
uper_i
(
iky
,
ikx
,
iz
)
=
uperp
ENDDO
...
...
@@ -665,8 +669,10 @@ END SUBROUTINE compute_uperp
! Compute the 2D particle fluid par velocity for electron and ions (sum over Laguerre)
SUBROUTINE
compute_upar
USE
array
,
ONLY
:
upar_e
,
upar_i
,
kernel_e
,
kernel_i
,
nadiab_moments_e
,
nadiab_moments_i
USE
model
,
ONLY
:
KIN_E
USE
array
,
ONLY
:
upar_e
,
upar_i
,
kernel_e
,
kernel_i
USE
model
,
ONLY
:
KIN_E
USE
fields
,
ONLY
:
moments_e
,
moments_i
USE
time_integration
,
ONLY
:
updatetlevel
IMPLICIT
NONE
COMPLEX
(
dp
)
::
upar
...
...
@@ -678,14 +684,14 @@ SUBROUTINE compute_upar
! electron
upar
=
0._dp
DO
ij
=
ijs_e
,
ije_e
upar
=
upar
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
1
)
*
nadiab_
moments_e
(
ip1_e
,
ij
,
iky
,
ikx
,
iz
)
upar
=
upar
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
1
)
*
moments_e
(
ip1_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
ENDDO
upar_e
(
iky
,
ikx
,
iz
)
=
upar
ENDIF
! ion
upar
=
0._dp
DO
ij
=
ijs_i
,
ije_i
upar
=
upar
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
1
)
*
nadiab_
moments_i
(
ip1_i
,
ij
,
iky
,
ikx
,
iz
)
upar
=
upar
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
1
)
*
moments_i
(
ip1_i
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
ENDDO
upar_i
(
iky
,
ikx
,
iz
)
=
upar
ENDDO
...
...
@@ -700,8 +706,10 @@ END SUBROUTINE compute_upar
! Compute the 2D particle temperature for electron and ions (sum over Laguerre)
SUBROUTINE
compute_tperp
USE
array
,
ONLY
:
Tper_e
,
Tper_i
,
kernel_e
,
kernel_i
,
nadiab_moments_e
,
nadiab_moments_i
USE
model
,
ONLY
:
KIN_E
USE
array
,
ONLY
:
Tper_e
,
Tper_i
,
kernel_e
,
kernel_i
USE
model
,
ONLY
:
KIN_E
USE
fields
,
ONLY
:
moments_e
,
moments_i
USE
time_integration
,
ONLY
:
updatetlevel
IMPLICIT
NONE
REAL
(
dp
)
::
j_dp
COMPLEX
(
dp
)
::
Tperp
...
...
@@ -718,9 +726,9 @@ SUBROUTINE compute_tperp
DO
ij
=
ijs_e
,
ije_e
j_dp
=
REAL
(
ij
-1
,
dp
)
Tperp
=
Tperp
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
((
2_dp
*
j_dp
+1
)
*
nadiab_
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
)&
-
j_dp
*
nadiab_
moments_e
(
ip0_e
,
ij
-1
,
iky
,
ikx
,
iz
)&
-
j_dp
+1
*
nadiab_
moments_e
(
ip0_e
,
ij
+1
,
iky
,
ikx
,
iz
))
((
2_dp
*
j_dp
+1
)
*
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)&
-
j_dp
*
moments_e
(
ip0_e
,
ij
-1
,
iky
,
ikx
,
iz
,
updatetlevel
)&
-
j_dp
+1
*
moments_e
(
ip0_e
,
ij
+1
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
Tper_e
(
iky
,
ikx
,
iz
)
=
Tperp
ENDIF
...
...
@@ -729,9 +737,9 @@ SUBROUTINE compute_tperp
DO
ij
=
ijs_i
,
ije_i
j_dp
=
REAL
(
ij
-1
,
dp
)
Tperp
=
Tperp
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
((
2_dp
*
j_dp
+1
)
*
nadiab_
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
)&
-
j_dp
*
nadiab_
moments_i
(
ip0_i
,
ij
-1
,
iky
,
ikx
,
iz
)&
-
j_dp
+1
*
nadiab_
moments_i
(
ip0_i
,
ij
+1
,
iky
,
ikx
,
iz
))
((
2_dp
*
j_dp
+1
)
*
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)&
-
j_dp
*
moments_i
(
ip0_i
,
ij
-1
,
iky
,
ikx
,
iz
,
updatetlevel
)&
-
j_dp
+1
*
moments_i
(
ip0_i
,
ij
+1
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
Tper_i
(
iky
,
ikx
,
iz
)
=
Tperp
ENDDO
...
...
@@ -742,8 +750,10 @@ END SUBROUTINE compute_Tperp
! Compute the 2D particle temperature for electron and ions (sum over Laguerre)
SUBROUTINE
compute_Tpar
USE
array
,
ONLY
:
Tpar_e
,
Tpar_i
,
kernel_e
,
kernel_i
,
nadiab_moments_e
,
nadiab_moments_i
USE
model
,
ONLY
:
KIN_E
USE
array
,
ONLY
:
Tpar_e
,
Tpar_i
,
kernel_e
,
kernel_i
USE
model
,
ONLY
:
KIN_E
USE
fields
,
ONLY
:
moments_e
,
moments_i
USE
time_integration
,
ONLY
:
updatetlevel
IMPLICIT
NONE
REAL
(
dp
)
::
j_dp
COMPLEX
(
dp
)
::
tpar
...
...
@@ -760,8 +770,8 @@ SUBROUTINE compute_Tpar
DO
ij
=
ijs_e
,
ije_e
j_dp
=
REAL
(
ij
-1
,
dp
)
Tpar
=
Tpar
+
kernel_e
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
(
SQRT2
*
nadiab_
moments_e
(
ip2_e
,
ij
,
iky
,
ikx
,
iz
)
&
+
nadiab_
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
))
(
SQRT2
*
moments_e
(
ip2_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
&
+
moments_e
(
ip0_e
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
Tpar_e
(
iky
,
ikx
,
iz
)
=
Tpar
ENDIF
...
...
@@ -770,8 +780,8 @@ SUBROUTINE compute_Tpar
DO
ij
=
ijs_i
,
ije_i
j_dp
=
REAL
(
ij
-1
,
dp
)
Tpar
=
Tpar
+
kernel_i
(
ij
,
iky
,
ikx
,
iz
,
0
)
*
&
(
SQRT2
*
nadiab_
moments_i
(
ip2_i
,
ij
,
iky
,
ikx
,
iz
)
&
+
nadiab_
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
))
(
SQRT2
*
moments_i
(
ip2_i
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
)
&
+
moments_i
(
ip0_i
,
ij
,
iky
,
ikx
,
iz
,
updatetlevel
))
ENDDO
Tpar_i
(
iky
,
ikx
,
iz
)
=
Tpar
ENDDO
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment