Fortran-FOSS-Programmers / Fortran-FOSS-Programmers/FOODIE
Support for implicit methods
- Dominant language
- Fortran
- Stars
- 132
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Description
FOODiE currently supports only explicit integration methods, i.e. methods that compute the solution at a future time based on the state at present and/or past times. Implicit methods require a guess of the state at a future time to obtain a more accurate solution. They are useful for some families of problems and in some cases may allow unconditionally stable integration with arbitrarily large time steps, at the expense of accuracy.
I believe that it is essential for FOODiE to include these methods, such as 1st order backward Euler, 2nd order trapezoidal, Adams-Moulton family of methods, Adams-Bashforth-Moulton etc.
Implicit solvers require evaluating the residual function `R` at time step `n+1`. This is usually done by a combination of initial guess and iterative procedure like Newton-Raphson iteration or similar. FOODiE should provide such methods for obtaining `R` at time step `n+1`. Once they are in place, implementation of the above-mentioned implicit methods should be trivial.
This issue aims to spark discussion on:
- How to implement evaluation of `R(n+1)` in FOODiE?
- What implicit methods do we want?
- Any other implementation / API suggestions.
Contributor guide
Research direction
Start by reviewing FOODiE’s existing explicit integration methods and how residual evaluation is represented. The issue requires deciding how to evaluate R(n+1), which implicit methods and APIs to support, and how Newton-Raphson or a similar iteration fits in. Done requires an agreed design and implementation plan before the individual methods can be added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100