Difference between revisions of "TestPhicau"

From OpenFOAMWiki
(Dynamic linking of the boundary conditions)
Line 1: Line 1:
IHFOAM is a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures. The current version is 2.0, as released in 15th July 2014. Bug fixes will be issued on a regular basis, while the development of version 3.0 is currently ongoing. The new version will include major changes in the structure of the boundary conditions, which will not affect the use.
+
[http://ihfoam.ihcantabria.com/ IHFOAM] is a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures.
  
 
The main scope of these modelling tools is coastal, marine, hydraulic and offshore engineering.
 
The main scope of these modelling tools is coastal, marine, hydraulic and offshore engineering.
Line 6: Line 6:
 
<!-- [[Category:FeaturedArticle]] -->
 
<!-- [[Category:FeaturedArticle]] -->
  
== IHFOAM ==
+
== IHFOAM Overview ==
 
The IHFOAM package includes:
 
The IHFOAM package includes:
 
* Individual boundary conditions for wave generation and active wave absorption for alpha1 and U fields. (libIHwaveGeneration.so)
 
* Individual boundary conditions for wave generation and active wave absorption for alpha1 and U fields. (libIHwaveGeneration.so)
Line 12: Line 12:
 
** IH_Waves_InletVelocity
 
** IH_Waves_InletVelocity
 
* Boundary conditions for pure wave absorption applicable to U field. Based on 2D or 3D theories, both are applicable to 3D cases. (libIHwaveAbsorption.so)
 
* Boundary conditions for pure wave absorption applicable to U field. Based on 2D or 3D theories, both are applicable to 3D cases. (libIHwaveAbsorption.so)
** IH_3D_3DAbsorption_InletVelocityFvPatchVectorField
+
** IH_3D_3DAbsorption_InletVelocity
 
** IH_3D_2DAbsorption_InletVelocity
 
** IH_3D_2DAbsorption_InletVelocity
 
* Solvers to be used with your favourite version of OpenFOAM or FOAM-extend. See compatibility below.
 
* Solvers to be used with your favourite version of OpenFOAM or FOAM-extend. See compatibility below.
Line 19: Line 19:
  
 
=== Supported Versions of OF ===  
 
=== Supported Versions of OF ===  
{{VersionInfo}}{{Version1.6-ext}}{{Version1.7.1}}{{Version2.1.1}}{{Version2.2.2}}{{Version2.3.0}}{{Version3.0-ext}}{{Version3.1-ext}}
+
{{VersionInfo}}{{Version1.6-ext}}{{Version2.1.1}}{{Version2.2.2}}{{Version2.3.0}}{{Version3.0-ext}}{{Version3.1-ext}}
  
* Note that the boundary conditions compile and work in OpenFOAM 2.3.0. However, no IHFOAM solver is included, as we are experiencing severe problems with pressure calculations (not linked in any way to IHFOAM implementation) in this version. We are preparing an extensive bug report for the OpenFOAM developers. In the mean time we suggest you stay with prior OpenFOAM versions. Should you want to use them in OpenFOAM 2.3.0, see below how to link the boundary conditions dynamically in controlDict.
+
Known issues:
  
 +
* {{Version1.7.1}} the boundary conditions compile and work.
 +
** The regular version of interFoam needs to include "-linterfaceProperties" to compile.
 +
** IHFOAM solver compiles and works. Although the BCs are included, apparently they are not linked, as they are not recognized.
 +
** If the boundary conditions are included dynamically in controlDict and used with IHFOAM, turbulence modelling does not work.
  
=== Dynamic linking of the boundary conditions ===
+
* {{Version2.3.0}} the boundary conditions compile and work.
 +
** No IHFOAM solver is included, as we are experiencing severe problems with pressure calculations (not linked in any way to IHFOAM implementation) in this version. We are preparing an extensive bug report for the OpenFOAM developers. In the mean time we suggest you stay with prior OpenFOAM versions.
 +
** Should you want to use wave generation and absorption, see below how to link the boundary conditions dynamically in controlDict.
  
 +
=== Ongoing Development ===
 +
* The current version is 2.0, as released in 15th July 2014.
 +
* Bug fixes will be issued on a regular basis, while the development of version 3.0 is currently ongoing.
 +
* The new version will include major changes in the structure of the boundary conditions, which will not affect the use.
 +
 +
Future releases will include:
 +
* Volume-averaged turbulence models, as seen in [http://dx.doi.org/10.1016/j.coastaleng.2013.08.010 the third paper].
 +
* Current generation (already pre-implemented but not referenced, as it needs further work and validation).
 +
* Wave theories implemented as classes, gathered by an autoPtr.
 +
 +
Future releases may include:
 +
* Custom IHdynamicRefineFvMesh to enable dynamic mesh refinement on snappyHexMesh-generated meshes, as seen in [http://dx.doi.org/10.1016/j.coastaleng.2013.09.002 the fourth paper].
 +
 +
=== References and Citing ===
 +
IHFOAM is a product developed in the frame of a Master and PhD Thesis. The implementation and validation details are published in the following references:
 +
 +
[http://dx.doi.org/10.1016/j.coastaleng.2012.07.002 First paper]
 +
<pre>
 +
Realistic wave generation and active wave absorption for Navier-Stokes models: Application to OpenFOAM.
 +
Higuera, P., Lara, J.L. and Losada, I.J. (2013)
 +
Coastal Engineering, Vol. 71, pp. 102-118.
 +
</pre>
 +
 +
[http://dx.doi.org/10.1016/j.coastaleng.2012.06.002 Second paper]
 +
<pre>
 +
Simulating coastal engineering processes with OpenFOAM.
 +
Higuera, P., Lara, J.L. and Losada, I.J. (2013)
 +
Coastal Engineering, Vol. 71, pp. 119-134.
 +
</pre>
 +
 +
[http://dx.doi.org/10.1016/j.coastaleng.2013.08.010 Third paper]
 +
<pre>
 +
Three-dimensional interaction of waves and porous coastal structures using OpenFOAM. Part I: Formulation and validation.
 +
Higuera, P., Lara, J.L. and Losada, I.J. (2014)
 +
Coastal Engineering, Vol. 83, pp. 243-258
 +
</pre>
 +
 +
[http://dx.doi.org/10.1016/j.coastaleng.2013.09.002 Fourth paper]
 +
<pre>
 +
Three-dimensional interaction of waves and porous coastal structures using OpenFOAM. Part II: Application.
 +
Higuera, P., Lara, J.L. and Losada, I.J. (2014)
 +
Coastal Engineering, Vol. 83, pp. 243-258
 +
</pre>
 +
 +
== Downloads and Compilation ==
 +
IHFOAM download site can be found [http://ihfoam.ihcantabria.com/source-download/ here].
 +
 +
=== Source Code Download ===
 +
You can find IHFOAM in [https://github.com/phicau/IHFOAM GitHub]
 +
 +
To download the source code run the following command:
 +
 +
<pre>
 +
aaa
 +
</pre>
 +
 +
=== Dynamic linking of the boundary conditions ===
 
In order to include the wave generation and active wave absorption boundary conditions without needing to re-compile a solver, write the following code in controlDict:
 
In order to include the wave generation and active wave absorption boundary conditions without needing to re-compile a solver, write the following code in controlDict:
  
Line 36: Line 99:
 
</pre>
 
</pre>
  
=== Dummy ===  
+
=== Dummy ===
 +
<pre>
 +
    inlet
 +
    {
 +
        type            IH_Waves_InletAlpha;
 +
        waveDictName    IHWavesDict;
 +
        value          uniform 0;
 +
    }
 +
</pre>
 
<pre>
 
<pre>
 
     inlet
 
     inlet
 
     {
 
     {
 
         type            IH_Waves_InletVelocity;
 
         type            IH_Waves_InletVelocity;
         waveDict        IHWavesDict;
+
         waveDictName    IHWavesDict;
 
         value          uniform (0 0 0);
 
         value          uniform (0 0 0);
 
     }
 
     }
 
</pre>
 
</pre>

Revision as of 11:30, 13 July 2014

IHFOAM is a set of solvers and boundary conditions to generate and absorb water waves actively at the boundaries and to simulate their interaction with porous coastal structures.

The main scope of these modelling tools is coastal, marine, hydraulic and offshore engineering.


1 IHFOAM Overview

The IHFOAM package includes:

  • Individual boundary conditions for wave generation and active wave absorption for alpha1 and U fields. (libIHwaveGeneration.so)
    • IH_Waves_InletAlpha
    • IH_Waves_InletVelocity
  • Boundary conditions for pure wave absorption applicable to U field. Based on 2D or 3D theories, both are applicable to 3D cases. (libIHwaveAbsorption.so)
    • IH_3D_3DAbsorption_InletVelocity
    • IH_3D_2DAbsorption_InletVelocity
  • Solvers to be used with your favourite version of OpenFOAM or FOAM-extend. See compatibility below.
  • Brief reference manual
  • Tutorials and validation cases

1.1 Supported Versions of OF

Valid versions: OF Version 16ext.png OF Version 211.png OF Version 222.png OF Version 230.png OF Version 30ext.png OF Version 31ext.png

Known issues:

  • OF Version 171.png the boundary conditions compile and work.
    • The regular version of interFoam needs to include "-linterfaceProperties" to compile.
    • IHFOAM solver compiles and works. Although the BCs are included, apparently they are not linked, as they are not recognized.
    • If the boundary conditions are included dynamically in controlDict and used with IHFOAM, turbulence modelling does not work.
  • OF Version 230.png the boundary conditions compile and work.
    • No IHFOAM solver is included, as we are experiencing severe problems with pressure calculations (not linked in any way to IHFOAM implementation) in this version. We are preparing an extensive bug report for the OpenFOAM developers. In the mean time we suggest you stay with prior OpenFOAM versions.
    • Should you want to use wave generation and absorption, see below how to link the boundary conditions dynamically in controlDict.

1.2 Ongoing Development

  • The current version is 2.0, as released in 15th July 2014.
  • Bug fixes will be issued on a regular basis, while the development of version 3.0 is currently ongoing.
  • The new version will include major changes in the structure of the boundary conditions, which will not affect the use.

Future releases will include:

  • Volume-averaged turbulence models, as seen in the third paper.
  • Current generation (already pre-implemented but not referenced, as it needs further work and validation).
  • Wave theories implemented as classes, gathered by an autoPtr.

Future releases may include:

  • Custom IHdynamicRefineFvMesh to enable dynamic mesh refinement on snappyHexMesh-generated meshes, as seen in the fourth paper.

1.3 References and Citing

IHFOAM is a product developed in the frame of a Master and PhD Thesis. The implementation and validation details are published in the following references:

First paper

Realistic wave generation and active wave absorption for Navier-Stokes models: Application to OpenFOAM.
Higuera, P., Lara, J.L. and Losada, I.J. (2013)
Coastal Engineering, Vol. 71, pp. 102-118.

Second paper

Simulating coastal engineering processes with OpenFOAM.
Higuera, P., Lara, J.L. and Losada, I.J. (2013)
Coastal Engineering, Vol. 71, pp. 119-134.

Third paper

Three-dimensional interaction of waves and porous coastal structures using OpenFOAM. Part I: Formulation and validation.
Higuera, P., Lara, J.L. and Losada, I.J. (2014)
Coastal Engineering, Vol. 83, pp. 243-258

Fourth paper

Three-dimensional interaction of waves and porous coastal structures using OpenFOAM. Part II: Application.
Higuera, P., Lara, J.L. and Losada, I.J. (2014)
Coastal Engineering, Vol. 83, pp. 243-258

2 Downloads and Compilation

IHFOAM download site can be found here.

2.1 Source Code Download

You can find IHFOAM in GitHub

To download the source code run the following command:

aaa

2.2 Dynamic linking of the boundary conditions

In order to include the wave generation and active wave absorption boundary conditions without needing to re-compile a solver, write the following code in controlDict:

libs
(
    "libIHwaveGeneration.so"
    "libIHwaveAbsorption.so"
);

2.3 Dummy

    inlet
    {
        type            IH_Waves_InletAlpha;
        waveDictName    IHWavesDict;
        value           uniform 0;
    }
    inlet
    {
        type            IH_Waves_InletVelocity;
        waveDictName    IHWavesDict;
        value           uniform (0 0 0);
    }