Hi all,
here is a patch to avoid inverse maps on sides reinit.
I hope that the main developers will consider it and
have some time to give it a look since it might break a lot of code...
The major changes are in FEBoundary and FEBase,
I also added the implementation files so that you can easily vimdiff.
FEBase::last_side,last_edge are now the type of the side and not the side
number.
I think that it is safe to call
FE::init_face_shape_functions (qrule->get_points(), side.get())
only if the type of the side is different but I might be wrong...
In FEBase I added a method that returns the nodes coordinates for reference
frame elements.
This method could also be used to speed-up the solution output when using
reference frame finite elements.
I did it based on FEBase::on_reference_element()
would you please check that everything is correct. This kind of coding is
error-prone and I'm not sure about the PIRAMID5.
In dbg mode a warning says that the parameter tolerance of the method reinit is
not used.
The examples seems to run fine.
For dG discretizations on 3D linear meshes the time required for shape
computations on sides is reduces by 1/3.
On second order meshes higher gains are to be expected and false negative
Jacobians can be totally avoided.
Many thanks.
Lorenzo
------------------------------------------------------------------------------
Got Input? Slashdot Needs You.
Take our quick survey online. Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users