diff --git a/python/dune/codegen/pdelab/argument.py b/python/dune/codegen/pdelab/argument.py index 5124c77608fa78fe1ea5f72a75cc7c097ef178d9..dc1acd660c137c42be6fb65bb687bafe03fbc730 100644 --- a/python/dune/codegen/pdelab/argument.py +++ b/python/dune/codegen/pdelab/argument.py @@ -117,6 +117,10 @@ def type_coefficientcontainer(): return "X" +def type_linearizationpointcontainer(): + return "Z" + + def name_jacobian(restriction1, restriction2): # Restrictions may only differ if NONE if (restriction1 == Restriction.NONE) or (restriction2 == Restriction.NONE): diff --git a/python/dune/codegen/pdelab/signatures.py b/python/dune/codegen/pdelab/signatures.py index 09b832ac252138181d8be19c9fd4c098b5bb9b68..34acea22ea1fda1b8369bf499d7ce8ed0c37859d 100644 --- a/python/dune/codegen/pdelab/signatures.py +++ b/python/dune/codegen/pdelab/signatures.py @@ -9,6 +9,7 @@ from dune.codegen.pdelab.argument import (name_accumulation_variable, name_coefficientcontainer, type_coefficientcontainer, name_applycontainer, + type_linearizationpointcontainer, ) from dune.codegen.pdelab.spaces import (name_testfunctionspace, type_testfunctionspace, @@ -293,8 +294,9 @@ def nonlinear_jacobian_apply_volume_templates(): lfsut = type_trialfunctionspace() lfsvt = type_testfunctionspace() cct = type_coefficientcontainer() + lpt = type_linearizationpointcontainer() avt = type_accumulation_variable() - return (geot, lfsut, cct, cct, lfsvt, avt) + return (geot, lfsut, cct, lpt, lfsvt, avt) def nonlinear_jacobian_apply_volume_args(): @@ -312,8 +314,9 @@ def nonlinear_jacobian_apply_boundary_templates(): lfsut = type_trialfunctionspace() lfsvt = type_testfunctionspace() cct = type_coefficientcontainer() + lpt = type_linearizationpointcontainer() avt = type_accumulation_variable() - return (geot, lfsut, cct, cct, lfsvt, avt) + return (geot, lfsut, cct, lpt, lfsvt, avt) def nonlinear_jacobian_apply_boundary_args(): @@ -331,8 +334,9 @@ def nonlinear_jacobian_apply_skeleton_templates(): lfsut = type_trialfunctionspace() lfsvt = type_testfunctionspace() cct = type_coefficientcontainer() + lpt = type_linearizationpointcontainer() avt = type_accumulation_variable() - return (geot, lfsut, cct, cct, lfsvt, lfsut, cct, cct, lfsvt, avt, avt) + return (geot, lfsut, cct, lpt, lfsvt, lfsut, cct, lpt, lfsvt, avt, avt) def nonlinear_jacobian_apply_skeleton_args():