Sorry for the slow reply here.

On Wed, Aug 31, 2016 at 8:49 AM, Julian Andrej <j...@tf.uni-kiel.de> wrote:

> I have looked into that a bit more today and it seems there is
> everything we need available (finally). Then i'd have another question
> regarding the use of FEMSystem. What would be the actual use case of
> choosing FEMSystem vs. the approach in most examples? I have used the
> normal example approach because my projects were pretty much just "a
> single usecase". Our specific approach would be to have one physics
> model and then test and combine different algorithms from variying
> research fields (model order reduction / control theory) on that, so
> we would interact with the RHS and Jacobian matrices a lot (thats the
> reason we want to access the raw PETSc objects).


FEMSystem automates things like the element loop, assembly into the global
solution and Jacobian objects, etc. so that the user only has to supply
element level evaluations of the residual and Jacobian. Further, it
abstracts away things like the nonlinear solver (DiffSolver) and the time
stepping schemes (TimeSolver) to be able to modify those independently of
the "Physics" that you're using. So, the trade-off is there's more
infrastructure to help get you going, but perhaps requires more/different
work if you want more flexibility, e.g. if you want to muck with the
solver, you'd have to subclass DiffSolver to implement your own thing.

Just FYI, the GRINS code (https://grinsfem.github.io) that Roy and I
develop/use (but any of the bad design decisions are my fault) is built
around FEMSystem; Roy and I have a paper on this in press in SISC.
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to