[dune-fem] Fw: Aw: LocalEvaluation

Sahai, Amal sahai2 at illinois.edu
Wed Aug 30 15:31:33 CEST 2017


Hi Stefan

Thank you for your reply. A little more background on what I am currently doing:

1) I have tried using both the trunk and 2.5 version of DUNE.
2) I am a new user and have been looking at the tutorials for different modules to build up proficiency for DUNE.
3) The final objective is to implement a new WENO-based DG scheme that can be used to model hypersonic flows around blunt bodies.

I tried setting up a simple high speed inviscid flow around a blunt body by creating a new problem and tweaking the model in the euler directory for FEM-DG. The results obtained for this setup were unexpected (relatively inaccurate compared to what was obtained using some of the other codes I have access to). Subsequently, I went back to investigating some of the examples that were already included in DUNE-FEM-DG. I observed some aberrant behavior in both the trunk and 2.5 versions:

1) I get the right results (based on the eoc value) for Navier Stokes while running it on a single processor. Repeating this on multiple processors results in the code crashing (for both implicit and explicit time stepping).

2) The euler examples (I ran the smooth1d problem) work correctly (as typified by the eoc) again on a single processor. These simulations when performed in parallel on multiple processes result in a reduced eoc value (the solution appears different as well and definitely less accurate).

3) I have been unable to run adaptation in parallel (works only in serial).

I was wondering if you could give me access to a version of DUNE (FEM-DG and other modules) that been used for generating results for different publications on FEM-DG. I was hoping to start implementing new sub-algorithms / operators on top of a verified code base. Additionally, I am interested in repeating the supersonic forward facing step problem that you guys have looked into. Could I also get access to the mesh / problem / model files that would required for setting that up?

Thanks again for all your help.

Regards
Amal

________________________________________
From: dune-fem [dune-fem-bounces at lists.dune-project.org] on behalf of Stefan Wierling [Stefan.Girke at gmx.de]
Sent: Thursday, August 24, 2017 3:41 PM
To: dune-fem at lists.dune-project.org
Subject: [dune-fem] Fw: Aw:  LocalEvaluation

Gesendet: Donnerstag, 24. August 2017 um 19:53 Uhr
Von: "Stefan Wierling" <stefanwierling at gmx.de>
An: "Sahai, Amal" <sahai2 at illinois.edu>
Cc: "dune-fem at lists.dune-project.org" <dune-fem at lists.dune-project.org>
Betreff: Aw: [dune-fem] LocalEvaluation
Hi Amal,

the local evaluation issues can be found inside the file dune/fem-dg/pass/context.hh.

But the most important question for you is:
What is a local evaluation context and why do we use it?

The simplest local evaluation you can imagine is the evaluation of an n-dimensional quantity u in some local (quadrature point) x.
Thus, a local evaluation collects all information belonging to the quadrature point x and the "real" evaluation u(x) which is just a vector-like structure (or matrix...).

Ok, that is simple and we could have done this without templated functions:
The problem is, that some member functions need more local evaluations than just a simple u(x), maybe a jacobian of u(x) or some additional local data.
One simple example are some numerical fluxes for second order PDEs.

That means: By using templated member functions, we do not have to change interfaces (and in general we avoid long parameter lists in functions...).

Another issue is, that it is also possible to pass a set of local evaluations through this interface.
You should have a look at the discretemodelcaller class (esp. in trunk version). Here, all local evaluation contexts (belonging to an entity) are created.


The idea behind the local evaluation concept is (at least for the trunk version) also the combination of two different concepts used in Dune-Fem-DG:
1. The pass-concept which is used for matrix-free evaluations of the instationary examples (navierstokes, euler, advdiff)
2. The pass-less concept which is used for the stationary examles (stokes, poisson)


If you want some quick help, you can also write me directly (stefanwierling at gmx.de).
I do not check my university mail account every day at the moment!

Can you provide me some more information about your background, e.g.:
- What version are you using - the 2.4-release or the trunk version?
- What is your general Dune and Dune-Fem experience?
- What are your goals using Dune-Fem-Dg?

One note: There has been massive changes regarding the local evaluation context between 2.4 release and the trunk version.

I hope my explanation has answered your question.


Best regards
Stefan Wierling

Gesendet: Mittwoch, 23. August 2017 um 22:55 Uhr
Von: "Sahai, Amal" <sahai2 at illinois.edu>
An: "dune-fem at lists.dune-project.org" <dune-fem at lists.dune-project.org>
Betreff: [dune-fem] LocalEvaluation
I had a question regarding the template parameter LocalEvaluation that features in many of the functions in dune-fem-dg such as the following from discretemodelcommon.hh:

template <class LocalEvaluation>
double boundaryFlux(const LocalEvaluation& left,
RangeType& gLeft,
JacobianRangeType& gDiffLeft ) const /*@LST0E@*/


template <class LocalEvaluation>
double numericalFlux(const LocalEvaluation& left,
const LocalEvaluation& right,
RangeType& gLeft,
RangeType& gRight,
JacobianRangeType& gDiffLeft,
JacobianRangeType& gDiffRight ) const

What kind of structure/class is LocaEvaluation and where is it defined?

Regards
Amal
_______________________________________________
dune-fem mailing list
dune-fem at lists.dune-project.org
http://lists.dune-project.org/mailman/listinfo/dune-fem<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.dune-2Dproject.org_mailman_listinfo_dune-2Dfem&d=DwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=k2IW9TfcaBwXdvIeqYSOuanByCf5Gi0v59Oizhlgm30&m=hZy2jT8EBVHo1bfunn_IuN_5M0aevzxmjzmNN8LgebE&s=OOiJJBy6X-QMTtK4yJIJukLiXW2EPveXT8Xd30vDVME&e=>






More information about the dune-fem mailing list