1
1
"""
2
- case_parameters(::Type{Val{: FPP}})::Tuple{ParametersAllInits,ParametersAllActors}
2
+ case_parameters(:FPP; flux_matcher::Bool=false)
3
3
4
4
GA's FPP design
5
5
"""
6
- function case_parameters (:: Type{Val{:FPP}} ):: Tuple{ParametersAllInits,ParametersAllActors}
7
- ini = ParametersInits (; n_ec= 1 )
6
+ function case_parameters (:: Type{Val{:FPP}} ; flux_matcher:: Bool = false ):: Tuple{ParametersAllInits,ParametersAllActors}
7
+ n_ec = 6
8
+ ini = ParametersInits (; n_ec)
8
9
act = ParametersActors ()
9
10
10
11
# ### INI ####
@@ -59,21 +60,21 @@ function case_parameters(::Type{Val{:FPP}})::Tuple{ParametersAllInits,Parameters
59
60
ini. equilibrium. δ = 0.7
60
61
ini. equilibrium. ζ = 0.1
61
62
ini. equilibrium. 𝚶 = 0.1
62
- ini. equilibrium. pressure_core = 1.2e5
63
+ ini. equilibrium. pressure_core = 1.e6
63
64
ini. equilibrium. ip = 8.0e6
64
65
ini. equilibrium. xpoints = :lower
65
66
ini. equilibrium. boundary_from = :scalars
66
67
67
- ini. core_profiles. ne_setting = :greenwald_fraction_ped
68
- ini. core_profiles. ne_value = 0.1
68
+ ini. core_profiles. ne_setting = :greenwald_fraction
69
+ ini. core_profiles. ne_value = 0.9
69
70
ini. core_profiles. T_ratio = 0.825
70
71
ini. core_profiles. T_shaping = 2.5
71
72
ini. core_profiles. n_shaping = 2.5
72
- ini. core_profiles. zeff = 2.0
73
+ ini. core_profiles. zeff = 1.5
73
74
ini. core_profiles. rot_core = 0.0
74
75
ini. core_profiles. bulk = :DT
75
76
ini. core_profiles. impurity = :Kr
76
- ini. core_profiles. helium_fraction = 0.04
77
+ ini. core_profiles. helium_fraction = 0.01
77
78
78
79
ini. pf_active. n_coils_inside = 0
79
80
ini. pf_active. n_coils_outside = 5
@@ -86,9 +87,14 @@ function case_parameters(::Type{Val{:FPP}})::Tuple{ParametersAllInits,Parameters
86
87
ini. oh. n_coils = 6
87
88
ini. oh. technology = :rebco
88
89
89
- ini. ec_launcher[1 ]. power_launched = 2.5e7
90
- ini. ec_launcher[1 ]. efficiency_conversion = 0.45
91
- ini. ec_launcher[1 ]. efficiency_transmission = 0.8
90
+ total_ec_power = 90E6
91
+ x = range (0.1 , 0.8 , n_ec)
92
+ for (k, rho_0) in enumerate (x)
93
+ ini. ec_launcher[k]. power_launched = total_ec_power * rho_0^ 2 / sum (x)
94
+ ini. ec_launcher[k]. efficiency_conversion = 0.45
95
+ ini. ec_launcher[k]. efficiency_transmission = 0.8
96
+ ini. ec_launcher[k]. rho_0 = rho_0
97
+ end
92
98
93
99
ini. requirements. power_electric_net = 2.0e8
94
100
ini. requirements. flattop_duration = 36000.0
@@ -98,9 +104,14 @@ function case_parameters(::Type{Val{:FPP}})::Tuple{ParametersAllInits,Parameters
98
104
99
105
act. ActorStabilityLimits. models = [:q95_gt_2 , :κ_controllability ]
100
106
101
- act. ActorCoreTransport. model= :none
102
-
103
- act. ActorEquilibrium. model = :TEQUILA
107
+ act. ActorFluxMatcher. max_iterations = 500
108
+ act. ActorFluxMatcher. verbose = true
109
+ act. ActorTGLF. electromagnetic = true
110
+ act. ActorTGLF. sat_rule = :sat0
111
+ act. ActorTGLF. model = :TJLF
112
+ if ! flux_matcher
113
+ act. ActorCoreTransport. model = :none
114
+ end
104
115
105
116
# finalize
106
117
set_new_base! (ini)
0 commit comments