Time discretization schemes

General discussion about Elmer
Post Reply
asandip
Posts: 91
Joined: 09 May 2019, 22:06
Antispam: Yes

Time discretization schemes

Post by asandip » 08 Jul 2020, 23:18

Are all the time discretization schemes implemented in Elmer FEM semi-implicit? Also, where can I find the list of time discretization schemes available in Elmer FEM?

I reviewed TimeIntegrators.F90 code in the src folder as well as Chapter 6/Time discretization in Elmer Solver manual.

Thanks for any formation you can provide.

mika
Posts: 155
Joined: 15 Sep 2009, 07:44

Re: Time discretization schemes

Post by mika » 10 Jul 2020, 15:14

Hi,

Unfortunately the documentation of the time stepping algorithms is not fully up to date. It seems that there are some options which are not mentioned in the documentation, so a documentation update would be needed. These include at least some Runge-Kutta methods and a fractional step method. I don't know much about these undocumented options as I haven't used them myself.

Whether one gets a fully implicit or semi-implicit algorithm may depend on how the different iteration controls of the solver are used. Usually fully implicit time stepping is employed by seeking an accurate nonlinear solution before proceeding to the next time step. However, it seems that the Runge-Kutta methods of Elmer can be explicit. In addition, as far as I understand, the predictor-corrector scheme can be defined to combine explicit and semi-implicit schemes.

-- Mika

asandip
Posts: 91
Joined: 09 May 2019, 22:06
Antispam: Yes

Re: Time discretization schemes

Post by asandip » 12 Jul 2020, 04:23

Thank you for the information. Is the documentation that you are referring to - Chapter 6/Elmer Solver Manual?

I am assuming the schemes that are not in the documentation are implemented in the source code. Would that code be TimeIntegrate.F90? If yes, then would the schemes listed in that code be a comprehensive list?

mika
Posts: 155
Joined: 15 Sep 2009, 07:44

Re: Time discretization schemes

Post by mika » 13 Jul 2020, 09:58

asandip wrote:
12 Jul 2020, 04:23
Is the documentation that you are referring to - Chapter 6/Elmer Solver Manual?
Yes
asandip wrote:
12 Jul 2020, 04:23
Would that code be TimeIntegrate.F90?
Yes, this is the common place for time stepping subroutines. The subroutine names used there are quite descriptive:

Code: Select all

  SUBROUTINE RungeKutta
   SUBROUTINE NewmarkBeta
   SUBROUTINE AdamsBashforth
   SUBROUTINE AdamsMoulton
   SUBROUTINE BDFLocal
   SUBROUTINE VBDFLocal
   SUBROUTINE Bossak2ndOrder
   SUBROUTINE FractionalStep
   SUBROUTINE Newmark2ndOrder
   SUBROUTINE RungeKutta_CRS
   SUBROUTINE NewmarkBeta_CRS
   SUBROUTINE BDF_CRS
   SUBROUTINE VBDF_CRS
   SUBROUTINE FractionalStep_CRS
However, the subroutine Newmark2ndOrder seems to be a nonactive option since it is not called anywhere in the code.

-- Mika

Post Reply