diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py index 2823f9447c18fd6ffca95ab2156ff7764b9f0162..cb786db5ed2ad1e87cf8f68ce002479d67a26751 100644 --- a/python/dune/perftool/pdelab/driver.py +++ b/python/dune/perftool/pdelab/driver.py @@ -1328,7 +1328,7 @@ def visualize_initial_condition(): @preamble -def implicit_time_loop(): +def time_loop(): ini = name_initree() formdata = _driver_data['formdata'] params = name_parameters(formdata) @@ -1340,7 +1340,7 @@ def implicit_time_loop(): vector_type = type_vector(formdata) vector = name_vector(formdata) - # TODO -> formcompiler argument + # Choose between explicit and implicit time stepping explicit = get_option('explicit_time_stepping') if explicit: osm = name_explicitonestepmethod() @@ -1349,6 +1349,8 @@ def implicit_time_loop(): boundary = name_boundary_function(expr) osm = name_onestepmethod() apply_call = "{}.apply(time, dt, {}, {}, {}new);".format(osm, vector, boundary, vector) + + # Setup visualization visualize_initial_condition() vtk_sequence_writer = name_vtk_sequence_writer() @@ -1374,7 +1376,7 @@ def implicit_time_loop(): ""] -def time_loop(): +def solve_instationary(): # Test if form is linear in ansatzfunction linear = is_linear(_driver_data['form']) @@ -1385,7 +1387,7 @@ def time_loop(): if linear and matrix_free: assert False elif linear and not matrix_free: - implicit_time_loop() + time_loop() if not linear and matrix_free: assert False elif not linear and not matrix_free: @@ -1413,7 +1415,7 @@ def generate_driver(formdatas, data): if is_stationary(): vtkoutput() else: - time_loop() + solve_instationary() from dune.perftool.generation import retrieve_cache_items from cgen import FunctionDeclaration, FunctionBody, Block, Value