Skip to content
Snippets Groups Projects
Commit ee199813 authored by Dominic Kempf's avatar Dominic Kempf
Browse files

Some changes to make the thing compile (but not yet run)

parent 9dd0d75c
No related branches found
No related tags found
No related merge requests found
......@@ -19,8 +19,8 @@ def include_file(include, filetag=None):
def initializer_list(obj, params, classtag=None):
assert classtag
gen = generator_factory(item_tags=(classtag, "initializer"), counted=True, cache_key_generator=lambda *a: a[0])
return "{}({})".format(obj, ", ".join(params))
gen = generator_factory(item_tags=(classtag, "initializer"), counted=True, no_deco=True, cache_key_generator=lambda *a: a[0])
return gen("{}({})".format(obj, ", ".join(params)))
def base_class(baseclass, classtag=None, access=AccessModifier.PUBLIC, construction=[]):
......@@ -48,5 +48,6 @@ def constructor_parameter(_type, name, classtag=None, constructortag=None):
assert constructortag
from cgen import Value
gen = generator_factory(item_tags=(classtag, constructortag, "constructor", "parameter"), counted=True, no_deco=True)
gen = generator_factory(item_tags=(classtag, constructortag, "constructor_param"), counted=True, no_deco=True)
return gen(Value(_type, name))
......@@ -154,11 +154,11 @@ def transform_accumulation_term(term):
from dune.perftool.pdelab.quadrature import name_factor
factor = name_factor()
instruction(code="{}.accumulate({}, {}*{})".format(residual,
", ".join(accumargs),
expr_tv_name,
factor,
),
instruction(code="{}.accumulate({}, {}*{});".format(residual,
", ".join(accumargs),
expr_tv_name,
factor,
),
assignees=frozenset({residual}),
read_variables=frozenset({residual, factor, expr_tv_name}),
forced_iname_deps=acc_inames,
......
......@@ -251,8 +251,8 @@ def name_fem(expr):
@preamble
def typedef_vectorbackend(name):
include_file("dune/pdelab/backend/istlvectorbackend.hh", filetag="driver")
return "typedef Dune::PDELab::ISTLVectorBackend<Dune::PDELab::ISTLParameters::no_blocking, 1> {};".format(name)
include_file("dune/pdelab/backend/istl.hh", filetag="driver")
return "typedef Dune::PDELab::istl::VectorBackend<Dune::PDELab::istl::Blocking::none, 1> {};".format(name)
@symbol
......@@ -376,7 +376,7 @@ def define_dofestimate(name):
gfs = name_gfs(_form.coefficients()[0].element())
ini = name_initree()
return ["int generic_dof_estimate = {} * {}.maxLocalSize();".format(geo_factor, gfs),
"int dof_estimate = {}.get<int>(\"istl.number_of_nnz\", generic_dof_estimate);".format(ini)]
"int {} = {}.get<int>(\"istl.number_of_nnz\", generic_dof_estimate);".format(name, ini)]
@symbol
......@@ -387,7 +387,7 @@ def name_dofestimate():
@preamble
def typedef_matrixbackend(name):
include_file("dune/pdelab/backend/istl/bcrsmatrixbackend.hh", filetag="driver")
include_file("dune/pdelab/backend/istl.hh", filetag="driver")
return "typedef Dune::PDELab::istl::BCRSMatrixBackend<> {};".format(name)
......@@ -453,8 +453,9 @@ def type_localoperator():
def define_localoperator(name):
loptype = type_localoperator()
ini = name_initree()
params = name_parameters()
return "{} {}({}, {});".format(loptype, name, ini, params)
# params = name_parameters()
# return "{} {}({}, {});".format(loptype, name, ini, params)
return "{} {}({});".format(loptype, name, ini)
@symbol
......@@ -528,7 +529,7 @@ def name_vector():
@preamble
def typedef_linearsolver(name):
include_file("dune/pdelab/backend/istlsolverbackend.hh", filetag="driver")
include_file("dune/pdelab/backend/istl.hh", filetag="driver")
return "typedef Dune::PDELab::ISTLBackend_SEQ_UMFPack {};".format(name)
......@@ -562,13 +563,13 @@ def name_reduction():
return "reduction"
@symbol
@preamble
def typedef_stationarylinearproblemsolver(name):
include_file("dune/pdelab/stationary/linearproblem.hh", filetag="driver")
gotype = type_gridoperator()
lstype = type_linearsolver()
xtype = type_vector()
return "typedef Dune::PDELab::StationaryLinearProblemSolver<{}, {}, {}> {}".format(gotype, lstype, xtype, name)
return "typedef Dune::PDELab::StationaryLinearProblemSolver<{}, {}, {}> {};".format(gotype, lstype, xtype, name)
@symbol
......
......@@ -50,10 +50,10 @@ def measure_specific_details(measure):
base_class('Dune::PDELab::FullVolumePattern', classtag="operator")
numerical_jacobian("Volume")
ret["residual_signature"] = ['template<typename EG, typename LFSV0, typename X, typename LFSV1, typename R>',
'void alpha_volume(const EG& eg, const LFSV0& lfsv0, const X& x, const LFSV1& lfsv1, R& r) const']
ret["jacobian_signature"] = ['template<typename EG, typename LFSV0, typename X, typename LFSV1, typename J>',
'void jacobian_volume(const EG& eg, const LFSV0& lfsv0, const X& x, const LFSV1& lfsv1, J& jac) const']
ret["residual_signature"] = ['template<typename EG, typename LFSU, typename X, typename LFSV, typename R>',
'void alpha_volume(const EG& eg, const LFSU& lfsu, const X& x, const LFSV& lfsv, R& r) const']
ret["jacobian_signature"] = ['template<typename EG, typename LFSU, typename X, typename LFSV, typename J>',
'void jacobian_volume(const EG& eg, const LFSU& lfsu, const X& x, const LFSV& lfsv, J& jac) const']
if measure == "exterior_facet":
base_class('Dune::PDELab::FullBoundaryPattern', classtag="operator")
......
add_generated_executable(UFLFILE ../examples/laplace.ufl
TARGET laplace
# FORM_COMPILER_ARGS --numerical-jacobian
FORM_COMPILER_ARGS --numerical-jacobian
)
dune_add_system_test(TARGET laplace
......
__name = laplace
lowerleft = 0.0 0.0
upperright = 1.0 1.0
elements = 4 4
elementType = simplical
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment