dune-fempy issueshttps://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues2023-05-03T13:07:13Zhttps://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/33add a cmake target to build model files2023-05-03T13:07:13ZAndreas Dedneradd a cmake target to build model filesWould be nice to be able to write something like
fempy_make_model("modelfile.py")
and have cmake generate the model.hh file in the build directory.Would be nice to be able to write something like
fempy_make_model("modelfile.py")
and have cmake generate the model.hh file in the build directory.Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/32filtered gridview2023-01-19T18:45:10ZAndreas Dednerfiltered gridviewShould the default for the useFilteredIndexSet parameter
be True because people expect the gridview to behave that way?Should the default for the useFilteredIndexSet parameter
be True because people expect the gridview to behave that way?Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/12ufl localfunctions2023-01-19T18:44:07ZAndreas Dednerufl localfunctionsfor the hash code the generated code is used instead of the ufl expression. Even when running the same script twice the code is not always the same leading to recompilation. The difference is in the using std:: directives added in the ev...for the hash code the generated code is used instead of the ufl expression. Even when running the same script twice the code is not always the same leading to recompilation. The difference is in the using std:: directives added in the evaluate/jacobian method.Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/23issue with entity method on VirtualizedLF2019-02-23T23:09:54ZAndreas Dednerissue with entity method on VirtualizedLFCalling localfunction(entity).entity() causes a seg fault.
Can be tested by changing the interpolation in dune-vem:
--- a/dune/vem/space/interpolate.hh
+++ b/dune/vem/space/interpolate.hh
@@ -43,6 +43,7 @@ namespace Dune
fo...Calling localfunction(entity).entity() causes a seg fault.
Can be tested by changing the interpolation in dune-vem:
--- a/dune/vem/space/interpolate.hh
+++ b/dune/vem/space/interpolate.hh
@@ -43,6 +43,7 @@ namespace Dune
for( const ElementSeedType &entitySeed : entitySeeds[ agglomerate ] )
{
const auto &element = v.gridPart().entity( entitySeed );
interpolation( element, u.localFunction( element ), ldv );
+ // interpolation( u.localFunction( element ), ldv );
}
v.setLocalDofs( v.gridPart().entity( entitySeeds[ agglomerate ].front() ), ldv );
diff --git a/dune/vem/space/interpolation.hh b/dune/vem/space/interpolation.hh
index 8367d22..3adc4b1 100644
--- a/dune/vem/space/interpolation.hh
+++ b/dune/vem/space/interpolation.hh
@@ -38,9 +38,11 @@ namespace Dune
{}
template< class LocalFunction, class LocalDofVector >
- void operator() ( const LocalFunction &localFunction, LocalDofVector &localDofVector ) const
+ void operator() ( const ElementType &element, const LocalFunction &localFunction, LocalDofVector &localD
{
- const ElementType &element = localFunction.entity();
+ // void operator() ( const LocalFunction &localFunction, LocalDofVector &localDofVector ) const
+ // {
+ // const ElementType &element = localFunction.entity();Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/31prolong/restirct should only be used with adaptivedf2019-02-23T23:08:31ZAndreas Dednerprolong/restirct should only be used with adaptivedfThe user should get a NotImplemented exception when trying to prolong/restrict discrete functions other then AdaptiveDFsThe user should get a NotImplemented exception when trying to prolong/restrict discrete functions other then AdaptiveDFsRelease 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/34virtualization of local function adapter fails2019-02-23T22:37:36ZAndreas Dednervirtualization of local function adapter failsThere is a segmentation fault when one tries to plug a "localfunction" object as coefficient into a model. This is caused by the clone in the VirtualizedLocalFunction and some memory corruption in the local function adapter class.
Exampl...There is a segmentation fault when one tries to plug a "localfunction" object as coefficient into a model. This is caused by the clone in the VirtualizedLocalFunction and some memory corruption in the local function adapter class.
Example code:
```
import math, dune.fem, ufl, dune.ufl
import dune.create as create
grid = create.grid("ALUConform", dune.grid.cartesianDomain([0,0],[1,1],[16,16]), dimgrid=2)
# two grid functions to use as coefficients
coeffFunc = create.function("global", grid, "global_velocity", 0, lambda x: [2])
x = ufl.SpatialCoordinate(ufl.triangle)
funcUFL = create.function("ufl", grid, "ufl", 1, ufl.as_vector([ x[0] ]) )
# set up a local function with a coefficient
# version 1 (this one is fine)
expr1 = ufl.as_vector([ x[1]*coeffFunc[0] ])
funcUFL1 = create.function("ufl", grid, "ufl1", 1, expr1)
# verseion 2 (this one seg faults)
expr2 = ufl.as_vector([ x[1]*funcUFL[0] ])
funcUFL2 = create.function("ufl", grid, "ufl1", 1, expr2)
for e in grid.elements():
print( funcUFL1.localFunction(e).evaluate([0,0]) )
# print( funcUFL2.localFunction(e).evaluate([0,0]) ) # seg faults
```Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/27problem with binding return of scheme.solve to _2018-09-13T09:15:21ZAndreas Dednerproblem with binding return of scheme.solve to _See
commit 1f6fdff8b14b5f38df58a5e95ec8b7e3a28cc7a6
Author: dedner <a.s.dedner@warwick.ac.uk>
Date: Wed Nov 9 11:13:57 2016 +0000
there is a bug in the solve method:
_,info = scheme.solve(target=uh)
for example in laplace...See
commit 1f6fdff8b14b5f38df58a5e95ec8b7e3a28cc7a6
Author: dedner <a.s.dedner@warwick.ac.uk>
Date: Wed Nov 9 11:13:57 2016 +0000
there is a bug in the solve method:
_,info = scheme.solve(target=uh)
for example in laplace-jupyter.ipynb
leads to a seg fault (sometimes). The following on the other hand works
uh,info = scheme.solve(target=uh)Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/26error with grid functions guessing dimRange2018-09-13T09:11:58ZLloyd Connellanerror with grid functions guessing dimRangeSee example: [example.py](/uploads/80782b34ff4e374eb55b6fbfdceb7823/example.py).
When the dimRange of a function is not given, it is guessed by putting in a dummy x and looking at the length of the return value (see dune/fempy/py/grid/f...See example: [example.py](/uploads/80782b34ff4e374eb55b6fbfdceb7823/example.py).
When the dimRange of a function is not given, it is guessed by putting in a dummy x and looking at the length of the return value (see dune/fempy/py/grid/function.hh:249). By default x == 0, which can cause python to give a dividing by zero error (seems to affect only python3.5, not python2.7). This error should either be ignored, or have some way for C++ to process this error properly, so the user knows to pass in the dimRange instead.Release 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/22dirichlet data missing in ufl model hash key2018-09-10T17:57:27ZAndreas Dednerdirichlet data missing in ufl model hash keyRelease 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/28grid attribute not working2018-09-10T17:50:25ZAndreas Dednergrid attribute not workingChanging for exampe plot(grid,solution) to plot(solution) and calling
grid = solution.grid (or solution.space.grid)
failsChanging for exampe plot(grid,solution) to plot(solution) and calling
grid = solution.grid (or solution.space.grid)
failsRelease 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/29ellipticModel with general b.c.2018-09-10T17:48:54ZAndreas DednerellipticModel with general b.c.We need a test for mixed type b.c. - specially partly defined: for example square domain with
Gamma_0 = Robin Gamma_1 = Dirichlet Gamma_2 = Neuman Gamma_3 = natural
possibly non linear.
We need an approach to define the different pa...We need a test for mixed type b.c. - specially partly defined: for example square domain with
Gamma_0 = Robin Gamma_1 = Dirichlet Gamma_2 = Neuman Gamma_3 = natural
possibly non linear.
We need an approach to define the different parts of the boundary for Robin/NeumanRelease 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/16add skeletons to models2017-10-07T15:23:36ZAndreas Dedneradd skeletons to modelsNeed to extend the DiffusionModel to include skeleton termsNeed to extend the DiffusionModel to include skeleton termsRelease 2.5Martin NolteMartin Noltehttps://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/19dune-vem2017-10-07T15:23:36ZAndreas Dednerdune-vemAdd python support for dune-vem for showcasing dune-fempyAdd python support for dune-vem for showcasing dune-fempyRelease 2.5Andreas DednerAndreas Dednerhttps://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/20solver informaton2017-10-07T15:23:35ZAndreas Dednersolver informatonImplement some approach to access information like number of iteration etc. from pythonImplement some approach to access information like number of iteration etc. from pythonRelease 2.5https://gitlab.dune-project.org/dune-fem/dune-fempy/-/issues/21add storage to space2017-10-07T15:23:35ZAndreas Dedneradd storage to spaceAdd the storage to the discrete space and remove it from the scheme.
~~~
create.discretefunction
~~~
is then not needed any more.
~~~
create.function("discrete",space,name)
~~~
can be used instead but in practice space.interpo...Add the storage to the discrete space and remove it from the scheme.
~~~
create.discretefunction
~~~
is then not needed any more.
~~~
create.function("discrete",space,name)
~~~
can be used instead but in practice space.interpolate and df.copy should be used. We could remove space.interpolate and offer
~~~
create.function("discrete",space,name,expr)
~~~
instead. Another approach would be to remove create.function altogether and have one free standing gridFunction method, e.g.,
~~~
gf = fem.gridFunction(grid,name,order,expr)
df = fem.gridFunction(space,name,expr)
~~~
Depending on the type of expr the different available versions are used:
~~~
expr = string: use code
expr = ufl: use ufl
expr = expr(x): use global
expr = expr(en,x): use local
~~~
Release 2.5