jg.runtime.rexi_ci_max_imag = 2 jg.runtime.rexi_ci_mu = 0 jg.runtime.rexi_ci_primitive = 'circle' elif 'etdrk' in jg.runtime.timestepping_method: # CI REXI via file input jg.runtime.rexi_method = 'file' cirexi = CIREXI() coeffs_phi0 = cirexi.setup("phi0", N=32, R=2).toFloat() coeffs_phi1 = cirexi.setup("phi1", N=32, R=2).toFloat() coeffs_phi2 = cirexi.setup("phi2", N=32, R=2).toFloat() coeffs_phi3 = cirexi.setup("phi3", N=32, R=2).toFloat() jg.runtime.rexi_files_coefficients = [ coeffs_phi0, coeffs_phi1, coeffs_phi2, coeffs_phi3 ] else: # B REXI via file jg.runtime.rexi_method = 'file' brexi = BREXI() coeffs = brexi.setup(N=8, quadrature_method='gauss').toFloat() jg.runtime.rexi_files_coefficients = [coeffs] else: jg.runtime.rexi_method = None jg.gen_jobscript_directory()
# Validate with C-implementation of CI-REXI method jg.runtime.rexi_method = "ci" jg.runtime.rexi_ci_n = N jg.runtime.rexi_ci_max_real = lambda_max_real jg.runtime.rexi_ci_max_imag = lambda_include_imag jg.gen_jobscript_directory() # Back to original version jg.runtime.rexi_method = "file" elif rexi_file_method == "brexi": if function_name != "phi0": continue brexi = BREXI(efloat_mode=efloat_mode) # CI-REXI: Number of quadrature poles N_list = [8, 10, 12, 14, 16] #N_list = [8, 10] quadrature_method_list = ["gauss", "radau", "chebyshev"] for (N, quadrature_method) in product(N_list, quadrature_method_list): coeffs = brexi.setup( N=N, quadrature_method=quadrature_method).toFloat() jg.runtime.rexi_files_coefficients = [coeffs] jg.gen_jobscript_directory() else: