Adding/loading new Finite element

I am trying to implement a new finite Element. But I actually don’t get how to load this with the dynamical link. I already read the documentation a couple of times and I am using windows. The example load.edp works. Where or what do I need to change to be able to just load my new FE?
Thank you very much for help

first test if you are able to use the dynamic loading copy plugin/seq/myfunction2.cpp in other place in


try to compile with to build the dll
ff-c++ mf3.cpp
copy mf3.dll in the FreeFem++ directory may be need administrator privilege
cp examples/plugin/myfunction2.edp in mf3.edp
change load “myfunction2” in load “mf3”
and test the example

If it run, all you installation is OK for build you new finite element

add a the end of the source in 2D

  static TypeOfFE_TD_NNS0 Elm_TD_NNS;
  static AddNewFE FE__TD_NNS("TDNNS0", &Elm_TD_NNS);

or in 3d

 // add new FEs for DDM to build the partition of unity
  static TypeOfFE_P2Edge3ds0 Elm_P2Edge3ds0;
  // a static variable to add the finite element to freefem++
  static AddNewFE3 P2Edge3ds0("Edge23ds0", &Elm_P2Edge3ds0);

1 Like

Thank you very much.

It actually does ask for the administrator privilege to copy the dll file into the FreeFem++ directory. Is there any way I can still ad my custom FE to FreeFem++?

ON way is to copy all the freefem directory in place where you have right, and change you PATH to use this freefem.

Thank you so much! I really appreciate your help!

So now I got a new error while compiling from .cpp to .dll in Cygwin. It tells me:
/cygdrive/c/Program Files (x86)/FreeFem++/include/VirtualSolverSparseSuite.hpp:10:10: fatal error: umfpack.h: No such file or directory
10 | #include <umfpack.h>
| ^~~~~~~~~~~
compilation terminated.

What did I do wrong now?