diff --git a/python/dune/codegen/options.py b/python/dune/codegen/options.py index a4f65ce476fe2f610135234fb8d5a16b97401dec..0161d586e4e1f61548c95e59e08b1e19b51ec3ad 100644 --- a/python/dune/codegen/options.py +++ b/python/dune/codegen/options.py @@ -49,6 +49,7 @@ class CodegenGlobalOptionsArray(ImmutableRecord): architecture = CodegenOption(default="haswell", helpstr="The architecture to optimize for. Possible values: haswell|knl|skylake") yaspgrid_offset = CodegenOption(default=False, helpstr="Set to true if you want a yasp grid where the lower left corner is not in the origin.") grid_unstructured = CodegenOption(default=False, helpstr="Set to true if you want to use an unstructured grid.") + grid_consistent = CodegenOption(default=False, helpstr="The used grid is already consistent.") precision_bits = CodegenOption(default=64, helpstr="The number of bits for the floating point type") overlapping = CodegenOption(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 = CodegenOption(default="r", helpstr="A comma separated list of operators, each name will be interpreted as a subsection name within the formcompiler section") diff --git a/python/dune/codegen/pdelab/driver/gridfunctionspace.py b/python/dune/codegen/pdelab/driver/gridfunctionspace.py index 377b304b03499aa3c109390cf72f4af0f6327e9b..9aad1d5e6096c9d1735790badd63824f24026d42 100644 --- a/python/dune/codegen/pdelab/driver/gridfunctionspace.py +++ b/python/dune/codegen/pdelab/driver/gridfunctionspace.py @@ -82,7 +82,8 @@ def define_grid(name): _type = type_grid() # TODO: In principle this is only necessary if we use sum factorization in # one of the operators. So this could be turned off if that is not the case. - if isQuadrilateral(get_trial_element().cell()) and get_option("grid_unstructured"): + if isQuadrilateral(get_trial_element().cell()) and get_option("grid_unstructured") and not \ + get_option("grid_consistent"): include_file("dune/consistent-edge-orientation/createconsistentgrid.hh", filetag="driver") return ["IniGridFactory<{}> factory({});".format(_type, ini), "std::shared_ptr<{}> grid_nonconsistent = factory.getGrid();".format(_type),