Exemplo n.º 1
0
                    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: