ProjectTorreyPines / FUSE.jl

FUsion Synthesis Engine
https://fuse.help/
Apache License 2.0
9 stars 0 forks source link

Error running full TGLF #528

Open nanshi1177 opened 6 months ago

nanshi1177 commented 6 months ago

AS_2 in input.tglf goes wrong from iteration 1. highbetap03112024.json

ini,act = FUSE.case_parameters(:FPP)

use_ods_sources = false

ini.ods.filename="/Users/shin/Documents/Theory group/FUSE/GA-FPP/highbetap03112024.json"

ini.equilibrium.boundary_from = :ods
ini.general.init_from = :ods
act.ActorTEQUILA.relax = 0.1
act.ActorTEQUILA.number_of_iterations=100
ini.time.simulation_start = 1.

if use_ods_sources
    act.ActorHCD.nb_model = :none
    act.ActorHCD.ec_model = :none
    act.ActorHCD.lh_model = :none
    act.ActorHCD.ic_model = :none
    ini.general.dd = FUSE.load_ods(ini)   
else
    ini.general.dd = FUSE.load_ods(ini)
    ini.general.dd.global_time = 1.
    ini.general.dd.equilibrium.time = [1.]
    ini.general.dd.pulse_schedule.time = [1.]
    ini.general.dd.core_profiles.time = [1.]
    empty!(ini.general.dd.core_sources)
    ini.pellet_launcher = FUSE.ParametersInits(;n_pl=1).pellet_launcher
    ini.pellet_launcher[1].frequency = 0.2
    ini.pellet_launcher[1].size = [2e-3]
    ini.pellet_launcher[1].shape = :spherical
    ini.pellet_launcher[1].species = :DT
    ini.ec_launcher = FUSE.ParametersInits(;n_ec=3).ec_launcher
    ini.ec_launcher[1].power_launched = 2.5e+07
    ini.ec_launcher[1].rho_0 = 0.64
    ini.ec_launcher[1].width = 0.05
    ini.ec_launcher[2].power_launched = 0.0e+07
    ini.ec_launcher[2].rho_0 = 0.3
    ini.ec_launcher[2].width = 0.05
    ini.ec_launcher[3].power_launched = 3.0e+05
    ini.ec_launcher[3].rho_0 = 0.0
    ini.ec_launcher[3].width = 0.05
end

dd = IMAS.dd()
FUSE.init_pl(dd,ini,act);
FUSE.init_ec(dd,ini,act);

FUSE.init(dd,ini,act);

chk = FUSE.Checkpoint()
chk[:init_fpp] = dd,ini,act

dd,ini,act = chk[:init_fpp]

dd.pulse_schedule.pellet.launcher[1].frequency.reference = [0.2]
dd.pulse_schedule.pellet.launcher[1].deposition_rho_tor_norm.reference = [0.65]
dd.pulse_schedule.pellet.launcher[1].deposition_rho_tor_norm_width.reference = [0.4]

dd.pulse_schedule.ec.beam[1].power_launched.reference = [5.e+07]
dd.pulse_schedule.ec.beam[1].deposition_rho_tor_norm.reference=[0.64]
dd.pulse_schedule.ec.beam[1].deposition_rho_tor_norm_width.reference=[0.05]
dd.pulse_schedule.ec.beam[2].power_launched.reference = [0.0e+07]
dd.pulse_schedule.ec.beam[2].deposition_rho_tor_norm.reference=[0.3]
dd.pulse_schedule.ec.beam[2].deposition_rho_tor_norm_width.reference=[0.05]
dd.pulse_schedule.ec.beam[3].power_launched.reference = [3.0e+05]
dd.pulse_schedule.ec.beam[3].deposition_rho_tor_norm.reference=[0.0]
dd.pulse_schedule.ec.beam[3].deposition_rho_tor_norm_width.reference=[0.05]

dd1=deepcopy(dd)
FUSE.ActorHCD(dd,act)

act.ActorTGLF.sat_rule = :sat1
act.ActorTGLF.lump_ions = false
act.ActorFluxMatcher.max_iterations=1
#act.ActorTGLF.user_specified_model = "sat1_em_d3d"
act.ActorFluxMatcher.rho_transport = 0.2:0.05:0.8
act.ActorFluxMatcher.evolve_densities=:flux_match
act.ActorTGLF.model = :TGLF
FUSE.ActorFluxMatcher(dd,act;verbose=true,do_plot=true)
TimSlendebroek commented 6 months ago

@nanshi1177 @orso82 @tomneiser

I made some functions to compare the inputtglfs generated after TGYRO to the ones generated by the TGLF actor and noticed (as I kind of suspected) that the VPAR_SHEAR terms are pretty far off ...

VPAR_SHEAR_4 = -0.002623368221653377 nominal value is -0.00376397 also theta_trapped is very different as well as the NMODES?

first value is the difference and then TGYRO's input_tglf value

SIGN_BT = 0   TGYRO's input_tglf value is 1
SIGN_IT = 0   TGYRO's input_tglf value is 1
NS = 0   TGYRO's input_tglf value is 5
ZMAJ_LOC = -0.000100612   TGYRO's input_tglf value is 0.000100612
DRMINDX_LOC = 0.0   TGYRO's input_tglf value is 1.0
DZMAJDX_LOC = 7.3744e-6   TGYRO's input_tglf value is -7.3744e-6
S_DELTA_LOC = -8.569318459790767e-5   TGYRO's input_tglf value is 0.021213
ZETA_LOC = 0.0039460598190748045   TGYRO's input_tglf value is 0.012768
S_ZETA_LOC = -0.004964150190733721   TGYRO's input_tglf value is 0.0253244
MASS_1 = -1.324327394475926e-7   TGYRO's input_tglf value is 0.000272445
ZS_1 = 0.0   TGYRO's input_tglf value is -1.0
AS_1 = 0.0   TGYRO's input_tglf value is 1.0
TAUS_1 = 0.0   TGYRO's input_tglf value is 1.0
MASS_2 = 0.0   TGYRO's input_tglf value is 1.0
ZS_2 = 0.0   TGYRO's input_tglf value is 1.0
VPAR_2 = -0.0018060964669096334   TGYRO's input_tglf value is 0.00715843
VPAR_SHEAR_2 = -0.002623368221653377   TGYRO's input_tglf value is -0.00376397
MASS_3 = 0.0   TGYRO's input_tglf value is 1.5
ZS_3 = 0.0   TGYRO's input_tglf value is 1.0
RLTS_3 = 0.012316306759793894   TGYRO's input_tglf value is 0.298248
TAUS_3 = -0.007054750363756135   TGYRO's input_tglf value is 0.983668
VPAR_3 = -0.0018060964669096334   TGYRO's input_tglf value is 0.00715843
VPAR_SHEAR_3 = -0.002623368221653377   TGYRO's input_tglf value is -0.00376397
MASS_4 = 0.0   TGYRO's input_tglf value is 2.0
AS_4 = -3.687843002503355e-8   TGYRO's input_tglf value is 0.0500217
ZS_4 = 0.0   TGYRO's input_tglf value is 2.0
RLNS_4 = -0.0037505763223593114   TGYRO's input_tglf value is 0.41359
RLTS_4 = 0.012316306759793894   TGYRO's input_tglf value is 0.298248
TAUS_4 = -0.007054750363756135   TGYRO's input_tglf value is 0.983668
VPAR_4 = -0.0018060964669096334   TGYRO's input_tglf value is 0.00715843
VPAR_SHEAR_4 = -0.002623368221653377   TGYRO's input_tglf value is -0.00376397
MASS_5 = 0.0   TGYRO's input_tglf value is 42.0
AS_5 = -2.7095708933933677e-10   TGYRO's input_tglf value is 0.000714286
ZS_5 = 0.0   TGYRO's input_tglf value is 36.0
RLNS_5 = -0.0037458599721460484   TGYRO's input_tglf value is 0.41359
RLTS_5 = 0.012316306759793894   TGYRO's input_tglf value is 0.298248
TAUS_5 = -0.007054750363756135   TGYRO's input_tglf value is 0.983668
VPAR_5 = -0.0018060964669096334   TGYRO's input_tglf value is 0.00715843
VPAR_SHEAR_5 = -0.002623368221653377   TGYRO's input_tglf value is -0.00376397
MASS_6 = missing   TGYRO's input_tglf value is missing
AS_6 = missing   TGYRO's input_tglf value is missing
ZS_6 = missing   TGYRO's input_tglf value is missing
RLNS_6 = missing   TGYRO's input_tglf value is missing
RLTS_6 = missing   TGYRO's input_tglf value is missing
TAUS_6 = missing   TGYRO's input_tglf value is missing
VPAR_6 = missing   TGYRO's input_tglf value is missing
VPAR_SHEAR_6 = missing   TGYRO's input_tglf value is missing
MASS_7 = missing   TGYRO's input_tglf value is missing
AS_7 = missing   TGYRO's input_tglf value is missing
ZS_7 = missing   TGYRO's input_tglf value is missing
RLNS_7 = missing   TGYRO's input_tglf value is missing
RLTS_7 = missing   TGYRO's input_tglf value is missing
TAUS_7 = missing   TGYRO's input_tglf value is missing
VPAR_7 = missing   TGYRO's input_tglf value is missing
VPAR_SHEAR_7 = missing   TGYRO's input_tglf value is missing
MASS_8 = missing   TGYRO's input_tglf value is missing
AS_8 = missing   TGYRO's input_tglf value is missing
ZS_8 = missing   TGYRO's input_tglf value is missing
RLNS_8 = missing   TGYRO's input_tglf value is missing
RLTS_8 = missing   TGYRO's input_tglf value is missing
TAUS_8 = missing   TGYRO's input_tglf value is missing
VPAR_8 = missing   TGYRO's input_tglf value is missing
VPAR_SHEAR_8 = missing   TGYRO's input_tglf value is missing
MASS_9 = missing   TGYRO's input_tglf value is missing
AS_9 = missing   TGYRO's input_tglf value is missing
ZS_9 = missing   TGYRO's input_tglf value is missing
RLNS_9 = missing   TGYRO's input_tglf value is missing
RLTS_9 = missing   TGYRO's input_tglf value is missing
TAUS_9 = missing   TGYRO's input_tglf value is missing
VPAR_9 = missing   TGYRO's input_tglf value is missing
VPAR_SHEAR_9 = missing   TGYRO's input_tglf value is missing
MASS_10 = missing   TGYRO's input_tglf value is missing
AS_10 = missing   TGYRO's input_tglf value is missing
ZS_10 = missing   TGYRO's input_tglf value is missing
RLNS_10 = missing   TGYRO's input_tglf value is missing
RLTS_10 = missing   TGYRO's input_tglf value is missing
TAUS_10 = missing   TGYRO's input_tglf value is missing
VPAR_10 = missing   TGYRO's input_tglf value is missing
VPAR_SHEAR_10 = missing   TGYRO's input_tglf value is missing
AS_2 = 3.49002768139095e-5   TGYRO's input_tglf value is 0.435518
AS_3 = 3.49002768139095e-5   TGYRO's input_tglf value is 0.435518
BETAE = 0.0003254590438826546   TGYRO's input_tglf value is 0.0236759
DEBYE = 3.4876835322897315e-7   TGYRO's input_tglf value is 0.0250301
DELTA_LOC = 0.0012053991535652675   TGYRO's input_tglf value is 0.108136
DRMAJDX_LOC = 0.00011674556931362545   TGYRO's input_tglf value is -0.23838
KAPPA_LOC = -0.00010006168790921421   TGYRO's input_tglf value is 1.69671
P_PRIME_LOC = 0.0031026841873382904   TGYRO's input_tglf value is -0.0186853
Q_LOC = -0.005892784996793132   TGYRO's input_tglf value is 1.87552
Q_PRIME_LOC = -0.4836373501930389   TGYRO's input_tglf value is -18.7308
RLNS_1 = -0.003749203451839045   TGYRO's input_tglf value is 0.41359
RLNS_2 = -0.0040344768341307735   TGYRO's input_tglf value is 0.399839
RLNS_3 = -0.0040344768341307735   TGYRO's input_tglf value is 0.399839
RLTS_1 = 0.02334230181643615   TGYRO's input_tglf value is 0.947606
RLTS_2 = 0.012316306759793894   TGYRO's input_tglf value is 0.298248
RMAJ_LOC = -0.07854522054473856   TGYRO's input_tglf value is 3.80233
RMIN_LOC = -0.003290539845207857   TGYRO's input_tglf value is 0.234232
S_KAPPA_LOC = 0.014273769889835891   TGYRO's input_tglf value is -0.162106
TAUS_2 = -0.007054750363756135   TGYRO's input_tglf value is 0.983668
VEXB_SHEAR = 0.0003355052253343558   TGYRO's input_tglf value is -0.000123629
VPAR_1 = -0.0018060964669096334   TGYRO's input_tglf value is 0.00715843
VPAR_SHEAR_1 = 0.010151308221653377   TGYRO's input_tglf value is -0.00376397
XNUE = -0.00012147245394145828   TGYRO's input_tglf value is 0.0131299
ZEFF = 4.922294905451707e-6   TGYRO's input_tglf value is 2.00317
UNITS = GYRO  GYRO   TGYRO's input_tglf value is GYRO
ALPHA_ZF = 0.0   TGYRO's input_tglf value is 1.0
USE_MHD_RULE = missing   TGYRO's input_tglf value is missing
NKY = 0   TGYRO's input_tglf value is 12
SAT_RULE = 0   TGYRO's input_tglf value is 1
KYGRID_MODEL = 0   TGYRO's input_tglf value is 1
NMODES = 3   TGYRO's input_tglf value is 4
NBASIS_MIN = 0   TGYRO's input_tglf value is 2
NBASIS_MAX = 0   TGYRO's input_tglf value is 4
XNU_MODEL = 0   TGYRO's input_tglf value is 2
USE_AVE_ION_GRID = missing   TGYRO's input_tglf value is missing
ALPHA_QUENCH = 0   TGYRO's input_tglf value is 0
ALPHA_MACH = 0.0   TGYRO's input_tglf value is 0.0
WDIA_TRAPPED = missing   TGYRO's input_tglf value is missing
USE_BPAR = missing   TGYRO's input_tglf value is missing
USE_BPER = false   TGYRO's input_tglf value is true
THETA_TRAPPED = 0.0   TGYRO's input_tglf value is 0.7
_Qgb = missing   TGYRO's input_tglf value is missing
TimSlendebroek commented 5 months ago

I did some further checking with @jmcclena on every sign of Ip and Bt and found that it looks very good right now. It's odd because your case @nanshi1177 has the opposite sign for VEXB_SHEAR but everything else checks out. Not sure what to do with this.