CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM News & Announcements > OpenFOAM Announcements from Other Sources

Release of a Wave Generation and Absorption Toolbox for OF

Register Blogs Community New Posts Updated Threads Search

Like Tree30Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 12, 2015, 07:54
Default
  #41
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Good afternoon,

With a few modifications the source of waves2Foam now compiles under OF2.4.0 and the solver waveFoam is also created. The solver porousWaveFoam is to be added at a later stage.

Disclaimer: I have only tested the waveFlume tutorial and it executes. I have not validated the correctness of the wave propagation in OF2.4.0.

The commit is svn-revision 2072.

Furthermore, the OF-versions OF-1.6-ext, OF-1.7, OF-1.7.1 and OF-2.0 is no longer being tested, when modifications are made to waves2Foam. This does not explicitly mean that the code will not compile. See the following section on the wiki: http://openfoamwiki.net/index.php/Co...Versions_of_OF

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   September 9, 2015, 10:26
Default
  #42
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

I have made an update to the solvers (waveFoam and porousWaveFoam), so they now take an additional parameter in the waveProperties(.input) file:

Code:
seaLevelAsReference false/true;
This keyword is requested, whenever 0 < |seaLevel|. The effect is that the sea level is used as the vertical reference for the simulations (is set to true). This only affects these two lines in any solver in createFields.H:

Code:
volScalarField gh("gh", g & (mesh.C() - referencePoint));
surfaceScalarField ghf("ghf", g & (mesh.Cf() - referencePoint));
If seaLevelAsReference is set to false, the referencePoint is given a value of (0 0 0), i.e. the solution will be identical to the present day results.

The changes are committed as revision 2078.

Testing - Setup:
This implementation has been tested on the waveFlume tutorial, where the sea level was given 5 different values: [-0.1 -0.05 0.00 0.05 0.10]. Besides this, the waveProperties.input file was the same. The mesh was translated vertically according to the sea levels, such that the water depth remained 0.4 m. The translation was performed with:

Code:
transformPoints -translate "(0 X 0)"
The simulations were performed in foam-extend-3.1.

Testing - Results:
Four quantities were investigated:
  • The value of the time step throughout the simulation;
  • The variation of the surface elevation at x = 10 m as a function of time;
  • The variation of the rms value of the surface elevation as a function of x;
  • The pressures at the atmosphere and bottom boundaries for t = 20 s.
The surface elevation was corrected for the value of the sea level.



All 5 simulations (5 values of the sea level) yielded identical results. This is taken as a full validation of the implementation.


Please report any issues that you might have with the modifications of the solvers, compatibility with non-tested (pressure) boundary conditions.





Kind regards,


Niels
wyldckat and mo_na like this.
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   September 24, 2015, 14:59
Default
  #43
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

wavs2Foam is now close to 4 years old (as open-source) and I would like to get to know you, the users, a little bit better. Therefore, I have made a Google Form with a few questions. I would appreciate a lot, if you could fill out the form and also circulate it to your colleagues and collaborators, who might not have seen this notice.

The form is found here:

http://goo.gl/forms/tvVIHGnNP9

I would like to use the opportunity to also inform you on the up-coming course in detailed numerical modelling of free surface waves that we are providing at Deltares. The full description can be found here:

http://www.dsd-int.nl/training/waves...surface-flows/


Thank you,


Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   October 15, 2015, 15:21
Default
  #44
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

It is my utmost pleasure to be able to announce that waves2Foam now has been extended with a coupling to OceanWave3D ([1]). This coupling has existed for a while in a less than generic form, but it has now been streamlined with waves2Foam. The coupling has already been described in [2].

OceanWave3D is an accurate and fast nonlinear potential wave solver, so the coupling will allow for
  • Faster generation of irregular waves
  • Generation of nonlinear irregular waves
Besides the coupling itself (see external wave theories and corresponding files for setting of the wave properties) the following are provided:
  • Install scripts that collect OceanWave3D from github and install OceanWave3D along with its dependencies. Additional requirements for waves2Foam are now gfortran and git.
  • A new tutorial called 'couplingOceanWave3D'
  • A memo that describes the control of the new coupling, see the directory 'doc'. Please read this document carefully, since there are some important subtleties to keep in mind. Furthermore, since waves2Foam now depends on an important third party contribution, please do pay notice to the suggested phrasing of references to all relevant contributors.
I hope that you all will enjoy this new extension.


Kind regards,

Niels


[1]: Engsig-Karup, AP, Bingham, HB, Lindberg, O. (2009). An efficient flexible-order model for 3D nonlinear water waves. Journal of Computational Physics, 228, 2100-2118.
[2]: Paulsen, BT, Bredmose, H and Bingham, HB (2014). An efficient domain decomposition strategy for wave loads on surface piercing circular cylinders. Coastal Engineering, 86, 57-76.

EDIT:

The coupling will be presented as part of the coming course in detailed wave modelling:
http://www.dsd-int.nl/training/waves...surface-flows/
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.

Last edited by ngj; October 16, 2015 at 03:02.
ngj is offline   Reply With Quote

Old   November 23, 2015, 01:36
Default
  #45
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Good morning all,

I am happy to announce that the cross-version compatible version of waves2Foam for OpenFoam-3.0.0 is now available. This includes a solver for waveFoam as well.

The free surface solver has become rather complex as of version 2.4, which means that it will require some time to figure out, how to include porosity effects correctly in the solver. No attempts will be made with respect to that in the near future.

Please make note that even though the code compiles, this does not mean that a rigorous validation for waves in OpenFoam-3.0.0 has been performed. The users are hence encouraged to performed such validation steps on their own.

Kind regards,

Niels
wyldckat likes this.
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   April 4, 2016, 09:13
Default
  #46
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

Today, I have made a small modification to the third-party dependencies. Now, waves2Foam is being link to a different fork of OceanWave3D. This fork is almost identical to the previous one, but there are subtle differences:

1. The new fork still undergoes continued developments, where the old fork was at a 'dead end';

2. There were some bugs in relation to the wave generation with the a wave paddle signal. These bugs are now resolved with an effort from the original developers from the Technical University of Denmark.

Otherwise, no functional changes to the code and compilation should be smooth.

This message concerns revision 2091.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   July 1, 2016, 16:51
Default
  #47
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

waves2Foam has now been made compatible with OpenFoam-4.0.0. There have been introduced quite some changes with OpenFoam-4.0.0, which means that the sampling-library was not successfully adapted to the syntax in OpenFoam-4.0.0.

The lack of a waves2Foam sampling library means that the two run-time sampling methods:

- surfaceElevation
- overtopping

are not supported for OpenFoam-4.0.0.

The solver porousWaveFoam still needs to be created for OpenFoam-4.0.0.

The tutorial waveFlume has been executed, and a visual inspection of the results appears to yield similar results. Though, without the surfaceElevation tool, it is not possible to perform a validation against prior versions.

Users are strongly encouraged to perform their own validation, if OpenFoam-4.0.0 is adopted.


Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   August 12, 2016, 09:58
Default
  #48
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

As of revision 2100 of waves2Foam, there is now support for OpenFoam-v3.0+. An additional pre-processing flag called OFPLUSBRANCH is now introduced to support this third OpenFoam branch. At present, only waveFoam has been made and tested. Minor differences were observed in the diffusivity of the free surface between OpenFoam-v3.0+ and foam-extend-3.1, so you are encouraged to verify with your own applications.

Furthermore, revision 2100 also provides the solvers waveFoam and porousWaveFoam for foam-extend-3.2.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   November 8, 2016, 12:44
Default
  #49
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

As of revision 2103, waves2Foam now compiles on OpenFoam-v1606+. Wave gauges have been tested - and unlike for OpenFoam-4.0 - they do work in OpenFoam-v1606+.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   January 3, 2017, 07:49
Default
  #50
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

I have tried to compile waves2Foam on OpenFoam-v1612+ today, but the structure of the function objects have changed (I guess that they are now similar to OpenFoam 4.0). This means that it is not possible to compile the wave gauges with the current implementation.

Consequently, a complete rewrite of the surfaceElevation class is required, before waves2Foam is compatible with OpenFoam-v1612+. I can, unfortunately, not give a time horizon for this activity.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   January 15, 2017, 12:53
Default
  #51
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

It is a pleasure to announce that waves2Foam is now supported on foam-extend-4.0. The code compiles and the tutorials porousDamBreak, waveFlume and couplingOceanWave3D run correctly.

Please report any issues.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   May 7, 2017, 15:58
Default
  #52
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

There is now added a small utility that allows for the evaluation of the wave theories off-line from e.g. waveFoam. This utility is called sampleIncidentWaveField. The sample points and sample time is specified as follows in waveProperties.input:

Code:
sampleIncidentWaveField
{
    deltaT 0.01;
    endTime 100;

    points 4((0 0.1 0.2) (1 1.1 1.2) (2 2.1 2.2) (3 3.1 3.2));
}
Any number of points may be specified. The output is organised in the same way as the output from surfaceElevation.

Please also note that I added a small breeder-section. Currently, the breeder section contains a catenary mooring line for floating objects and a utility to write a 1D-mesh by which you can visualise the (catenary) mooring lines in paraView. The breeder section is currently only compiled on v1606+.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   July 15, 2017, 16:13
Default
  #53
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

It is a pleasure to announce that a new solitary wave theory has been released: Chappelear (1962).

During the implementation of this theory, it turned out that there was a sign-error in the vertical velocity for solitaryFirst. This error was the cause of large drop in wave height, which been observed in solitary wave simulations by several users. All users applying solitary waves are recommended to update to the latest SVN-revision (2112).

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   August 17, 2017, 12:26
Default
  #54
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

It is a pleasure to announce that there is now a manual available for waves2Foam. This manual is available through ResearchGate and it will replace the Wiki-page, which was getting difficult to maintain.
The link to the manual is here: https://www.researchgate.net/publica...es2Foam_Manual

The manual is currently under a draft status, but it is sufficiently far to be used. Mainly textual editing is needed. At a later stage, the manual will be added to the SVN-repository.

I hope that this will prove useful and please provide feedback (in another thread) and input on possible errors.

Kind regards,

Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   September 4, 2017, 16:22
Default
  #55
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

Thank you very much for the interest, which have been shown to the recently published manual. I was happily surprised and did not at all expect such a rapid exposure.

One thing, however, is to have access to a manual, another is how to apply the model. To this end, we are provided a course in the use of waves2Foam and OceanWave3D at Deltares from the 1st through the 2nd of November 2017. Please find all details here:

https://softwaredays.deltares.nl/201...9e3c0638002813

I hope to see some of you in Delft, The Netherlands.

Kind regards,


Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   March 5, 2018, 11:55
Default
  #56
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,

It is a pleasure to finally be able to announce that surfaceElevation is brought up to date, so it works for more recent versions of OpenFoam, e.g. OpenFoam+ v. 1712. The update of the function objects comes with some minor changes to the interface, consequently the utility waveGaugesNProbes asks for two additional keywords (for OpenFoam+ version 1612 and later):

Code:
writeControl
writeInterval
The updated keywords relate to the new interface for the functionObjects; see the general source code (tutorials are updated, though squarePile and periodicSolitary do not run on 1712). Due to the complete rewrite of the surfaceElevation tool, there are now two source directories (waves2FoamSampling and waves2FoamSamplingNew) which is chosen amongst during compilation.

The updated source code is released together with waveFoam and porousWaveFoam solvers for OpenFoam+ 1712 (thank you Bjarne Jensen). There are still some outstanding issues, which I hope to resolve in the near future. These issues relate to:
  • Release of waveIsoFoam (based on isoAdvector by Johan Roenby)
  • Adaptation of squarePile and periodicSolitary to newer versions
  • Make the overtopping function object
  • Adaptation to the openfoam.org development line
Please do check your results with the new implementation of surfaceElevation, since it is a complete rewrite. This in particular relates to applications with moving meshes or topological changes. It is verified that similar results are obtained for waveFlume and porousDamBreak (exp. data) as with the old implementation.

Please note that postProcessingWaves2Foam is likely to break, because the data is now placed in the folder "postProcessing" in compliance with other functionObjects.

The new changes are released in svn revision 2118.


Kind regards,


Niels
vonboett, ericJag and larry k like this.
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   May 27, 2018, 08:05
Default
  #57
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,


I have performed a small clean-up operation in the waveTheory and derived classes and improved on the cross-version compatibility. The following is adapted:
  • The method 'ddxPd' is removed from waveTheory and all derived classes. This method has never been used nor fully implemented, so it was about time to remove this method.
  • As a consequence, the boundary condition wavePressure is excluded from the compilation. It is still distributed with the source code, but it has always worked as zeroGradient anyway. It will be removed in a later svn-update, but I will allow for response from users first.
  • The method : in waveTheory is renamed to pExcess. This is chosen to stress that the pressure is the excess pressure relative to the reference level (e.g. seaLevel).
  • The field rAUf has different data base names between versions. This is added to prepare for a future release and extension of the waves2Foam capabilities.
Kind regards,


Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   June 5, 2019, 09:46
Default
  #58
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,


It is my pleasure to finally announce that waves2Foam has been brought up to date and now compiles with OpenFoam-v1812 (just in time before release of v1906). The main difficulty was the change in handling of gravity, which has changed, so quite a few files were modified. Please report any problems, so they can be fixed.



There is also made a solver for waveFoam.



Kind regards


Niels
wyldckat and Daniel_Khazaei like this.
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   February 22, 2020, 11:23
Default
  #59
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,


waves2Foam now compiles on OF1912. I have also created the waveFoam solver, while waveIsoFoam and porousWaveFoam will follow later.


The updated code is available in the svn-repository revision 2137.



Kind regards


Niels
nakanisi likes this.
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Old   January 19, 2021, 13:32
Default
  #60
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,900
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
Dear all,


waves2Foam now compiles on OpenFoam v2012, where some minor changes and additions are made:


  • The boundary conditions have been renamed for v2012 onward to relaxationAlpha and relaxationVelocity to allow for co-existence of waves2Foam and IHFoam wave tools in the waveFoam and other solvers.
  • All tutorials are adopted to allow execution across all OpenFoam versions (supported by waves2Foam).
  • Details on the running IHFoam settings with waveFoam are provided here: waves2Foam compatible with IHFoam [v. 2012]
  • An additional method called concatenatedDistribution is introduced for the definition of wave gauges and probe locations. This ensures that all wave gauges and probes are written to a single input file even though many source definitions are applied.
  • The utility postProcessingWaves2Foam has been excluded from the compilation routine, because there are too many upstream changes to allow for continued support. The code is still there and users can compile and apply at own risk.
  • waveIsoFoam and porousFoam will follow when convenient.
The new version is available under svn-revision 2142.

Kind regards


Niels
__________________
Please note that I do not use the Friend-feature, so do not be offended, if I do not accept a request.
ngj is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
energy absorption instead generation bohis FLUENT 1 August 29, 2009 14:11


All times are GMT -4. The time now is 00:32.