ExtremeFLOW / neko

/ᐠ. 。.ᐟ\ᵐᵉᵒʷˎˊ˗
https://neko.cfd/
Other
158 stars 27 forks source link

The OIFS Scheme #1306

Open Kamyarmvn opened 2 weeks ago

Kamyarmvn commented 2 weeks ago

Added the OIFS time scheme functionality.

njansson commented 2 weeks ago

@timfelle Any ideas why the CICD fails, despite this having a fresh sync with develop

timfelle commented 2 weeks ago

@timfelle Any ideas why the CICD fails, despite this having a fresh sync with develop

The error message indicate that two if statements are present in the same step. I think there might have been an issue with the automatic merger. Stand by.

Update: see PR #1307

njansson commented 2 weeks ago

@Kamyarmvn can you please merge with the latest develop such that CI tests will run properly

Kamyarmvn commented 2 weeks ago

@Kamyarmvn can you please merge with the latest develop such that CI tests will run properly

I will try again.

For the issue of if statement in the fluid_pnpn step subroutine, one solution seems to be using a wrapper for the advection and make_rhs derived types, initilized based on the method and then called in the step subroutine.

timfelle commented 2 weeks ago

Device codes are failing since the .depends_device file was not updated with the new header dependencies.

Kamyarmvn commented 2 weeks ago

I'm sorry for the inconvenience. the .depends_device is updated now with the new dependencies.

timfelle commented 2 weeks ago

please add the device kernel headers to the extra_dist list in the Makefile.am That might help the compilers to find the new kernels.

PS. I know its a lot of manual management of the build system 🙈

Kamyarmvn commented 2 weeks ago

I will remove the code related to the device at this stage and add the device codes later.

njansson commented 2 weeks ago

please add the device kernel headers to the extra_dist list in the Makefile.am That might help the compilers to find the new kernels.

PS. I know its a lot of manual management of the build system 🙈

Reminds me that I should write the device part of the contribution guide :(

timfelle commented 2 weeks ago

please add the device kernel headers to the extra_dist list in the Makefile.am That might help the compilers to find the new kernels.

PS. I know its a lot of manual management of the build system 🙈

Reminds me that I should write the device part of the contribution guide :(

Sorry for the reminder 😅

timfelle commented 2 weeks ago

@njansson I am not sure what goes wrong in the Reframe tests. Could you have a look?

njansson commented 2 weeks ago

@njansson I am not sure what goes wrong in the Reframe tests. Could you have a look?

Reframe seems to be behaving as expected. Seems like the scalar interface is missing arguments.

I clone the branched and gave the RBC case try (similar to the case that fails)

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x13d93f925ec0)
    frame #0: 0x000000010014fb48 neko`__scalar_pnpn_MOD_scalar_pnpn_init at scalar_pnpn.f90:227:83
   224
   225      call advection_factory(this%adv, params, this%c_Xh, &
   226                             this%chkp%ulag, this%chkp%vlag, this%chkp%wlag, &
-> 227                             this%chkp%dtlag, this%chkp%tlag, time_scheme, this%slag)
   228    end subroutine scalar_pnpn_init
   229
   230    !> I envision the arguments to this func might need to be expanded
Target 0: (neko) stopped.
warning: This version of LLDB has no plugin for the language "fortran90". Inspection of frame variables will be limited.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x13d93f925ec0)
  * frame #0: 0x000000010014fb48 neko`__scalar_pnpn_MOD_scalar_pnpn_init at scalar_pnpn.f90:227:83
    frame #1: 0x00000001000f9d5c neko`__case_MOD_case_init_common at case.f90:255:59
    frame #2: 0x00000001000fb88c neko`__case_MOD_case_init_from_file at case.f90:121:28
    frame #3: 0x0000000100161fb4 neko`__neko_MOD_neko_init at neko.f90:261:35
    frame #4: 0x0000000100003670 neko`MAIN__ at usr_driver.f90:7:19
    frame #5: 0x0000000100164030 neko`main at usr_driver.f90:2:6
    frame #6: 0x0000000191303f28 dyld`start + 2236
(lldb)
timofeymukha commented 2 weeks ago

No need for a new PR, or? You can just update this one? Then we presereve all the comments. If you just push to the same branch, the code in the PR is update, @Kamyarmvn

timofeymukha commented 2 weeks ago

Thanks for this contribution! I will try to have a good look next week. What I would like to ask already now is to think about what can be added to the documentation.

Kamyarmvn commented 2 weeks ago

Thanks for this contribution! I will try to have a good look next week. What I would like to ask already now is to think about what can be added to the documentation.

Thank you! I will look forward to your feedback. I will take a look at the current documentation and share my thoughts about what can be added.

Kamyarmvn commented 1 week ago

Thank you for all the feedback from everyone! I will revise the code based on the comments until next week.