grinsfem / grins

Multiphysics Finite Element package built on libMesh
http://grinsfem.github.io
Other
47 stars 39 forks source link

Add Physics::presolve() API #582

Closed pbauman closed 5 years ago

pbauman commented 5 years ago

Adds the Physics::presolve() API that is a cousin of Physics::preassembly(). While Physics::preassembly() will be called at each assembly call in each Newton iteration, Physics::presolve() is only called once before each nonlinear solve. We'll use this API with the immersed boundary stuff Coming Soon(TM) (for the semi-implicit version, while preassembly is used for the fully implicit version).

While I was in MultiphysicsSystem, I went ahead and did a sweep of C++11 isms in that file in that last commit in this PR. Net (-50) lines in that commit and (-20) in this PR so I'll take it.