General presentation on viscous-flow CFD code ReFRESCO. Theoretical, numerical, IT, developers and application range aspects are presented. Current status of the code @ January 2015.
2. ACKNOWLEDGEMENTS
• We acknowledge the work done by the following people
(developers/users) that made this presentation possible:
Guilherme Vaz, Martin Hoekstra; Chris Klaij; Luis Eca; Jaap Windt; Douwe
Rijpkema; Guilherme Rosetti; Serge Toxopeus; Maarten Kerkvliet; Bart
Schuiling; Arjen Koop; Frederick Jaouen; William Otto; Arjan Lampe; Pierre
Crepier; Xavier Quenet; Frans-Hendrik Lafeber; Chris Willemsen; Roderick
Kuin; Andre Fujarra; Nicholas Carette; Xavier Ariño; Antonio Maximiano;
Jesse Slot; Luis Rueda; Joost Sterenborg; Patrick Schrijvers; Henry Bandringa;
Xin He; James Hawkes; Filipe Pereira; Michel Make; Joao Baltazar; Thomas
Lloyd; Gerson Fernandes; Sasha Zverkhovskyi; Simon Burmester; Jan-Albert
van Ree
3. OVERVIEW
• Introduction
• Theoretical Formulation
• Numerical Formulation
• Relevant Features
• Quality Control
• Documentation & Support
• Applications/Portfolio...
• Current Developments & Future Plans
• Cooperation
• Conclusions
4. INTRODUCTION
• ReFRESCO
• It is a multiphase viscous-flow CFD code, targeted, verified and validated
exclusively for maritime-related (ships, offshore, renewables) applications.
• Started to be developed in April 2005.
• People working on ReFRESCO (NL, PT, BR, UK):
• 8 developers
• 35 users
• 4 PhD students, 4 Post-Docs
• Since 2005, >40 students (Msc and trainees)
5. INTRODUCTION
• ReFRESCO vs. Other codes
• Commercial codes (CFX, FLUENT, STAR-CCM, Fine-Marine): very general, robust but
not accurate enough (for us). Too expensive! No insight in algorithms. Difficult to
modify or couple with other tools. Not relevant for CFD research, like done
@MARIN.
• Open-source codes (OpenFOAM,...): not a code but a set of libraries. Needs a lot of
CFD-developer knowledge. Very general. Results severely user dependent.
Impossible to verify and validate since it is not a code. Basic CFD schemes.
• Research codes: closed for other partners, usually not using IT-state-of-the-art
features, no quality control, and not user friendly...
• ReFRESCO is an “open-usage-research commercial code”. MARIN cooperates with
Universities in its development, and with its partners in its verification&validation
(see ReFRESCO-Operation later). And “commercial” since MARIN performs
calculations for clients.
6. THEORETICAL FORMULATION
• What is solved inside ReFRESCO:
• Momentum equations
• Mass/pressure equation (segregated or coupled)
• Turbulence equations (1-eq, 2-eq, SAS/DES-like)
• Volume-fraction transport equations (free-surface,
cavitation, general species)
• Motion-related equations (AFM, RFM, MVG,
Interfaces, 3DOF EquationsOfMotion)
• Constitutive equations (multiphase flow
formulation)
• General transport equation is the basis.
• Important terms for discretization:
• Unsteady term
• Convection fluxes
• Diffusion fluxes
• Source terms
• Face-center vs cell-center
• Boundary conditions
THEORETICAL FORMULATION
7. NUMERICAL FORMULATION
• Finite Volume Approach
• Discretization of the integral eqs in the physical space. 2nd order.
• Collocated arrangement: quantities defined at cell centers. Pressure-velocity
coupling using PWI.
• Segregated method using SIMPLE. Coupled method using Krylov methods and
SIMPLE, SIMPLER as pre-conditioners.
• Face based approach:
• Permits arbitrary shape cells and unstructured grids.
• Face values calculated by interpolation based on data in only two cells.
• Discretization stencils are limited to face-neighbour cells and gradients.
8. NUMERICAL FORMULATION
• Discretization of general transport eq.
• Convection: upwind, blending, QUICK, TVD, HRIC, CICSAM, ReFRICS.
• Diffusion: 2nd order central scheme.
• Gradients: 2nd order Gauss and least-squares schemes.
• Face-interpolation: 2nd order central with excentricity correction.
• Time-discretization: (implicit) 1st order Euler, 2nd order three-time-level.
• Boundary-conditions: 2nd order.
• Domain decomposition parallelization:
• Computational domain split in sub-domains.
• Each sub-domain computed by each processor.
• Information transfer done by “ghost” cells.
• MPI (Message Passing Interface) is
used for transfer information.
10. NUMERICAL FORMULATION
• Scalability and hardware
- Tested at clusters:
256(MARCLUS2)&1600 cores(MARCLUS3)@MARIN(Nl).
2000 (TPN) @USP(Br).
2000 (Iridis4) @UoS (UK).
- ReFRESCO scales well with the number of nodes.
11. IT ASPECTS
• Software development:
• Targeted for Linux systems
• Scientific core in Fortran90
• Wrappers to some external libraries in C
• Object-oriented (as much as Fortran allows it ) data-structure & modules
• Usage of several open-source libraries
• OpenMPI/MPICH/IntelMPI: MPI libraries optimized
• PETSC: iterative linear-system solvers libraries (powerful!)
• MKL: direct linear-system solvers libraries (intel optimized)
• HDF5: data-storage standard, permitting also MPI-parallel operations.
• CGNS: NASA/Boeing/AIAA standard for CFD data storage
• (Par)Metis: domain decomposition algorithms.
• HYPRE/ML: other iterative preconditioners/solvers
• libXML, XSD, perl: Linux XML, perl libraries
• Doxygen: automatic documentation
12. IT ASPECTS
• Software development:
• Parallel Programming Eclipse version as IDE and several extra plugins
(photran, svn, XML/XSD)
• Compilation/Installation of external-libs and own-libs using (own-created)
makefiles and bash scripts. Platform dependent: code already installed at
Marclus1, Marlcus2, Marclus3, Sara-Nl, RuG-Nl, IST-Pt, USP-Br, UoS-UK.
• Tight integration with svn
• MPI programming, memory checking, debugging, profiling done using
• open-source tools: valgrind, gprof, petsc-log
• commercial tools: idb, vtune
• (others being tested… totalview, Score-p, Vampyr, tau, jumpshot,…)
13. IT ASPECTS
• Others:
• Input:
• XML, validation with XSD
• XSD to XML using xslt (automatic)
• XSD to Fortran code using perl
(automatic)
• CGNS for grids
• Output:
• XML
• ASCII
• CGNS for solution
• Automatic documentation of the code
using doxygen
• Automatic logging and tracing of the
code via PETSC.
• User-defined F90 routines to interact
with main code
14. QUALITY CONTROL
• SVN for code versioning/control (strict)!
• Automatic code control/benchmarking:
• testSuite
• automatic procedures for testing the code against developers bugs. Comparison with
previous versions and reference data (other codes).
• Easy cases and small grids. All cases run in 15 minutes.
• validationSuite
• Automatic procedure for checking differences/improvements of the code by comparing
with experimental data.
• Complex cases and medium/fine grids.
• verificationSuite
• Automatic procedure for checking differences/improvements of the code by analyzing
errors. Use of analytical solutions and MMS.
• Several grids for order of accuracy determination.
• performanceSuite
• Automatic procedure for checking code performance (cpu time, scaling, memory usage).
Compare with previous versions
• Several grids. Several cores.
16. DOCUMENTATION & SUPPORT
• Internet:
http://www.marin.nl/refresco
http://www.marin.nl/refresco-community
• Modern software support:
• All refresco-related papers;
• MODS (general online documentation)
• Bugs & Issue tracking system (MITS);
• Mailing-list (developers an users);
• Tutorials;
• Forum (work-in-progress);
• Best-practice guidelines for typical
maritime-related problems (work-in-
progress).
17. CURRENT FEATURES
• Pre-processing:
• Can deal with any kind of grids and cell types!
• Accepts grids from grid-generators such as SnappyHexMesh, ICEM-CFD, Gridpro,
HEXPRESS, Pointwise, or in-house tools.
• Input : grid, in CGNS file format, plus an human-readable XML file.
ICEM-CFD
GRIDPRO
HEXPRESS
POINTWISE
18. CURRENT FEATURES
• Solver:
• Higher-order discretizations & boundary conditions.
• Segregated & coupled solver.
• Moving objects (RFM, AFM, MVG/ALE).
• Non-conformal and Sliding grids.
• Deforming grids.
• Automatic grid refinement.
• Turbulence models (RANS k-epsilon’s, k-omega’s, DES, SAS, PANS, LES)
• Free-surface models (surface-capturing/VOF).
• Cavitation models (Sauer, Zwart, Kunz, Singhal).
• 3/6DOF Equations-Of-Motion.
• Propeller modelling: Actuator-Disk (traditional or improved), RANS-BEM coupling or
RANS-RANS.
• Wave modelling: linear theory, 2nd, 5th order regular waves, irregular waves using wave-
flap motion.
• Post-processing:
• Output also in CGNS format and engineering data in ASCII format.
• CGNS can be visualized and processed with Tecplot (the one most used@MARIN),
Paraview, Visit, Amira, FieldView, etc.
19. CURRENT FEATURES
• Couplings:
• ReFRESCO-PROCAL
• Propeller modelling inside a RANS grid/calculations by using a body-force field
coming from PROCAL BEM code.
• ReFRESCO-Excalibur/FWH
• Pressure fluctuactions due to propeller simulated with RANS computed by
Excalibur BEM code.
• Or coupling with Ffowcs-William/Hawkings equations for accustics.
• ReFRESCO-Rapid/PARNASSOS
• (Fixed) Free-Surface geometry coming from Rapid/PARNASSOS used as
boundary in the RANS grid/calculation.
• ReFRESCO-XMF (work in progress)
• FreDyn, AnySim.
• Two-ways of coupling:
• 1) Hydrodynamic forces calculation by ReFRESCO and EoM solved by XMF
and send back to ReFRESCO;
• 2) All done by ReFRESCO but complex structural forces modelled by XMF.
48. APPLICATIONS – CURRENT/WIND TURBINES
• Analysis of the flow around 5MW NREL
turbine, both model-scale and full-scale
conditions.
• Based on CFD results MARIN designed a
new model-scale MSWT (MARIN stock
wind turbine) that delivers the same
thrust as NREL at full-scale.
49. APPLICATIONS – CURRENT/WIND TURBINES
• MSWT Results
• Fully separated at low TSR
• Partially separated at operating condition
92. APPLICATIONS – PROPULSION & INTERACTIONS
- RANS-RANS (Sliding Interfaces)
Exps without rudder and with
free-surface!
Calcs with rudder and without
free-surface !
ReFRESCO
ISIS-FineMarine
FreSCo+
101. APPLICATIONS – FREE-SURFACE & WAVES
• L = 4 m, Fn = 0.25, no sinkage and no trim
• Domain: 5L x 1L x 0.9375L
• 3.17M cells
- Wigley Hull Damping Area
UnsteadySteady
113. CURRENT REFRESCO DEVELOPMENTS
- Current ReFRESCO Developments (2015-2020):
- V&V and MMS… Constant work!
- Performance, robustness … Constant work!
- Improving non-conformal/sliding grids.
- Improving deforming grids.
- Robustness and accuracy of free-surface modelling.
- Improve and Extend 6DOFs EquationsOfMotion (internal and external).
- “Unsteady” automatic-grid-refinement.
- Heterogeneous parallelization (CPU-GPU, CPU-CoProcessors, MPI+OpenMP).
- SAS/DES/PANS and LES turbulence modelling.
- Transition modelling.
- Fluid-Structure Interaction.
- Overlapping grids.
- Using also our cooperation partners and MarinAcademy.
114. CURRENT APPLIED RESEARCH WITH REFRESCO
- Internally using ARD.
- JIPS, EU projects:
- STREAMLINE
- GRIP
- Refit2Save
- TRUST
- DISCO
- CRS-Sharcs
- CD Propeller Series
- VIM
- Roll
- WindLoads
- Blue Mining
- MoonPool
- …
See/Check a list of all projects@:
http://www.marin.nl/web/JIPs-Networks/Public.htm
115. COOPERATION
- IST (PT):
- Prof. Eça (developer of PARNASSOS and now of ReFRESCO)
- Eng. F. Pereira (SAS/DES/PANS/LES)
- Prof. Falcão de Campos, Dr. Eng. Baltazar (propeller flows).
- RUG (NL):
- Prof. Verstapen, Prof. Wubs, Eng. Bandringa (SPS and LES).
- USP (BR):
- Prof. Fujarra, Eng. G. Rosetti (ReFRESCO+FSI for VIV/VIM problems).
- Eng. G. Rosetti (Turbulence, transition and roughness modelling).
- TUDelft (NL):
- Prof. C. Vuijk, Dr. Ir. Xin He (state-of-the-art solvers).
- University of Southampton (UK):
- Prof. S. Turnock, Eng. J. Hawkes (parallelization & overlapping grids).
- Dr. Ir. Thomas Lloyd (cavitation and acoustics)
- TUTwente (NL):
- Prof. H. Hoeimakers, Prof. Edwin van der Weide, Dr. Ir. Sietse Jongsma (Fluid-
Sructure-Interaction)
- Chalmers University (Se):
- Prof. R. Bensow, Dr. C.Eskilsson (Hydrodynamics)
116. REFRESCO-OPERATION
- We share the use of ReFRESCO, and our HPC clusters, with the Maritime
Industry within the ReFRESCO-operation consortium…
- Why?
- Our partners/clients want to do themselves CFD calculations.
- CFD packages have very “impersonal” support.
- CFD packages are expensive: prices per license, user, cores!
- Hardware (Clusters) for CFD codes is expensive, needs maintenance and peculiar
(difficult to find) expertise’s.
- Verification & Validation of commercial CFD codes has to be done by the users,
since the developers cannot test all kinds of applications.
- Dedicated CFD code needed for accurate solution of hydrodynamic problems.
- For more info see www.marin.nl/refresco-operation...
117. CONCLUSIONS
- ReFRESCO is a open-usage-research-commercial code.
- ReFRESCO is a CFD code targeted, verified and validated exclusively for
maritime applications.
- ReFRESCO quality control is daily business.
- ReFRESCO application, verification and validation has been for several
maritime-relevant problems.
- With the use of MARIN Internal ARD funds, JIPs, MarinAcademy and
Partners, the developments, applications and associated verification and
validation will continue. We will keep you posted…
- ReFRESCO-Operation opens the doors to the usage of ReFRESCO by external
partners: at their machines and/or at our HPC clusters.
List of all people that are currently developers and/or users of refresco. This gives an idea that refresco is not a one/two-man show…
Introduce the logos, the acronym, the year of start (2005) and the number of users/developers. Emphasis on the different countries.
Explain pros&cons of all different type of CFD codes. Of course, this is MARIN (Guilherme Vaz) opinion. Idea is to emphasize that refresco and the best of all worlds (and also disadvantages…)
Basic equations of a CFD finite-volume code, plus transport equations typical of a hydrodynamics code (free-surface and cavitation). All equations are assembled and solved as a general transport equation. Basic ingredients of the discretization are presented.
More technical details: Discretization in physical space; 2nd order in space and time; segregated and coupled solvers; collocated-arrangement and PWI to solve pressure-velocity decoupling; Face-based and therefore can handle any kind of grid cells; unstructured-grid type of discretization; example of types of grids possible (basic ones used for code verification)
Details on the discretization schemes for the general transport equations; Details on how parallelization is performed (sub-domain decomposition + MPI)
Main refresco algorithm and details on MPI parallelization (all implicit via the ghost-cells).
Show clusters where refresco is installed. Illustrate the power of MPI parallelization for the E779A propeller@marclus3: 5MCells calc in 1 core 9 days in 512 cores 42minutes!
Modular Fortran and some C. IO via XML; Usage of state-of-the-art external libraries. Openmpi, petsc, mkl, hdf5, cgns, metis/parmetis, xsd/xml. Use of doxygen for automatic code documentation
Eclipse as programming environment. Compilation at clusters using own scripts. Already done for several clusters. Tight integration with svn. Profiling and debugging tools, typically used with open-source libraries/programs.
IO based on XSD and XML for human-readable input. Automatic generation of IO fortran code using XSD-Fortran scripts.
CGNS for grids and solution.
Automatic documentation, logging and tracing of the code via petsc.
User can access/interact with the code via F90 routines/modules.
Strong quality control: testSuite, validationSuite, verificationSuite and performanceSuite.
testSuite: to prevent coding bugs (light cases); integration with svn is possible.
verificationSuite: analytical and MS (medium cases); to analyzed errors and orders of convergence.
validationSuite: to compare with old results and experimental data (heavy cases)
performanceSuite: to test code performance on different machines and compared with previous versions (medium-heavy cases).
All automatic…
Example of some suites. All pictures and tables are automatically generated. Example of a testSuite for BFS; verificationSuite for ManufacturedSolution; validationSuite for KVLCC2.
Documentation… All in the internet@ www.marin.nl/refresco and www.marin.nl/refresco-users. MITS, MODS, mailingList, all publications, forum (work-in-progress), tutorials and best-practice-guidelines for typical maritime-related problems (work-in-progress).
Examples of the pages…
All grids and solution via CGNS files (NASA/Boeing/AIAA CFD standard). ReFRESCO can deal with openFOAM, Icem-CFD, Gridpro, Hexpress, Pointwise and in-house tool grids.
Examples of grids.
Typical CFD features available in refresco. Just read them…
Post-processing using CGS also. Almost all visualization packages can deal with it. At MARIN use more tecplot and paraview.
Strong point of refresco. Coupling with other MARIN tools. ReFRESCO-PROCAL, ReFRESCO-Excalibur, FWHawkings, RAPID, XMF,
All kinds of applications. Read the names and ask the user to choose 2 types (for 1 hour presentation).
Flow at the stern of the “uilenspiegel”. Typical unstructured hexpress grid. Velocity field at the location of the shaft at the stern. Comparison between PIV experiments, ReFRESCO and FineMarine calculations. One of the first calculations done with refresco for a ship.
Analysis of the flow at the stern of a fully appended ship. Illustration of unstructured grids using h-refinements. Illustration of the scale effects at the location of the struts and shafts. ReFRESCO can do calculations at model and full-scale WITHOUT wall-functions. Therefore the accuracy of boundary-layer details is higher. Here, obviously, viscous-effects and wakes are smaller at full-scale than at model-scale.
ReFRESCO has been used in the last 2-3 years for the design/analysis of enery-saving devices. One here is a pre-swirl stator. One can see its effects on the wake-field going into the propeller.
Analysis of the flow at the stern of a fully appended ship including duct, propeller and rudder. Illustration of combination of unstructured grid for the ship+appendages and structured for the propeller. Use of non-conformal/sliding interfaces. Pictures illustrate the limiting streamlines and propeller slip-stream. A pre-duct kind of device is here analysed. This work has been done within EU project GRIP.
Choose one application or touch continue to go to the end of the presentation…
Application of ReFRESCO to flow around submarines. The submarine is the Darpa Suboff AFF-8 USA benchmark test-case used widely for CFD comparison. Example of good iterative convergence and good agreement with experimental data, both on pressure and local velocity field (wake-field)
Application of ReFRESCO to flow around maneuvering submarines. The submarines are the Dutch Walvis-class and Darpa Suboff AFF-1 and AFF-8 test-cases. Example of good comparison against experimental data for integral quantities (moments). Also comparison with other CFD codes. MARIN and ReFRESCO participates in several workshops (ITTC, Tokyo, NATO) on collaborative work, Verification and validation of CFD codes.
Application of ReFRESCO to flow around Joubert generic submarine and BB1 from Australian navy. Illustration of the vertical structures present on the straight-flight of a submarine. These decrease the efficiency of the submarine, and should be minimized.
Application of ReFRESCO to flow around BB1 from Australian navy. Illustration of the vertical structures present on the straight-flight of a submarine. These decrease the efficiency of the submarine, and should be minimized. A optimization study using ReFRESCO has been done on the sail of the submarine. In the movie one can see the velocity field around different axial sections of the submarine. Left the original geometry and right the optimized geometry. The horse-shoe vortices at the sail-hull connection has been minimized…
Choose one application or touch continue to go to the end of the presentation…
ReFRESCO is also used for generation maneuvering coefficients to be used in fast time-simulation tools, in turn of empirical correlations. For the Hamburg Test Case (HTC) ship. In this case, both for a zig-zag and a turning circle manoeuver the CFD coefficients improved the agreement of these simulations tool results against the experimental data.
Manoeuver studies (drift) at shallow-water have been also done, including verification and validation. This illustrates one of these studies for the KVLCC2 container ship. The film illustrates the velocity field at different axial sections at four different bottom clearances. The picture on the bottom right illustrates the comparison of the numerical results for different drift angles and different bottom clearance against model testing.
Example of the application of non-conformal interfaces. With only one grid, the rudder angle can be adapted during the calculations and the rudder an the consequences of the flow and forces studied. The movie illustrates this. The pictures show the comparison of side forces and moments calculated by refresco and model-tests experimental results.
Example of the usage of refresco for tow stability optimization of an offshore vessel. Based on MARIN CFD user knowledge of Naval Architecture, not only the tow stability but also the drag has been severely optimized. These results have been supported by model tests.
Choose one application or touch continue to go to the end of the presentation…
ReFRESCO has been several times applied for the analysis of the flow around propellers and multi-propulsors. Here, the E779A well-known benchmark test-case is computed using structured grids. These high-quality grids are generated using automatic topologies. The use of structured grids improve usually both iterative convergence, code performance and accuracy of the results. For this propeller the numerical results for thrust and torque are within 5% from the experimental results. Also, one can see that the tip vortices (visualized using the Q-factor) extends downstream until the grid is coarsened considerably.
More complex propellers, with fillets and propeller-hub-shaft connections are usually gridded using unstructured grids. In this case the EU Leading-Edge propeller is computed using refresco and again the agreement with the experimental data is good. Also, due to the fact that the grids were targeted for y+<1, the limiting-streamlines show the existence of a leading-edge vortex close to the propeller tip.
Ducted propellers (similar to thrusters or pump-jets) are normally used in Navy vessels or submarines. In this slide a study of the scale effects around such a device is illustrated. The propeller has a 10% better efficiency at full-scale that at model-scale conditions. The calculations are done using moving-grids, and in this case do not need sliding or overlapping grids.
Choose one application or touch continue to go to the end of the presentation…
Cavitation is a topic for which refresco has been applied since 2008. Within the EU project VIRTUE a lot of work has been done on cavitation models and its verification and validation. In this slide an example of the Sauer-Hoekstra-Vaz cavitation model application to a NACA0015 foil is shown. Both the cavity extents, limiting streamlines are shown for different cavitation numbers. Also the cavity extent from the calculations is compared against existing experimental data on the top-right picture.
Also for the E779A INSEAN propeller cavitating-flow simulations have been done. This slide illustrates the cavity patterns for different cavitation numbers. Also the Q-factor on the tip-vortices is illustrated, as well as the limiting streamlines beneath the cavity surface.
Within CRS-Sharcs working group the same E779A propeller has been analyzed both in open-water and behind conditions. In this slide the cavitation pattern for one J/Sigma condition predicted by 7 different partners (and 6 different codes) is compared against experiments.
Within CRS-Sharcs working group the same E779A propeller has been analyzed both in open-water and behind conditions. In this slide the cavitation pattern for one J/Sigma condition inside a cavitation tunnel and behind wake-making plates is shown. The top-right picture illustrate the grids used (unstructured grid for plates and tunnel and structured grids for the propeller). The bottom-right picture is a photo of the experimental cavitation pattern at 0-o’clock top position.
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…
Choose one application or touch continue to go to the end of the presentation…