From c98480fdaf87221c20e96d48d6a90a8e9f1e07ae Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Tue, 30 Jan 2018 10:54:00 +0100 Subject: [PATCH] Fixup generation for instationary stuff as well --- cmake/modules/DunePerftoolMacros.cmake | 19 ++++++++++--- cmake/modules/deplist.py | 21 +++++++++++++++ python/dune/perftool/compile.py | 16 +++++++---- python/dune/perftool/options.py | 15 ++++++----- .../dune/perftool/pdelab/driver/__init__.py | 27 +++++++------------ .../perftool/pdelab/driver/gridoperator.py | 2 +- .../perftool/pdelab/driver/instationary.py | 22 +++++++-------- .../perftool/pdelab/driver/interpolate.py | 3 ++- python/dune/perftool/pdelab/driver/solve.py | 2 +- python/dune/perftool/pdelab/driver/vtk.py | 2 +- python/dune/perftool/pdelab/localoperator.py | 11 ++++---- python/dune/perftool/pdelab/quadrature.py | 7 ++--- python/setup.py | 4 +-- test/heatequation/heatequation.mini | 1 + test/heatequation/heatequation.ufl | 1 - test/heatequation/heatequation_dg.mini | 1 + test/heatequation/heatequation_dg.ufl | 1 - .../heatequation_time_dependent_bc.mini | 1 + .../heatequation_time_dependent_bc.ufl | 1 - test/hyperbolic/linearacoustics.mini | 8 +++++- test/hyperbolic/linearacoustics.ufl | 1 - test/hyperbolic/lineartransport.mini | 10 +++++-- test/hyperbolic/lineartransport.ufl | 1 - test/hyperbolic/shallowwater.mini | 8 +++++- test/hyperbolic/shallowwater.ufl | 1 - test/laplace/laplace.mini | 2 +- test/laplace/laplace_dg.mini | 2 +- .../navierstokes_2d_dg_quadrilateral.mini | 8 +++++- .../navierstokes_2d_dg_quadrilateral.ufl | 1 - .../navierstokes_3d_dg_quadrilateral.mini | 7 ++++- .../navierstokes_3d_dg_quadrilateral.ufl | 1 - test/nonlinear/diffusivewave.mini | 9 ++++++- test/nonlinear/nonlinear_dg_matrix_free.mini | 2 +- test/nonlinear/nonlinear_matrix_free.mini | 2 +- test/poisson/poisson.mini | 2 +- test/poisson/poisson_dg.mini | 2 +- test/poisson/poisson_dg_matrix_free.mini | 2 +- test/poisson/poisson_dg_neumann.mini | 2 +- test/poisson/poisson_dg_quadrilateral.mini | 2 +- test/poisson/poisson_dg_tensor.mini | 2 +- test/poisson/poisson_matrix_free.mini | 2 +- test/poisson/poisson_neumann.mini | 2 +- test/poisson/poisson_tensor.mini | 2 +- test/stokes/stokes.mini | 2 +- test/stokes/stokes_3d_dg_quadrilateral.mini | 2 +- test/stokes/stokes_3d_quadrilateral.mini | 2 +- test/stokes/stokes_dg.mini | 2 +- test/stokes/stokes_dg_quadrilateral.mini | 2 +- test/stokes/stokes_quadrilateral.mini | 2 +- test/stokes/stokes_stress.mini | 2 +- test/stokes/stokes_stress_sym.mini | 2 +- test/stokes/stokes_sym.mini | 2 +- test/sumfact/mass/mass.mini | 2 +- test/sumfact/mass/mass_3d.mini | 2 +- test/sumfact/mass/sliced.mini | 2 +- test/sumfact/poisson/diagonal.mini | 2 +- .../poisson/opcount_poisson_2d_order2.mini | 2 +- .../opcount_sumfact_poisson_dg_2d_vec.mini | 2 +- test/sumfact/poisson/poisson_2d.mini | 2 +- test/sumfact/poisson/poisson_3d.mini | 2 +- test/sumfact/poisson/poisson_dg_2d.mini | 2 +- test/sumfact/poisson/poisson_dg_3d.mini | 2 +- test/sumfact/poisson/poisson_dg_tensor.mini | 2 +- test/sumfact/poisson/poisson_fastdg_2d.mini | 2 +- test/sumfact/poisson/poisson_fastdg_3d.mini | 2 +- test/sumfact/poisson/sliced.mini | 2 +- test/sumfact/stokes/stokes.mini | 2 +- test/sumfact/stokes/stokes_dg.mini | 4 +-- 68 files changed, 178 insertions(+), 112 deletions(-) create mode 100755 cmake/modules/deplist.py diff --git a/cmake/modules/DunePerftoolMacros.cmake b/cmake/modules/DunePerftoolMacros.cmake index c9b67421..b4178518 100644 --- a/cmake/modules/DunePerftoolMacros.cmake +++ b/cmake/modules/DunePerftoolMacros.cmake @@ -89,8 +89,19 @@ function(add_generated_executable) set(GEN_INIFILE ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_INIFILE}) endif() if(NOT GEN_SOURCE) + # Generate a driver file set(GEN_DRIVER ${GEN_TARGET}_driver.hh) - set(GEN_FORM_COMPILER_ARGS ${GEN_FORM_COMPILER_ARGS} --driver-file ${GEN_DRIVER}) + add_custom_command(OUTPUT ${GEN_DRIVER} + COMMAND ${CMAKE_BINARY_DIR}/run-in-dune-env generate_driver + --uflfile ${GEN_UFLFILE} + --ini-file ${GEN_INIFILE} + --target-name ${GEN_TARGET} + --driver-file ${GEN_DRIVER} + --project-basedir ${CMAKE_BINARY_DIR} + ${GEN_FORM_COMPILER_ARGS} + DEPENDS ${GEN_UFLFILE} ${UFL2PDELAB_SOURCES} ${GEN_DEPENDS} ${DUNE_PERFTOOL_ADDITIONAL_PYTHON_SOURCES} + COMMENT "Generating driver for the target ${GEN_TARGET}" + ) set(GEN_SOURCE ${GEN_TARGET}_main.cc) dune_module_path(MODULE dune-perftool RESULT perftool_path @@ -103,15 +114,15 @@ function(add_generated_executable) OUTPUT_VARIABLE header_deps ) - add_custom_command(OUTPUT ${GEN_DRIVER} ${header_deps} - COMMAND ${CMAKE_BINARY_DIR}/run-in-dune-env ufl2pdelab + add_custom_command(OUTPUT ${header_deps} + COMMAND ${CMAKE_BINARY_DIR}/run-in-dune-env generate_operators --project-basedir ${CMAKE_BINARY_DIR} ${GEN_FORM_COMPILER_ARGS} --uflfile ${GEN_UFLFILE} --ini-file ${GEN_INIFILE} --target-name ${GEN_TARGET} DEPENDS ${GEN_UFLFILE} ${UFL2PDELAB_SOURCES} ${GEN_DEPENDS} ${DUNE_PERFTOOL_ADDITIONAL_PYTHON_SOURCES} - COMMENT "Running ufl2pdelab for the target ${GEN_TARGET}" + COMMENT "Generating operators for the target ${GEN_TARGET}" ) add_executable(${GEN_TARGET} ${GEN_SOURCE} ${GEN_DRIVER} ${header_deps}) diff --git a/cmake/modules/deplist.py b/cmake/modules/deplist.py new file mode 100755 index 00000000..d65ad4af --- /dev/null +++ b/cmake/modules/deplist.py @@ -0,0 +1,21 @@ +# Return the list of generated files for a given ini file +# This is used by the build system, do not use this yourself! + +from dune.testtools.parser import parse_ini_file + +import sys + +ini = parse_ini_file(sys.argv[1]) +section = ini["formcompiler"] +operators = section.get("operators", "operator") + +result = [] +for operator in [i.strip() for i in operators.split(",")]: + ssection = ini.get("formcompiler.{}".format(operator), {}) + if ssection.get("filename", None): + result.append(ssection["filename"]) + else: + classname = ssection.get("classname", "{}Operator".format(ssection.get("form", operator))) + result.append("{}_{}_file.hh".format(sys.argv[2], classname)) + +sys.stdout.write(" ".join(result)) diff --git a/python/dune/perftool/compile.py b/python/dune/perftool/compile.py index 8886a4d8..3bb356bb 100644 --- a/python/dune/perftool/compile.py +++ b/python/dune/perftool/compile.py @@ -103,17 +103,23 @@ def read_ufl(uflfile): return data -# This function is the entrypoint of the ufl2pdelab executable -def compile_form(): +def entry_generate_driver(): + """ This is the entry point for driver generation """ initialize_options() data = read_ufl(get_option("uflfile")) with global_context(data=data): - # Generate driver file - if get_option("driver_file"): - generate_driver() + generate_driver() + +def entry_generate_operators(): + """ This is the entry point for operator generation """ + initialize_options() + data = read_ufl(get_option("uflfile")) + + with global_context(data=data): for operator in get_option("operators").split(","): + operator = operator.strip() with global_context(form_identifier=operator): # Make sure cache is empty delete_cache_items() diff --git a/python/dune/perftool/options.py b/python/dune/perftool/options.py index aeb6baef..f186a324 100644 --- a/python/dune/perftool/options.py +++ b/python/dune/perftool/options.py @@ -49,7 +49,7 @@ class PerftoolGlobalOptionsArray(ImmutableRecord): yaspgrid_offset = PerftoolOption(default=False, helpstr="Set to true if you want a yasp grid where the lower left corner is not in the origin.") precision_bits = PerftoolOption(default=64, helpstr="The number of bits for the floating point type") overlapping = PerftoolOption(default=False, helpstr="Use an overlapping solver and constraints. You still need to make sure to construct a grid with overlap! The parallel option will be set automatically.") - operators = PerftoolOption(default="operator", helpstr="A comma separated list of operators, each name will be interpreted as a subsection name within the formcompiler section") + operators = PerftoolOption(default="r", helpstr="A comma separated list of operators, each name will be interpreted as a subsection name within the formcompiler section") target_name = PerftoolOption(default=None, helpstr="The target name from CMake") # Arguments that are mainly to be set by logic depending on other options @@ -68,7 +68,7 @@ class PerftoolFormOptionsArray(ImmutableRecord): ImmutableRecord.__init__(self, **opts) # Form specific options - form = PerftoolOption(default="r", helpstr="The name of the UFL object representing the form in the UFL file") + form = PerftoolOption(default=None, helpstr="The name of the UFL object representing the form in the UFL file") filename = PerftoolOption(default=None, helpstr="The filename to use for this LocalOperator") classname = PerftoolOption(default=None, helpstr="The name of the C++ class to generate") numerical_jacobian = PerftoolOption(default=False, helpstr="use numerical jacobians (only makes sense, if uflpdelab for some reason fails to generate analytic jacobians)") @@ -139,7 +139,7 @@ def update_options_from_inifile(opt): opt = opt.copy(**parse_ini("formcompiler")) # Also parse form-specific options - for form in opt.operators.split(","): + for form in [i.strip() for i in opt.operators.split(",")]: _form_options[form] = PerftoolFormOptionsArray(**parse_ini("formcompiler.{}".format(form))) return opt @@ -157,13 +157,16 @@ def process_global_options(opt): @memoize -def process_form_options(opt): +def process_form_options(opt, form): if opt.sumfact: opt = opt.copy(unroll_dimension_loops=True) if opt.numerical_jacobian: opt = opt.copy(generate_jacobians=False) + if opt.form is None: + opt = opt.copy(form=form) + if opt.classname is None: opt = opt.copy(classname="{}Operator".format(opt.form)) @@ -205,8 +208,8 @@ def get_form_option(key, form=None): from dune.perftool.generation import get_global_context_value form = get_global_context_value("form_identifier", 0) if isinstance(form, int): - form = get_option("operators").split(",")[form] - processed_form_opts = process_form_options(_form_options[form]) + form = get_option("operators").split(",")[form].strip() + processed_form_opts = process_form_options(_form_options[form], form) return getattr(processed_form_opts, key) diff --git a/python/dune/perftool/pdelab/driver/__init__.py b/python/dune/perftool/pdelab/driver/__init__.py index f11875d0..f8ec2059 100644 --- a/python/dune/perftool/pdelab/driver/__init__.py +++ b/python/dune/perftool/pdelab/driver/__init__.py @@ -28,23 +28,17 @@ from dune.perftool.options import (get_form_option, # to quantities that are needed throughout the process of generating the driver! # -def get_form_ident(index=0): - return get_option("operators").split(",")[index] +def get_form_ident(): + idents = [i.strip() for i in get_option("operators").split(",")] + if len(idents) == 2: + idents.remove("mass") + assert(len(idents) == 1) + return idents[0] -def get_form(what=None): - """ Return the ith form specified """ - if what is None: - what = get_global_context_value("form_identifier", 0) - if isinstance(what, int): - what = get_form_ident(what) +def get_form(): data = get_global_context_value("data") - return data.object_by_name[get_form_option("form", what)] - - -def get_preprocessed_form(what=None): - from dune.perftool.ufl.preprocess import preprocess_form - return preprocess_form(get_form(what)).preprocessed_form + return data.object_by_name[get_form_option("form", get_form_ident())] def get_dimension(): @@ -64,10 +58,7 @@ def get_trial_element(): def is_stationary(): - # TODO I am completely unsure how this should work in the future - # This only fixes instationary stuff, it will break Renes adjoint stuff - return len(get_option("operators").split(",")) == 1 -# return 'mass_form' not in _driver_data + return "mass" not in [i.strip() for i in get_option("operators").split(",")] def is_linear(form=None): diff --git a/python/dune/perftool/pdelab/driver/gridoperator.py b/python/dune/perftool/pdelab/driver/gridoperator.py index 64a61777..c1e22873 100644 --- a/python/dune/perftool/pdelab/driver/gridoperator.py +++ b/python/dune/perftool/pdelab/driver/gridoperator.py @@ -77,7 +77,7 @@ def name_gridoperator(form_ident): def typedef_localoperator(name, form_ident): ugfs = type_trial_gfs() vgfs = type_test_gfs() - filename = get_form_option("filename") + filename = get_form_option("filename", form_ident) include_file(filename, filetag="driver") lopname = localoperator_basename(form_ident) range_type = type_range() diff --git a/python/dune/perftool/pdelab/driver/instationary.py b/python/dune/perftool/pdelab/driver/instationary.py index 11390040..becb79b0 100644 --- a/python/dune/perftool/pdelab/driver/instationary.py +++ b/python/dune/perftool/pdelab/driver/instationary.py @@ -1,7 +1,8 @@ from dune.perftool.generation import (include_file, preamble, ) -from dune.perftool.pdelab.driver import (get_trial_element, +from dune.perftool.pdelab.driver import (get_form_ident, + get_trial_element, is_linear, name_initree, preprocess_leaf_data, @@ -50,12 +51,11 @@ def solve_instationary(): @preamble def time_loop(): ini = name_initree() - formdata = get_formdata() - params = name_parameters(formdata) + params = name_parameters(get_form_ident()) time = name_time() element = get_trial_element() - vector_type = type_vector(formdata) - vector = name_vector(formdata) + vector_type = type_vector(get_form_ident()) + vector = name_vector(get_form_ident()) interpolate_dirichlet_data(vector) is_dirichlet = preprocess_leaf_data(element, "is_dirichlet") @@ -156,8 +156,8 @@ def name_timesteppingmethod(): @preamble def typedef_instationarygridoperator(name): include_file("dune/pdelab/gridoperator/onestep.hh", filetag="driver") - go_type = type_gridoperator(get_formdata()) - mass_go_type = type_gridoperator(get_mass_formdata()) + go_type = type_gridoperator(get_form_ident()) + mass_go_type = type_gridoperator("mass") explicit = get_option('explicit_time_stepping') if explicit: return "using {} = Dune::PDELab::OneStepGridOperator<{},{},false>;".format(name, go_type, mass_go_type) @@ -173,8 +173,8 @@ def type_instationarygridoperator(): @preamble def define_instationarygridoperator(name): igo_type = type_instationarygridoperator() - go = name_gridoperator(get_formdata()) - mass_go = name_gridoperator(get_mass_formdata()) + go = name_gridoperator(get_form_ident()) + mass_go = name_gridoperator("mass") return "{} {}({}, {});".format(igo_type, name, go, mass_go) @@ -188,7 +188,7 @@ def typedef_onestepmethod(name): r_type = type_range() igo_type = type_instationarygridoperator() snp_type = type_stationarynonlinearproblemssolver(igo_type) - vector_type = type_vector(get_formdata()) + vector_type = type_vector(get_form_ident()) return "using {} = Dune::PDELab::OneStepMethod<{}, {}, {}, {}, {}>;".format(name, r_type, igo_type, snp_type, vector_type, vector_type) @@ -217,7 +217,7 @@ def typedef_explicitonestepmethod(name): r_type = type_range() igo_type = type_instationarygridoperator() ls_type = type_linearsolver() - vector_type = type_vector(get_formdata()) + vector_type = type_vector(get_form_ident()) return "using {} = Dune::PDELab::ExplicitOneStepMethod<{}, {}, {}, {}>;".format(name, r_type, igo_type, ls_type, vector_type) diff --git a/python/dune/perftool/pdelab/driver/interpolate.py b/python/dune/perftool/pdelab/driver/interpolate.py index 73d44a56..4985f8c8 100644 --- a/python/dune/perftool/pdelab/driver/interpolate.py +++ b/python/dune/perftool/pdelab/driver/interpolate.py @@ -5,6 +5,7 @@ from dune.perftool.generation import (cached, preamble, ) from dune.perftool.pdelab.driver import (FEM_name_mangling, + get_form_ident, get_trial_element, is_stationary, preprocess_leaf_data, @@ -72,7 +73,7 @@ def define_boundary_function(name, dirichlet): lambdaname, ) else: - params = name_parameters(get_formdata()) + params = name_parameters(get_form_ident()) return "auto {} = Dune::PDELab::makeInstationaryGridFunctionFromCallable({}, {}, {});".format(name, gv, lambdaname, diff --git a/python/dune/perftool/pdelab/driver/solve.py b/python/dune/perftool/pdelab/driver/solve.py index 44b4cd7e..2e9b3ee1 100644 --- a/python/dune/perftool/pdelab/driver/solve.py +++ b/python/dune/perftool/pdelab/driver/solve.py @@ -178,7 +178,7 @@ def name_stationarylinearproblemsolver(): def typedef_stationarynonlinearproblemsolver(name, go_type): include_file("dune/pdelab/newton/newton.hh", filetag="driver") ls_type = type_linearsolver() - x_type = type_vector(form_ident) + x_type = type_vector(get_form_ident()) return "using {} = Dune::PDELab::Newton<{}, {}, {}>;".format(name, go_type, ls_type, x_type) diff --git a/python/dune/perftool/pdelab/driver/vtk.py b/python/dune/perftool/pdelab/driver/vtk.py index b131040e..a9096628 100644 --- a/python/dune/perftool/pdelab/driver/vtk.py +++ b/python/dune/perftool/pdelab/driver/vtk.py @@ -131,7 +131,7 @@ def visualize_initial_condition(): vtkwriter = name_vtk_sequence_writer() element = get_trial_element() gfs = name_trial_gfs() - vector = name_vector(get_formdata()) + vector = name_vector(get_form_ident()) predicate = name_predicate() from dune.perftool.pdelab.driver.instationary import name_time time = name_time() diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py index 05c2adc3..253917ba 100644 --- a/python/dune/perftool/pdelab/localoperator.py +++ b/python/dune/perftool/pdelab/localoperator.py @@ -250,7 +250,8 @@ def boundary_predicates(expr, measure, subdomain_id): # Get the original form and inspect the present measures from dune.perftool.generation import get_global_context_value - original_form = get_global_context_value("formdata").original_form + data = get_global_context_value("data") + original_form = data.object_by_name[get_form_option("form")] sd = original_form.subdomain_data() assert len(sd) == 1 @@ -681,10 +682,10 @@ def generate_localoperator_kernels(operator): logger = logging.getLogger(__name__) data = get_global_context_value("data") - form = data.object_by_name[get_form_option("form")] + original_form = data.object_by_name[get_form_option("form")] from dune.perftool.ufl.preprocess import preprocess_form - form = preprocess_form(form).preprocessed_form + form = preprocess_form(original_form).preprocessed_form # Reset the generation cache from dune.perftool.generation import delete_cache_items @@ -768,7 +769,7 @@ def generate_localoperator_kernels(operator): # In the case of matrix free operator evaluation we need jacobian apply methods if get_form_option("matrix_free"): from dune.perftool.pdelab.driver import is_linear - if is_linear(formdata.original_form): + if is_linear(original_form): # Numeical jacobian apply base class base_class("Dune::PDELab::NumericalJacobianApply{}<{}>".format(which, loptype), classtag="operator") @@ -793,7 +794,7 @@ def generate_localoperator_kernels(operator): if not get_form_option("numerical_jacobian"): logger.info("generate_localoperator_kernels: create jacobian methods") from ufl import derivative - jacform = derivative(formdata.original_form, formdata.original_form.coefficients()[0]) + jacform = derivative(original_form, original_form.coefficients()[0]) from dune.perftool.ufl.preprocess import preprocess_form jacform = preprocess_form(jacform).preprocessed_form diff --git a/python/dune/perftool/pdelab/quadrature.py b/python/dune/perftool/pdelab/quadrature.py index bf798fc8..d0350d4b 100644 --- a/python/dune/perftool/pdelab/quadrature.py +++ b/python/dune/perftool/pdelab/quadrature.py @@ -179,13 +179,14 @@ def name_quadrature_weights(): return name - def _estimate_quadrature_order(): """Estimate quadrature order using polynomial degree estimation from UFL""" # According to UFL documentation estimate_total_polynomial_degree # should only be called on preprocessed forms. - from dune.perftool.pdelab.driver import get_preprocessed_form - form = get_preprocessed_form() + data = get_global_context_value("data") + form = data.object_by_name[get_form_option("form")] + from dune.perftool.ufl.preprocess import preprocess_form + form = preprocess_form(form).preprocessed_form # Estimate polynomial degree of integrals of current type (eg 'Cell') integral_type = get_global_context_value("integral_type") diff --git a/python/setup.py b/python/setup.py index c7e80ce1..f193748a 100644 --- a/python/setup.py +++ b/python/setup.py @@ -44,7 +44,7 @@ setup(name='dune.perftool', cmdclass={'test': PyTest}, entry_points = { "console_scripts": [ - "ufl2pdelab = dune.perftool.compile:compile_form", - "picklevecstrats = dune.perftool.sumfact.vectorization:pickle_vectorization_strategies", + "generate_operators = dune.perftool.compile:entry_generate_operators", + "generate_driver = dune.perftool.compile:entry_generate_driver", ] }) diff --git a/test/heatequation/heatequation.mini b/test/heatequation/heatequation.mini index 6059854e..24a69967 100644 --- a/test/heatequation/heatequation.mini +++ b/test/heatequation/heatequation.mini @@ -14,6 +14,7 @@ extension = vtu [formcompiler] explicit_time_stepping = 0, 1 | expand scheme compare_l2errorsquared = 1e-7 +operators = mass, poisson # Disable explicit tests for now {__exec_suffix} == explicit | exclude diff --git a/test/heatequation/heatequation.ufl b/test/heatequation/heatequation.ufl index 726b84a3..8a4ef977 100644 --- a/test/heatequation/heatequation.ufl +++ b/test/heatequation/heatequation.ufl @@ -13,7 +13,6 @@ v = TestFunction(V) mass = (u*v)*dx poisson = (inner(grad(u), grad(v)) - f*v)*dx -forms = [mass, poisson] interpolate_expression = g is_dirichlet = 1 exact_solution = g \ No newline at end of file diff --git a/test/heatequation/heatequation_dg.mini b/test/heatequation/heatequation_dg.mini index 3c21abe6..169be57b 100644 --- a/test/heatequation/heatequation_dg.mini +++ b/test/heatequation/heatequation_dg.mini @@ -14,6 +14,7 @@ extension = vtu [formcompiler] explicit_time_stepping = 0, 1 | expand scheme compare_l2errorsquared = 1e-7 +operators = mass, poisson # Disable explicit tests for now {__exec_suffix} == explicit | exclude diff --git a/test/heatequation/heatequation_dg.ufl b/test/heatequation/heatequation_dg.ufl index 288d1e67..4f5c2da5 100644 --- a/test/heatequation/heatequation_dg.ufl +++ b/test/heatequation/heatequation_dg.ufl @@ -32,7 +32,6 @@ poisson = inner(grad(u), grad(v))*dx \ mass = (u*v)*dx -forms = [mass, poisson] interpolate_expression = g is_dirichlet = 1 exact_solution = g \ No newline at end of file diff --git a/test/heatequation/heatequation_time_dependent_bc.mini b/test/heatequation/heatequation_time_dependent_bc.mini index 191cc52f..762951ac 100644 --- a/test/heatequation/heatequation_time_dependent_bc.mini +++ b/test/heatequation/heatequation_time_dependent_bc.mini @@ -14,6 +14,7 @@ extension = vtu [formcompiler] explicit_time_stepping = 0, 1 | expand scheme compare_l2errorsquared = 2e-4 +operators = mass, poisson [instat] T = 1.0 diff --git a/test/heatequation/heatequation_time_dependent_bc.ufl b/test/heatequation/heatequation_time_dependent_bc.ufl index 8bf2a2d8..6b8443c5 100644 --- a/test/heatequation/heatequation_time_dependent_bc.ufl +++ b/test/heatequation/heatequation_time_dependent_bc.ufl @@ -16,7 +16,6 @@ v = TestFunction(V) mass = (u*v)*dx poisson = (inner(grad(u), grad(v)) - f*v)*dx -forms = [mass, poisson] interpolate_expression = g is_dirichlet = 1 exact_solution = g diff --git a/test/hyperbolic/linearacoustics.mini b/test/hyperbolic/linearacoustics.mini index 5ccd6038..ad1cc95b 100644 --- a/test/hyperbolic/linearacoustics.mini +++ b/test/hyperbolic/linearacoustics.mini @@ -13,5 +13,11 @@ name = {__name} extension = vtu [formcompiler] +explicit_time_stepping = 1 +operators = mass, r + +[formcompiler.mass] +numerical_jacobian = 1 + +[formcompiler.r] numerical_jacobian = 1 -explicit_time_stepping = 1 \ No newline at end of file diff --git a/test/hyperbolic/linearacoustics.ufl b/test/hyperbolic/linearacoustics.ufl index d72476cc..844a3078 100644 --- a/test/hyperbolic/linearacoustics.ufl +++ b/test/hyperbolic/linearacoustics.ufl @@ -28,5 +28,4 @@ r = -1. * inner(flux, grad(v))*dx \ - inner(numerical_flux, jump(v))*dS \ + inner(u, v)*ds -forms = [mass, r] interpolate_expression = f, 0.0, 0.0 diff --git a/test/hyperbolic/lineartransport.mini b/test/hyperbolic/lineartransport.mini index 1ca4dede..60a465d6 100644 --- a/test/hyperbolic/lineartransport.mini +++ b/test/hyperbolic/lineartransport.mini @@ -18,6 +18,12 @@ name = {__name} extension = vtu [formcompiler] -numerical_jacobian = 1, 0 | expand diff explicit_time_stepping = 0, 1 | expand scheme -compare_l2errorsquared = 1e-10 \ No newline at end of file +compare_l2errorsquared = 1e-10 +operators = mass, r + +[formcompiler.mass] +numerical_jacobian = 1, 0 | expand diff + +[formcompiler.r] +numerical_jacobian = 1, 0 | expand diff diff --git a/test/hyperbolic/lineartransport.ufl b/test/hyperbolic/lineartransport.ufl index 20ad8bf5..04497a40 100644 --- a/test/hyperbolic/lineartransport.ufl +++ b/test/hyperbolic/lineartransport.ufl @@ -25,7 +25,6 @@ r = -1.*u*inner(beta, grad(v))*dx \ + inner(beta, n)*u*v*dso \ + numerical_flux(n, 0.0, u('-'))*v*dsd -forms = [mass, r] is_dirichlet = dirichlet interpolate_expression = initial exact_solution = 0 \ No newline at end of file diff --git a/test/hyperbolic/shallowwater.mini b/test/hyperbolic/shallowwater.mini index f72b422b..39408b49 100644 --- a/test/hyperbolic/shallowwater.mini +++ b/test/hyperbolic/shallowwater.mini @@ -14,5 +14,11 @@ name = {__name} extension = vtu [formcompiler] -numerical_jacobian = 1 +operators = mass, r explicit_time_stepping = 1 + +[formcompiler.mass] +numerical_jacobian = 1 + +[formcompiler.r] +numerical_jacobian = 1 diff --git a/test/hyperbolic/shallowwater.ufl b/test/hyperbolic/shallowwater.ufl index eee5ea80..56267c99 100644 --- a/test/hyperbolic/shallowwater.ufl +++ b/test/hyperbolic/shallowwater.ufl @@ -32,5 +32,4 @@ r = -1. * inner(flux, grad(v))*dx \ - inner(numerical_flux, jump(v))*dS \ + inner(boundary_flux, v)*ds -forms = [mass, r] interpolate_expression = f, 0.0 diff --git a/test/laplace/laplace.mini b/test/laplace/laplace.mini index 4926306f..cdc9b9dc 100644 --- a/test/laplace/laplace.mini +++ b/test/laplace/laplace.mini @@ -7,5 +7,5 @@ elements = 4 4 elementType = simplical printmatrix = true -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/laplace/laplace_dg.mini b/test/laplace/laplace_dg.mini index 7485e186..f689d8e5 100644 --- a/test/laplace/laplace_dg.mini +++ b/test/laplace/laplace_dg.mini @@ -7,5 +7,5 @@ elements = 2 2 elementType = simplical printmatrix = true -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini index 50568258..5700107d 100644 --- a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini +++ b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.mini @@ -16,7 +16,7 @@ name = {__name} extension = vtu [formcompiler] -numerical_jacobian = 0, 1 | expand num +operators = mass, r compare_l2errorsquared = 5e-5 # Only calculate error for the velocity part l2error_tree_path = 1, 1, 0 @@ -24,6 +24,12 @@ explicit_time_stepping = 0 yaspgrid_offset = 1 overlapping = 1 +[formcompiler.mass] +numerical_jacobian = 0, 1 | expand num + +[formcompiler.r] +numerical_jacobian = 0, 1 | expand num + [instat] T = 1e-2 dt = 1e-3 diff --git a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.ufl b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.ufl index fc8a1505..c1aaf70a 100644 --- a/test/navier-stokes/navierstokes_2d_dg_quadrilateral.ufl +++ b/test/navier-stokes/navierstokes_2d_dg_quadrilateral.ufl @@ -43,6 +43,5 @@ r = mu * inner(grad(u), grad(v))*dx \ - avg(p)*inner(jump(v), n)*dS \ - avg(q)*inner(jump(u), n)*dS \ -forms = [mass,r] interpolate_expression = g_v, g_p exact_solution = g_v, g_p diff --git a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini index 29ba4c0d..1da79ba9 100644 --- a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini +++ b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.mini @@ -12,13 +12,18 @@ name = {__name} extension = vtu [formcompiler] -numerical_jacobian = 0, 1 | expand num explicit_time_stepping = 0 yaspgrid_offset = 1 compare_l2errorsquared = 5e-4 # Only calculate error for the velocity part l2error_tree_path = 1, 1, 1, 0 +[formcompiler.mass] +numerical_jacobian = 0, 1 | expand num + +[formcompiler.r] +numerical_jacobian = 0, 1 | expand num + [instat] T = 1e-1 dt = 5e-2 diff --git a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.ufl b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.ufl index 87682197..f6e8752f 100644 --- a/test/navier-stokes/navierstokes_3d_dg_quadrilateral.ufl +++ b/test/navier-stokes/navierstokes_3d_dg_quadrilateral.ufl @@ -73,6 +73,5 @@ r = mu * inner(grad(u), grad(v))*dx \ # + p*inner(v, n)*ds \ # + q*inner(u-g_v, n)*ds -forms = [mass,r] interpolate_expression = g_v, g_p exact_solution = g_v, g_p \ No newline at end of file diff --git a/test/nonlinear/diffusivewave.mini b/test/nonlinear/diffusivewave.mini index 2f877983..c82f8ed2 100644 --- a/test/nonlinear/diffusivewave.mini +++ b/test/nonlinear/diffusivewave.mini @@ -14,5 +14,12 @@ dt = 0.001 T = 0.01 [formcompiler] +operators = mass, poisson + +[formcompiler.mass] +sumfact = 0, 1 | expand sf +fastdg = 0, 0 | expand sf + +[formcompiler.operator] sumfact = 0, 1 | expand sf -fastdg = 0, 0 | expand sf \ No newline at end of file +fastdg = 0, 0 | expand sf diff --git a/test/nonlinear/nonlinear_dg_matrix_free.mini b/test/nonlinear/nonlinear_dg_matrix_free.mini index 7b53a3a4..dfd4035d 100644 --- a/test/nonlinear/nonlinear_dg_matrix_free.mini +++ b/test/nonlinear/nonlinear_dg_matrix_free.mini @@ -13,7 +13,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 5e-3 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num matrix_free = 1 diff --git a/test/nonlinear/nonlinear_matrix_free.mini b/test/nonlinear/nonlinear_matrix_free.mini index fdef068b..0f28479d 100644 --- a/test/nonlinear/nonlinear_matrix_free.mini +++ b/test/nonlinear/nonlinear_matrix_free.mini @@ -13,6 +13,6 @@ extension = vtu [formcompiler] compare_l2errorsquared = 6e-4 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num matrix_free = 1 diff --git a/test/poisson/poisson.mini b/test/poisson/poisson.mini index a851012e..6fac6a11 100644 --- a/test/poisson/poisson.mini +++ b/test/poisson/poisson.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-7 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/poisson/poisson_dg.mini b/test/poisson/poisson_dg.mini index 5973973e..bb806382 100644 --- a/test/poisson/poisson_dg.mini +++ b/test/poisson/poisson_dg.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 9e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num \ No newline at end of file diff --git a/test/poisson/poisson_dg_matrix_free.mini b/test/poisson/poisson_dg_matrix_free.mini index ca1f1146..0d8d4cd6 100644 --- a/test/poisson/poisson_dg_matrix_free.mini +++ b/test/poisson/poisson_dg_matrix_free.mini @@ -14,6 +14,6 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-6 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num matrix_free = 1 \ No newline at end of file diff --git a/test/poisson/poisson_dg_neumann.mini b/test/poisson/poisson_dg_neumann.mini index f02d6c82..7d930fb9 100644 --- a/test/poisson/poisson_dg_neumann.mini +++ b/test/poisson/poisson_dg_neumann.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 9e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/poisson/poisson_dg_quadrilateral.mini b/test/poisson/poisson_dg_quadrilateral.mini index 2a3cef70..dde2e495 100644 --- a/test/poisson/poisson_dg_quadrilateral.mini +++ b/test/poisson/poisson_dg_quadrilateral.mini @@ -12,5 +12,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 7e-7 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/poisson/poisson_dg_tensor.mini b/test/poisson/poisson_dg_tensor.mini index 9db75ec7..d696cebc 100644 --- a/test/poisson/poisson_dg_tensor.mini +++ b/test/poisson/poisson_dg_tensor.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 4e-6 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num \ No newline at end of file diff --git a/test/poisson/poisson_matrix_free.mini b/test/poisson/poisson_matrix_free.mini index 8d0e9d1d..3372c8ac 100644 --- a/test/poisson/poisson_matrix_free.mini +++ b/test/poisson/poisson_matrix_free.mini @@ -13,5 +13,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-7 -[formcompiler.operator] +[formcompiler.r] matrix_free = 1 \ No newline at end of file diff --git a/test/poisson/poisson_neumann.mini b/test/poisson/poisson_neumann.mini index bf836b6f..76a1fa9e 100644 --- a/test/poisson/poisson_neumann.mini +++ b/test/poisson/poisson_neumann.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 8e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/poisson/poisson_tensor.mini b/test/poisson/poisson_tensor.mini index 11fe49af..ec4d2c31 100644 --- a/test/poisson/poisson_tensor.mini +++ b/test/poisson/poisson_tensor.mini @@ -14,5 +14,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-7 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num \ No newline at end of file diff --git a/test/stokes/stokes.mini b/test/stokes/stokes.mini index 61f68cf9..b281b6bb 100644 --- a/test/stokes/stokes.mini +++ b/test/stokes/stokes.mini @@ -15,5 +15,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-11 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_3d_dg_quadrilateral.mini b/test/stokes/stokes_3d_dg_quadrilateral.mini index a66a10cd..59396277 100644 --- a/test/stokes/stokes_3d_dg_quadrilateral.mini +++ b/test/stokes/stokes_3d_dg_quadrilateral.mini @@ -12,5 +12,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 6e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_3d_quadrilateral.mini b/test/stokes/stokes_3d_quadrilateral.mini index fb12e781..17f3d9f5 100644 --- a/test/stokes/stokes_3d_quadrilateral.mini +++ b/test/stokes/stokes_3d_quadrilateral.mini @@ -13,5 +13,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-10 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/stokes/stokes_dg.mini b/test/stokes/stokes_dg.mini index e09fdb1c..2fa0e00a 100644 --- a/test/stokes/stokes_dg.mini +++ b/test/stokes/stokes_dg.mini @@ -17,5 +17,5 @@ zeroThreshold.data_1 = 1e-6 [formcompiler] compare_l2errorsquared = 1e-9 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_dg_quadrilateral.mini b/test/stokes/stokes_dg_quadrilateral.mini index c89a5d3d..78954b12 100644 --- a/test/stokes/stokes_dg_quadrilateral.mini +++ b/test/stokes/stokes_dg_quadrilateral.mini @@ -12,5 +12,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/stokes/stokes_quadrilateral.mini b/test/stokes/stokes_quadrilateral.mini index bad65475..6ee36e82 100644 --- a/test/stokes/stokes_quadrilateral.mini +++ b/test/stokes/stokes_quadrilateral.mini @@ -13,5 +13,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-10 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/stokes/stokes_stress.mini b/test/stokes/stokes_stress.mini index 1ac9b06b..9663f5f1 100644 --- a/test/stokes/stokes_stress.mini +++ b/test/stokes/stokes_stress.mini @@ -17,5 +17,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-11 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1 diff --git a/test/stokes/stokes_stress_sym.mini b/test/stokes/stokes_stress_sym.mini index ec5f2a0d..9646ec08 100644 --- a/test/stokes/stokes_stress_sym.mini +++ b/test/stokes/stokes_stress_sym.mini @@ -15,5 +15,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-6 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1 diff --git a/test/stokes/stokes_sym.mini b/test/stokes/stokes_sym.mini index 5755676a..89dcee74 100644 --- a/test/stokes/stokes_sym.mini +++ b/test/stokes/stokes_sym.mini @@ -15,5 +15,5 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-10 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num diff --git a/test/sumfact/mass/mass.mini b/test/sumfact/mass/mass.mini index 8cb8cb8c..6b0e9db8 100644 --- a/test/sumfact/mass/mass.mini +++ b/test/sumfact/mass/mass.mini @@ -12,7 +12,7 @@ printmatrix = 1 name = {__name} extension = vtu -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num vectorization_quadloop = 1, 0 | expand vec sumfact = 1 diff --git a/test/sumfact/mass/mass_3d.mini b/test/sumfact/mass/mass_3d.mini index 1bde4e8c..fff87d11 100644 --- a/test/sumfact/mass/mass_3d.mini +++ b/test/sumfact/mass/mass_3d.mini @@ -13,7 +13,7 @@ printmatrix = true name = {__name} extension = vtu -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num vectorization_quadloop = 1, 0 | expand vec sumfact = 1 diff --git a/test/sumfact/mass/sliced.mini b/test/sumfact/mass/sliced.mini index 542548d7..17d33190 100644 --- a/test/sumfact/mass/sliced.mini +++ b/test/sumfact/mass/sliced.mini @@ -9,7 +9,7 @@ printmatrix = true name = {__name} extension = vtu -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1 vectorization_strategy = explicit vectorization_horizontal = 1 diff --git a/test/sumfact/poisson/diagonal.mini b/test/sumfact/poisson/diagonal.mini index 58abb8c6..298fadba 100644 --- a/test/sumfact/poisson/diagonal.mini +++ b/test/sumfact/poisson/diagonal.mini @@ -10,7 +10,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-5 -[formcompiler.operator] +[formcompiler.r] sumfact = 1 vectorization_quadloop = 1 vectorization_strategy = explicit diff --git a/test/sumfact/poisson/opcount_poisson_2d_order2.mini b/test/sumfact/poisson/opcount_poisson_2d_order2.mini index cc5de56f..538189b2 100644 --- a/test/sumfact/poisson/opcount_poisson_2d_order2.mini +++ b/test/sumfact/poisson/opcount_poisson_2d_order2.mini @@ -16,7 +16,7 @@ compare_l2errorsquared = 1e-8 opcounter = 1 instrumentation_level = 4 -[formcompiler.operator] +[formcompiler.r] sumfact = 1 [formcompiler.ufl_variants] diff --git a/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini b/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini index 02039a9f..b657c1a2 100644 --- a/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini +++ b/test/sumfact/poisson/opcount_sumfact_poisson_dg_2d_vec.mini @@ -13,7 +13,7 @@ extension = vtu opcounter = 1 instrumentation_level = 4 -[formcompiler.operator] +[formcompiler.r] sumfact = 1 [formcompiler.ufl_variants] diff --git a/test/sumfact/poisson/poisson_2d.mini b/test/sumfact/poisson/poisson_2d.mini index a079932b..d9ce1773 100644 --- a/test/sumfact/poisson/poisson_2d.mini +++ b/test/sumfact/poisson/poisson_2d.mini @@ -16,7 +16,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 4e-5, 4e-9 | expand deg -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num sumfact = 1 vectorization_strategy = explicit, none | expand grad diff --git a/test/sumfact/poisson/poisson_3d.mini b/test/sumfact/poisson/poisson_3d.mini index 31f556f5..e3e6da7d 100644 --- a/test/sumfact/poisson/poisson_3d.mini +++ b/test/sumfact/poisson/poisson_3d.mini @@ -17,7 +17,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4, 1e-8 | expand deg -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num sumfact = 1 vectorization_quadloop = 1, 0 | expand quad diff --git a/test/sumfact/poisson/poisson_dg_2d.mini b/test/sumfact/poisson/poisson_dg_2d.mini index 3b4fd9a5..d6799eac 100644 --- a/test/sumfact/poisson/poisson_dg_2d.mini +++ b/test/sumfact/poisson/poisson_dg_2d.mini @@ -16,7 +16,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 5e-5, 5e-7 | expand deg -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num sumfact = 1 vectorization_quadloop = 1, 0 | expand quad diff --git a/test/sumfact/poisson/poisson_dg_3d.mini b/test/sumfact/poisson/poisson_dg_3d.mini index 58410c45..f0b4ef26 100644 --- a/test/sumfact/poisson/poisson_dg_3d.mini +++ b/test/sumfact/poisson/poisson_dg_3d.mini @@ -16,7 +16,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4, 5e-6 | expand deg -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num sumfact = 1 vectorization_quadloop = 1, 0 | expand quad diff --git a/test/sumfact/poisson/poisson_dg_tensor.mini b/test/sumfact/poisson/poisson_dg_tensor.mini index aa485d22..f6884f96 100644 --- a/test/sumfact/poisson/poisson_dg_tensor.mini +++ b/test/sumfact/poisson/poisson_dg_tensor.mini @@ -14,7 +14,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 3e-4 -[formcompiler.operator] +[formcompiler.r] sumfact = 1 vectorization_quadloop = 1, 0 | expand quad vectorization_strategy = explicit, none | expand grad diff --git a/test/sumfact/poisson/poisson_fastdg_2d.mini b/test/sumfact/poisson/poisson_fastdg_2d.mini index abd5b214..53012e32 100644 --- a/test/sumfact/poisson/poisson_fastdg_2d.mini +++ b/test/sumfact/poisson/poisson_fastdg_2d.mini @@ -14,7 +14,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0 sumfact = 1 vectorization_quadloop = 1, 0 | expand quadvec diff --git a/test/sumfact/poisson/poisson_fastdg_3d.mini b/test/sumfact/poisson/poisson_fastdg_3d.mini index e58d0785..46552ce9 100644 --- a/test/sumfact/poisson/poisson_fastdg_3d.mini +++ b/test/sumfact/poisson/poisson_fastdg_3d.mini @@ -14,7 +14,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0 sumfact = 1 vectorization_quadloop = 1, 0 | expand quadvec diff --git a/test/sumfact/poisson/sliced.mini b/test/sumfact/poisson/sliced.mini index 26652161..55b6fcf7 100644 --- a/test/sumfact/poisson/sliced.mini +++ b/test/sumfact/poisson/sliced.mini @@ -10,7 +10,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-5 -[formcompiler.operator] +[formcompiler.r] sumfact = 1 vectorization_quadloop = 1 vectorization_strategy = explicit diff --git a/test/sumfact/stokes/stokes.mini b/test/sumfact/stokes/stokes.mini index 203e89e2..cfb89ec5 100644 --- a/test/sumfact/stokes/stokes.mini +++ b/test/sumfact/stokes/stokes.mini @@ -14,7 +14,7 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-12 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 1, 0 | expand num vectorization_quadloop = 1, 0 | expand quad sumfact = 1 diff --git a/test/sumfact/stokes/stokes_dg.mini b/test/sumfact/stokes/stokes_dg.mini index 9b5202a1..f34f2342 100644 --- a/test/sumfact/stokes/stokes_dg.mini +++ b/test/sumfact/stokes/stokes_dg.mini @@ -15,9 +15,9 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-8 -[formcompiler.operator] +[formcompiler.r] numerical_jacobian = 0, 1 | expand num sumfact = 1 fastdg = 1, 0 | expand fastdg -{formcompiler.operator.fastdg} == 1 and {formcompiler.numerical_jacobian} == 1 | exclude \ No newline at end of file +{formcompiler.r.fastdg} == 1 and {formcompiler.r.numerical_jacobian} == 1 | exclude \ No newline at end of file -- GitLab