@@ -86,7 +86,7 @@ def validate_dict(results,dict_exp,tol_dict=None):
8686 return test_result
8787
8888
89- def validate_eqdsk (file_test ,file_ref ):
89+ def validate_eqdsk (file_test ,file_ref , helicity = 1.0 ):
9090 from OpenFUSIONToolkit .TokaMaker .util import read_eqdsk
9191 try :
9292 test_data = read_eqdsk (file_test )
@@ -98,6 +98,9 @@ def validate_eqdsk(file_test,file_ref):
9898 except :
9999 print ("FAILED: Could not read reference EQDSK" )
100100 return False
101+ ref_data ['bcentr' ] *= helicity
102+ ref_data ['fpol' ] *= helicity
103+ ref_data ['qpsi' ] *= helicity
101104 test_result = True
102105 for key , exp_val in ref_data .items ():
103106 result_val = test_data .get (key ,None )
@@ -121,7 +124,7 @@ def validate_eqdsk(file_test,file_ref):
121124 return test_result
122125
123126
124- def validate_ifile (ifile_test ,ifile_ref ):
127+ def validate_ifile (ifile_test ,ifile_ref , helicity = 1.0 ):
125128 from OpenFUSIONToolkit .TokaMaker .util import read_ifile
126129 try :
127130 test_data = read_ifile (ifile_test )
@@ -133,6 +136,8 @@ def validate_ifile(ifile_test,ifile_ref):
133136 except :
134137 print ("FAILED: Could not read reference i-file" )
135138 return False
139+ ref_data ['f' ] *= helicity
140+ ref_data ['q' ] *= helicity
136141 test_result = True
137142 for key , exp_val in ref_data .items ():
138143 result_val = test_data .get (key ,None )
@@ -467,7 +472,7 @@ def test_coil_h3(order,dist_coil):
467472
468473
469474#============================================================================
470- def run_ITER_case (mesh_resolution ,fe_orders ,test_type ,mp_q ):
475+ def run_ITER_case (mesh_resolution ,fe_orders ,test_type ,helicity , mp_q ):
471476 def create_mesh ():
472477 with open ('ITER_geom.json' ,'r' ) as fid :
473478 ITER_geom = json .load (fid )
@@ -515,7 +520,7 @@ def create_mesh():
515520 mesh_pts ,mesh_lc ,mesh_reg ,coil_dict ,cond_dict = load_gs_mesh ('ITER_mesh.h5' )
516521 mygs .setup_mesh (mesh_pts ,mesh_lc ,mesh_reg )
517522 mygs .setup_regions (cond_dict = cond_dict ,coil_dict = coil_dict )
518- mygs .setup (order = fe_order ,F0 = 5.3 * 6.2 )
523+ mygs .setup (order = fe_order ,F0 = helicity * 5.3 * 6.2 )
519524 #
520525 if test_type .startswith ('eig' ):
521526 if test_type == 'eig_dep' :
@@ -740,10 +745,10 @@ def test_ITER_eig(order):
740745 exp_dict = {
741746 'Tau_w' : [6.619977E-01 , 3.479492E-01 , 2.554444E-01 , 1.910381E-01 , 1.782464E-01 ]
742747 }
743- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'eig' ))
748+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'eig' , 1.0 ))
744749 assert validate_dict (results ,exp_dict )
745750 # Test deprecated interface
746- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'eig_dep' ))
751+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'eig_dep' , 1.0 ))
747752 assert validate_dict (results ,exp_dict )
748753
749754@pytest .mark .coverage
@@ -753,10 +758,10 @@ def test_ITER_stability(order):
753758 'gamma' : [12.3620 , - 1.83981 , - 3.41613 , - 5.12470 , - 6.53393 ],
754759 'nl_change' : [225.4421413167051 , 338.0113029638385 ][order - 2 ]
755760 }
756- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'stab' ))
761+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'stab' , 1.0 ))
757762 assert validate_dict (results ,exp_dict )
758763 # Test deprecated interface
759- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'stab_dep' ))
764+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'stab_dep' , 1.0 ))
760765 assert validate_dict (results ,exp_dict )
761766
762767ITER_eq_dict = {
@@ -788,18 +793,29 @@ def test_ITER_stability(order):
788793
789794@pytest .mark .coverage
790795@pytest .mark .parametrize ("order" , (2 ,3 ))#,4))
791- def test_ITER_eq (order ):
792- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'' ))
793- assert validate_dict (results ,ITER_eq_dict )
794- assert validate_eqdsk ('tokamaker.eqdsk' ,'ITER_test.eqdsk' )
795- assert validate_ifile ('tokamaker.ifile' ,'ITER_test.ifile' )
796+ @pytest .mark .parametrize ("helicity" , (1.0 ,- 1.0 ))
797+ def test_ITER_eq (order ,helicity ):
798+ eq_dict = ITER_eq_dict .copy ()
799+ eq_dict ['tflux' ] *= helicity
800+ eq_dict ['dflux' ] *= helicity
801+ eq_dict ['q_0' ] *= helicity
802+ eq_dict ['q_95' ] *= helicity
803+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'' ,helicity ))
804+ assert validate_dict (results ,eq_dict )
805+ assert validate_eqdsk ('tokamaker.eqdsk' ,'ITER_test.eqdsk' ,helicity )
806+ assert validate_ifile ('tokamaker.ifile' ,'ITER_test.ifile' ,helicity )
796807
797808@pytest .mark .coverage
798809@pytest .mark .parametrize ("order" , (2 ,3 ))#,4))
799- def test_ITER_eq_io (order ):
810+ @pytest .mark .parametrize ("helicity" , (1.0 ,- 1.0 ))
811+ def test_ITER_eq_io (order ,helicity ):
800812 eq_dict = ITER_eq_dict .copy ()
801813 eq_dict ['nl_its' ] = 1
802- results = mp_run (run_ITER_case ,(1.0 ,(order ,),'io' ))
814+ eq_dict ['tflux' ] *= helicity
815+ eq_dict ['dflux' ] *= helicity
816+ eq_dict ['q_0' ] *= helicity
817+ eq_dict ['q_95' ] *= helicity
818+ results = mp_run (run_ITER_case ,(1.0 ,(order ,),'io' ,helicity ))
803819 assert validate_dict (results ,eq_dict )
804820
805821@pytest .mark .coverage
@@ -813,7 +829,7 @@ def test_ITER_recon():
813829 ITER_recon_dict ['l_i' ] = 0.8872565
814830 ITER_recon_dict ['beta_tor' ] = 1.906180
815831 ITER_recon_dict ['beta_n' ] = 1.284312
816- results = mp_run (run_ITER_case ,(1.0 ,(2 ,),'recon' ))
832+ results = mp_run (run_ITER_case ,(1.0 ,(2 ,),'recon' , 1.0 ))
817833 assert validate_dict (results ,ITER_recon_dict )
818834
819835@pytest .mark .coverage
@@ -829,11 +845,11 @@ def test_ITER_recon_legacy():
829845 ITER_recon_dict ['l_i' ] = 0.8906732
830846 ITER_recon_dict ['beta_tor' ] = 1.934024
831847 ITER_recon_dict ['beta_n' ] = 1.294385
832- results = mp_run (run_ITER_case ,(1.0 ,(2 ,),'recon_legacy' ))
848+ results = mp_run (run_ITER_case ,(1.0 ,(2 ,),'recon_legacy' , 1.0 ))
833849 assert validate_dict (results ,ITER_recon_dict )
834850
835851def test_ITER_concurrent ():
836- results = mp_run (run_ITER_case ,(1.0 ,(2 ,3 ),'' ))
852+ results = mp_run (run_ITER_case ,(1.0 ,(2 ,3 ),'' , 1.0 ))
837853 assert validate_dict (results ,ITER_eq_dict )
838854
839855#============================================================================
0 commit comments