From 59fa66532c426ae9d50c98f5bdeb84e49d362d88 Mon Sep 17 00:00:00 2001 From: Antoine Cyril David Hoffmann <ahoffman@spcpc606.epfl.ch> Date: Mon, 17 May 2021 16:08:54 +0200 Subject: [PATCH] Added ZF initialization option --- matlab/write_fort90.m | 3 +-- src/inital.F90 | 12 ++++++++++++ src/initial_par_mod.F90 | 10 ++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/matlab/write_fort90.m b/matlab/write_fort90.m index aef016f7..88e496c8 100644 --- a/matlab/write_fort90.m +++ b/matlab/write_fort90.m @@ -46,7 +46,6 @@ fprintf(fid,[' CO = ', num2str(MODEL.CO),'\n']); fprintf(fid,[' CLOS = ', num2str(MODEL.CLOS),'\n']); fprintf(fid,[' NL_CLOS = ', num2str(MODEL.NL_CLOS),'\n']); fprintf(fid,[' NON_LIN = ', MODEL.NON_LIN,'\n']); -fprintf(fid,[' ZF_DAMP = ', MODEL.ZF_DAMP,'\n']); fprintf(fid,[' mu = ', num2str(MODEL.mu),'\n']); fprintf(fid,[' mu_p = ', num2str(MODEL.mu_p),'\n']); fprintf(fid,[' mu_j = ', num2str(MODEL.mu_j),'\n']); @@ -65,7 +64,7 @@ fprintf(fid,'/\n'); fprintf(fid,'&INITIAL_CON\n'); fprintf(fid,[' INIT_NOISY_PHI =', INITIAL.init_noisy_phi,'\n']); -fprintf(fid,[' INIT_ZF_PHI =', INITIAL.init_noisy_phi,'\n']); +fprintf(fid,[' INIT_ZF_PHI =', INITIAL.INIT_ZF_PHI,'\n']); fprintf(fid,[' init_background =', num2str(INITIAL.init_background),'\n']); fprintf(fid,[' init_noiselvl =', num2str(INITIAL.init_noiselvl),'\n']); fprintf(fid,[' iseed =', num2str(INITIAL.iseed),'\n']); diff --git a/src/inital.F90 b/src/inital.F90 index 680f4f81..f6a7f2f8 100644 --- a/src/inital.F90 +++ b/src/inital.F90 @@ -211,6 +211,18 @@ SUBROUTINE init_phi ENDDO ENDDO + ELSEIF(INIT_ZF_PHI .GT. 0) + + !**** Zonal Flow initialization ******************************************* + ! Every mode is zero + DO ikr=ikrs,ikre + DO ikz=ikzs,ikze + phi(ikr,ikz) = 0._dp + END DO + END DO + ! Except at ikr = mode number + 1, symmetry is already included since kr>=0 + phi(INIT_ZF_PHI+1,ikz_0) = -init_background * imagu/2._dp + ELSE ! we compute phi from noisy moments and poisson CALL poisson diff --git a/src/initial_par_mod.F90 b/src/initial_par_mod.F90 index 56fa6a25..f9a937c6 100644 --- a/src/initial_par_mod.F90 +++ b/src/initial_par_mod.F90 @@ -5,13 +5,13 @@ MODULE initial_par IMPLICIT NONE PRIVATE - ! Initial background level - REAL(dp), PUBLIC, PROTECTED :: init_background=0._dp ! Initialization through a noisy phi LOGICAL, PUBLIC, PROTECTED :: INIT_NOISY_PHI = .false. ! Initialization through a zonal flow phi - LOGICAL, PUBLIC, PROTECTED :: INIT_ZF_PHI = .false. - ! Initial background noise amplitude + INTEGER, PUBLIC, PROTECTED :: INIT_ZF_PHI = 0 + ! Initial background level + REAL(dp), PUBLIC, PROTECTED :: init_background=0._dp + ! Initial noise amplitude REAL(dp), PUBLIC, PROTECTED :: init_noiselvl=1E-6_dp ! Initialization for random number generator INTEGER, PUBLIC, PROTECTED :: iseed=42 @@ -64,6 +64,8 @@ CONTAINS CALL attach(fidres, TRIM(str), "INIT_NOISY_PHI", INIT_NOISY_PHI) + CALL attach(fidres, TRIM(str), "INIT_ZF_PHI", INIT_ZF_PHI) + CALL attach(fidres, TRIM(str), "init_background", init_background) CALL attach(fidres, TRIM(str), "init_noiselvl", init_noiselvl) -- GitLab