Giter Club home page Giter Club logo

Comments (8)

gducrozet avatar gducrozet commented on August 12, 2024

Hello @banzhiqing
I am not familiar with the compilation using Visual Studio Code. It seems that it tries to use the makefile provided with the code but from what I remember, Visual Studio should generate its own kind of makefile to have the file dependencies, etc.

Sorry for not being helpful in this respect

from hos-nwt.

YoungmChoi avatar YoungmChoi commented on August 12, 2024

Hello @banzhiqing and @gducrozet

I checked the compilation in Windows with Intel OneAPI package, and found that the dependencies of each modules are mixed, therefore it is not easy to solve the problem for now. To compile the project in Windows, the code structure (module subroutines associated with reading/writing data and parameters) should be arranged a little bit.

I recommend you to rearrange code to compile the project in Windows.

Best regards,
Young-Myung

from hos-nwt.

banzhiqing avatar banzhiqing commented on August 12, 2024

Hello @gducrozet and @YoungmChoi
Thank you very much for your answers, I also found it difficult to compile it in windows, I am now compiling with Linux.
Best regards,

from hos-nwt.

banzhiqing avatar banzhiqing commented on August 12, 2024

Hello @banzhiqing I am not familiar with the compilation using Visual Studio Code. It seems that it tries to use the makefile provided with the code but from what I remember, Visual Studio should generate its own kind of makefile to have the file dependencies, etc.

Sorry for not being helpful in this respect

Hello @gducrozet,

I hope this message finds you well. I am currently engaged in studying your insightful paper titled "Nonlinear deterministic sea wave prediction using instantaneous velocity profiles." I apologize for any inconvenience my inquiry may cause amidst your busy schedule, but I have encountered some questions in your work that I hope to gain clarity on.

I am particularly interested in understanding whether the left-hand side of equation (10) in your paper corresponds to the 'dpos1stdt' in the SUBROUTINE pos_1st of the hos-nwt model. My interpretation is based on the assumption that, in settings where the wave board is adjusted for first-order nonlinearity, the velocity term U(x=x0,z,t) on the right side of equation (10) is utilized as a replacement for the original 'dpos1stdt'. This understanding has been further informed by another notable paper, "A fully-spectral 3D time-domain model for second-order simulation of wavetank experiments. Part A: Formulation, implementation, and numerical properties," particularly equations (12) and (13).

In light of this, I have observed an interesting pattern in the output of 'dpos1stdt' during the computation process, where some values repeat three times and others twice. Could you provide some insights into why this might be occurring? Additionally, I am curious about how one should effectively address the boundary conditions as outlined in equation (10) under these observations. For your reference, I have attached the relevant formulas and the output results of 'dpos1stdt'.

I greatly appreciate your time and consideration, and I look forward to your esteemed guidance.

Warm regards,
Ban Zhiqing

Formula10 Formula12_13 the result of dpos1stdt

from hos-nwt.

gducrozet avatar gducrozet commented on August 12, 2024

Hello @banzhiqing

dpos1stdt corresponds to the time derivative of the 1st order wavemaker motion, i.e. first equality in Eq. (13). Then, this indeed corresponds to the horizontal velocity induced by the wavemaker motion (what you refere as U(x=x0,z,t).

Then, regarding the output you provide, it is not clear what the index corresponds to since this is a variable dependent on z and t. What I suppose is that you have 33 nodes in the z direction (indexes 1 to 33 consequently corresponds to U(z,t=0) and the following indexes 34 to 66 corresponds to U(z,t=dt) and so on). Then, I do not really get what is your issue with repeated values.

Best,
G.

from hos-nwt.

banzhiqing avatar banzhiqing commented on August 12, 2024

Hello @gducrozet,

I am profoundly grateful for your meticulous and detailed response, which has significantly clarified my doubts. I apologize for my earlier incomplete description regarding the output format of pos_1st, as illustrated in Figure 1, where n3=33 and n2=1. Upon closely examining the code, I discovered that the output results depicted in Figure 2, specifically the repeated values of dpos1stdt, are likely due to the sub-time steps calculated by the variable-step length Runge-Kutta method. Here, the sub-time step length is defined as time = t_o + h_loc*RK_c(jloop), with the 'slopes' RK_c(jloop) in RKF45 set to 0, 0.5, 0.5, 1, 1. May I kindly ask for your confirmation on whether my understanding in this regard is accurate?

Furthermore, this insight leads me to another query. Based on my understanding of the variable-step length Runge-Kutta algorithm, it necessitates that dpos1stdt be continuous with respect to time t during the computation of sub-time steps (time = t_o + h_loc*RK_c(jloop)). This continuity is presumed, as shown in Figure 1, because the overall program's time step, h_rk, is determined by principles such as CFL. Consequently, the current time step time_cur = time_cur + h_loc (where h_loc is approximately equivalent to h_rk), making time quite flexible in the variable-step length Runge-Kutta calculations. Therefore, as demonstrated in Figure 1, dpos1stdt needs to be continuously updated with respect to time.

Building upon this understanding, I have a question regarding your exemplary paper, "Experimental assessment of a nonlinear, deterministic sea wave prediction method using instantaneous velocity profiles," particularly as outlined in Equation (2). You developed an algorithm utilizing two ADCPs to acquire the reconstructed horizontal velocity Urec(x0,z0,t). My query pertains to the practical application of this method, considering ADCPs typically have a fixed sampling rate (e.g., 50Hz), which implies that Urec(x0,z0,t) is discrete with respect to time t. How do you effectively use the discrete Urec(x0,z0,t) in place of dpos_1stdt? Is there a process of interpolation or fitting applied to time t within Urec(x0,z0,t) to achieve this?

I am immensely grateful for your time and effort in addressing my queries. Your insights are not only invaluable to my current research but also inspire continued learning and exploration in this field. I eagerly await your response and further guidance.

Best regards,
Ban Zhiqing

Figure1 Figure2 Formula(2)

from hos-nwt.

gducrozet avatar gducrozet commented on August 12, 2024

Hello,

  1. Yes, if you write inside the routine you will get outputs at each call of the function and consequently at each sub time step.
  2. the position is indeed updated at each sub time step and consequently it is 'continuous'
  3. to use an 'external' velocity profile U(x0,z,t) with specific time-stepping, you can simply do an interpolation in time, replacing the call to this function. If the time-steps of your velocity profiles is at 50 Hz, linear time interpolation will be sufficient.

from hos-nwt.

banzhiqing avatar banzhiqing commented on August 12, 2024

Hello @gducrozet,

Thank you very much for your response, I now understand the concept clearly.

Best regards,
Ban Zhiqing

from hos-nwt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.