11from enum import Enum
2-
32from ..state import ARG
43
54class ParamType (Enum ):
@@ -8,6 +7,16 @@ class ParamType(Enum):
87 LOG = {"enum" : ["T" , "F" ]}
98 STR = {"type" : "string" }
109
10+ _ANALYTIC_INT = {"type" : ["integer" , "string" ]}
11+ _ANALYTIC_REAL = {"type" : ["number" , "string" ]}
12+
13+ def analytic (self ):
14+ if self == self .INT :
15+ return self ._ANALYTIC_INT
16+ if self == self .REAL :
17+ return self ._ANALYTIC_REAL
18+ return self .STR
19+
1120COMMON = {
1221 'hypoelasticity' : ParamType .LOG ,
1322 'cyl_coord' : ParamType .LOG ,
@@ -105,9 +114,10 @@ class ParamType(Enum):
105114 PRE_PROCESS [f"patch_icpp({ p_id } )%{ attribute } " ] = ty
106115
107116 for real_attr in ["radius" , "radii" , "epsilon" , "beta" , "normal" , "alpha_rho" ,
108- "smooth_coeff" , "rho" , "vel" , "pres" , " alpha" , "gamma" ,
117+ "smooth_coeff" , "rho" , "vel" , "alpha" , "gamma" ,
109118 "pi_inf" , "r0" , "v0" , "p0" , "m0" , "cv" , "qv" , "qvp" , "cf_val" ]:
110119 PRE_PROCESS [f"patch_icpp({ p_id } )%{ real_attr } " ] = ParamType .REAL
120+ PRE_PROCESS [f"patch_icpp({ p_id } )%pres" ] = ParamType .REAL .analytic ()
111121
112122 # (cameron): This parameter has since been removed.
113123 # for i in range(100):
@@ -127,15 +137,16 @@ class ParamType(Enum):
127137 PRE_PROCESS [f'patch_icpp({ p_id } )%{ cmp } _centroid' ] = ParamType .REAL
128138 PRE_PROCESS [f'patch_icpp({ p_id } )%length_{ cmp } ' ] = ParamType .REAL
129139
130- for append in ["radii" , "normal" , "vel" ]:
140+ for append in ["radii" , "normal" ]:
131141 PRE_PROCESS [f'patch_icpp({ p_id } )%{ append } ({ cmp_id } )' ] = ParamType .REAL
142+ PRE_PROCESS [f'patch_icpp({ p_id } )%vel({ cmp_id } )' ] = ParamType .REAL .analytic ()
132143
133144 for arho_id in range (1 , 10 + 1 ):
134- PRE_PROCESS [f'patch_icpp({ p_id } )%alpha({ arho_id } )' ] = ParamType .REAL
135- PRE_PROCESS [f'patch_icpp({ p_id } )%alpha_rho({ arho_id } )' ] = ParamType .REAL
145+ PRE_PROCESS [f'patch_icpp({ p_id } )%alpha({ arho_id } )' ] = ParamType .REAL . analytic ()
146+ PRE_PROCESS [f'patch_icpp({ p_id } )%alpha_rho({ arho_id } )' ] = ParamType .REAL . analytic ()
136147
137148 for taue_id in range (1 , 6 + 1 ):
138- PRE_PROCESS [f'patch_icpp({ p_id } )%tau_e({ taue_id } )' ] = ParamType .REAL
149+ PRE_PROCESS [f'patch_icpp({ p_id } )%tau_e({ taue_id } )' ] = ParamType .REAL . analytic ()
139150
140151 if p_id >= 2 :
141152 PRE_PROCESS [f'patch_icpp({ p_id } )%alter_patch' ] = ParamType .LOG
0 commit comments