NHWAVE compilation tips on MacOS && Keller Box and Riemann Solver

88 views
Skip to first unread message

Vang Von

unread,
Sep 1, 2023, 4:47:27 AM9/1/23
to funwave-tvd
Dear NHWAVE/FUNWAVE team and community,

I am writing on two topics: 

1) MacOS compiling error for NHWAVE
I have started to try NHWAVE for 3D non-hydrostatic wave simulations on my MacBook Pro, but got error message on 'more actual than arguments in procedure call at (1) ' for line 9698 at nhwave.f90. The error message is attached below, together with my makefile, MacOS version, and hypre commit number from git log. 

Any tips and notes on special attentions needed for MacOS? Many thanks in advance! 

2) thoughts on Keller Box & Riemann Solver
As NHWAVE is a leading 3D non-hydrostatic model, there are some other models with multi-layer approach such as SWASH by TU Delft at the Netherlands. There a Keller Box scheme is used and the pressures are stored at the layer face rather than centre. How does NHWAVE deal with pressure and what do you think of Keller Box scheme, it seem to contribute to a high efficiency and increase the kd number domain to very deep water?  As I understand, Riemann solver is used in NHWAVE, is there any noticeable free surface damping due to the Riemann solver in favour of stability? 

Looking forward to hearing your insights! 

Bests,
Widar 
Norwegian University of Science and Technology 
Makefile.widar.macos.mpif90
MacOS.png
Error_Message.png
hypre_version.png

James Kirby

unread,
Sep 1, 2023, 7:55:58 AM9/1/23
to funwa...@googlegroups.com

Widar,

NHWAVE uses the Keller box scheme.  This is a natural way to allow for imposing a pressure condition on the surface, so most of these 3D models are set up that way.

Yes, there is some actual and/or potential numerical dissipation.  It is not as pronounced in NHWAVE (where the right Riemann variables are used) as it is in FUNWAVE-TVD (where the Riemann variables aren't represented in a strictly correct fashion).

I'm not sure about the macOS problem, but I will probably know more shortly as I have a new M2max machine and would like to give it a spin. (provided the compilers will work on the M2 - I hope).

Jim Kirby

--
You received this message because you are subscribed to the Google Groups "funwave-tvd" group.
To unsubscribe from this group and stop receiving emails from it, send an email to funwave-tvd...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/funwave-tvd/ca3c7275-360f-4715-83bc-04e601b06e10n%40googlegroups.com.
-- 
Jim Kirby
Center for Applied Coastal Research
259 Academy Street
Newark, DE 19716
1-302-562-8113 (cell)

Vang Von

unread,
Sep 5, 2023, 8:33:33 AM9/5/23
to funwave-tvd
Dear all,

I have managed to install NHWAVE on MacOS with M1 chip and resolved the error of 'more actual than formal arguments in the procedure call' by changing the following two lines in the source code from https://github.com/JimKirby/NHWAVE

nhwave.F
Line 14105:    

call vel_bc(1)  
---->  
call vel_bc

wave.F
Line 585:        

call wave_dispersion(dep_wave, Segma, Wave_Number)
---->
call wave_dispersion(Segma, Wave_Number)

Similarly, line 13535 and line 585 from https://github.com/NHWAVE/NHWAVE

The Makefile that I used is also attached. 

So far, the results from wave propagation over a submerged bar look good, don't know whether these changes will influence the overall accuracy and efficiency of the code. 

It was also a very nice discussion with Prof. Kirby on the numerical implementations in NHWAVE, thanks for the insights! 

Bests,
Widar 
Makefile.widar.mpif90
Reply all
Reply to author
Forward
0 new messages