http://www.cfd-online.com/W/index.php?title=Special:Contributions/Tsaad&feed=atom&limit=50&target=Tsaad&year=&month=CFD-Wiki - User contributions [en]2016-07-01T06:26:55ZFrom CFD-WikiMediaWiki 1.16.5http://www.cfd-online.com/Wiki/CodesCodes2012-11-21T17:20:00Z<p>Tsaad: add mesh type to Uintah</p>
<hr />
<div>An overview of both free and commercial CFD software. Here you will find short descriptions of codes along with links to resources.<br />
<br />
'''Note to contributers:''' Please try to keep descriptions short and to the point (approximately 200 words) and avoid long lists of features or capabilities. Also keep in mind that all contributions are considered to be released under the GNU Free Documentation License 1.2 (see [[Project:Copyrights]] for details). Also note that all information should be verifiable and objective truths that also competitors to the code in question will agree upon. This is especially important if you are an employee of the company selling the code. See the [[CFD-Wiki:Policy]] for further information.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
{| class="wikitable"<br />
|- align="center"<br />
! Solver !! Mesh type(s) supported<br />
|- align="center"<br />
|- align="center"<br />
| align="left" |ADFC -- [http://adfc.sourceforge.net/index.html ADFC homepage]||<br />
|- align="center"<br />
| align="left" |Applied Computational Fluid Dynamics -- [http://www.partenovcfd.com Solver homepage]||<br />
|- align="center"<br />
| align="left" |arb -- [http://www.chemeng.unimelb.edu.au/people/staff/daltonh/downloads/arb/ arb homepage]||GMSH (.msh)<br />
|- align="center"<br />
| align="left" |CalculiX -- [http://www.dhondt.de/ CalculiX homepage]|| internal<br />
|- align="center"<br />
| align="left" |CFD2D -- [http://sourceforge.net/projects/cfd2d/ a 2D-solver for incompressible Navier-Stokes homepage]||Based on Triangle grid generator (see table below)<br />
|- align="center"<br />
| align="left" |CFD2k -- [http://www.cfd2k.eu/ CFD2k: a 2D-solver for compressible ideal gases - homepage]||<br />
|- align="center"<br />
| align="left" |[http://www.cfdpack.net/ cfdpack] -- A collection of academic codes | 2D/3D, FV, unstr, incomp, adjoint, parallel || GMSH (.msh)<br />
|- align="center"<br />
| align="left" |Channelflow -- [http://www.cns.gatech.edu/channelflow/ Channelflow: a spectral Navier-Stokes simulator in C++ homepage]||<br />
|- align="center"<br />
| align="left" |CLAWPACK -- [http://www.amath.washington.edu/~claw/clawpack.org CLAWPACK homepage]||<br />
|- align="center"<br />
| align="left" |Code_Saturne -- [http://www.code-saturne.org/ Code_Saturne homepage]||I-DEAS®, GMSH, Gambit®, Simail®, Salomé, Harpoon®, ICEM<br />
|- align="center"<br />
| align="left" |COOLFluiD -- [http://coolfluidsrv.vki.ac.be/coolfluid COOLFluiD homepage]||<br />
|- align="center"<br />
| align="left" |Diagonalized Upwind Navier Stokes -- [http://duns.sourceforge.net DUNS homepage]||<br />
|- align="center"<br />
| align="left" |[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn a 3D unstructured general purpose solver - homepage]|| GMSH (.msh)<br />
|- align="center"<br />
| align="left" |[[Edge]] -- [http://www.foi.se/edge Edge homepage: 2D & 3D compressible RANS / Euler flow solver on unstructured and hybrid grids]||.bmsh<br />
|- align="center"<br />
| align="left" |[[ELMER]] -- [http://www.csc.fi/elmer/ ELMER homepage]|| .unv (also with multiple body / surface attribution)<br />
|- align="center"<br />
| align="left" |[[FDS]] -- [http://www.fire.nist.gov/fds/ FDS homepage]||<br />
|- align="center"<br />
| align="left" |Featflow -- [http://www.featflow.de Featflow homepage]||<br />
|- align="center"<br />
| align="left" |Femwater -- [http://www.epa.gov/ceampubl/gwater/femwater/index.htm Femwater code]||<br />
|- align="center"<br />
| align="left" |FreeFEM -- [http://www.freefem.org FreeFEM homepage]||<br />
|- align="center"<br />
| align="left" |[[HiFlow³]] -- [http://www.hiflow3.org HiFlow³ homepage]||<br />
|- align="center"<br />
| align="left" |[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]||<br />
|- align="center"<br />
| align="left" |IMTEK Mathematica Supplement (IMS) -- [http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMTEK Mathematica Supplement (IMS) homepage]||<br />
|- align="center"<br />
| align="left" |iNavier -- [http://inavier.com/ iNavier Solver Home Page]||<br />
|- align="center"<br />
| align="left" |ISAAC -- [http://isaac-cfd.sourceforge.net ISAAC Home Page]||<br />
|- align="center"<br />
| align="left" |Kicksey-Winsey -- [http://justpmf.com/romain/kicksey_winsey/ Kicksey-Winsey Home Page]||<br />
|- align="center"<br />
| align="left" |MFIX -- [https://mfix.netl.doe.gov Computational multiphase flow homepage]||<br />
|- align="center"<br />
| align="left" |[[NaSt2D-2.0]] -- [http://home.arcor.de/drklaus.bauerfeind/nast/eNaSt2DA.html NaSt2D-2.0 homepage]||<br />
|- align="center"<br />
| align="left" |[[NEK5000]] -- [http://nek5000.mcs.anl.gov NEK5000 homepage]||<br />
|- align="center"<br />
| align="left" |[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]||<br />
|- align="center"<br />
| align="left" |NUWTUN -- [http://nuwtun.berlios.de NUWTUN Home Page]||<br />
|- align="center"<br />
| align="left" |[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]||GMSH (.msh)<br />
|- align="center"<br />
| align="left" |[[OpenFOAM]] -- [http://www.openfoam.com/ OpenFOAM homepage]|| Internal "foam" format; convert from ansys, cfx4, dat, fluent3d, fluentMesh, gambit, gmsh, ideasUnv, kiva, msh, netgenNeutral, plot3d, samm, star3, star4, tetgen<br />
|- align="center"<br />
| align="left" |[[OpenLB]] -- [http://www.openlb.net/ OpenLB homepage]||<br />
|- align="center"<br />
| align="left" |OpenFVM -- [http://openfvm.sourceforge.net/ OpenFVM homepage]|| GMSH (.msh)<br />
|- align="center"<br />
| align="left" |PETSc-FEM -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]|| Application-specific input (.dat)<br />
|- align="center"<br />
| align="left" |PP3D -- [http://www.featflow.de/ parpp3d++ homepage]||<br />
|- align="center"<br />
| align="left" |[[Semtex]] -- [http://users.monash.edu.au/~bburn/semtex.html Semtex homepage: 2D/3D spectral element/Fourier DNS]|| Unstructured quad meshes<br />
|- align="center"<br />
| align="left" |SLFCFD -- [http://slfcfd.sourceforge.net SLFCFD homepage]||<br />
|- align="center"<br />
| align="left" |[[SSIIM]] -- [http://folk.ntnu.no/nilsol/cfd/ CFD at NTNU]||<br />
|- align="center"<br />
| align="left" |[[SU2]] -- [http://su2.stanford.edu/ Stanford University Unstructured Homepage]|| Internal "su2" format and cgns format<br />
|- align="center"<br />
| align="left" |[[Tochnog]] -- [http://tochnog.sourceforge.net Tochnog homepage]||<br />
|- align="center"<br />
| align="left" |TYCHO -- [http://tycho-cfd.at/ TYCHO homepage]||<br />
|- align="center"<br />
| align="left" |Typhon solver -- [http://typhon.sf.net Typhon solver homepage]||<br />
|- align="center"<br />
| align="left" |Uintah Computational Framework -- [http://www.uintah.utah.edu Uintah homepage] || Structured<br />
|- align="center"<br />
<br />
|}<br />
<br />
=== Grid generation ===<br />
{| class="wikitable"<br />
|- align="center"<br />
! Generator !! Mesh type(s) supported !! Input filetypes supported<br />
|- align="center"<br />
| align="left" |[[Delaundo]] -- [http://www.cerfacs.fr/~muller/delaundo.html Delaundo homepage]||.pts<br />
|- align="center"<br />
| align="left" | Engrid -- [http://engrid.sourceforge.net Engrid homepage]||<br />
|- align="center"<br />
| align="left" | GMSH -- [http://www.geuz.org/gmsh/ GMSH hompage]||.msh<br />
|- align="center"<br />
| align="left" | gridgen -- [http://code.google.com/p/gridgen-c gridgen homepage]||<br />
|- align="center"<br />
| align="left" | IA-FEMesh -- [http://www.ccad.uiowa.edu/mimx/IA-FEMesh IA-FEMesh homepage]||ABAQUS<br />
|- align="center"<br />
| align="left" | NETGEN -- [http://www.hpfem.jku.at/netgen/ NETGEN homepage]|| Neutral, Fepp2D, surfacemesh, solution||.stl, .iges, .csg, .step<br />
|- align="center"<br />
| align="left" | SALOME -- [http://www.salome-platform.org SALOME homepage]||MED, UNV, DAT, STL ||IGES, STEP, BREP<br />
|- align="center"<br />
| align="left" | TETGEN -- [http://tetgen.berlios.de/ TETGEN hompage]||.off, .mesh, .smesh, .ele||.node, .poly, .off, .stl, .mesh, .smesh, .ply<br />
|- align="center"<br />
| align="left" |[[Triangle]] -- [http://www.cs.cmu.edu/~quake/triangle.html Triangle homepage]||(2D only) .node, .ele, .poly, .area<br />
|}<br />
<br />
=== Visualization ===<br />
*[[DISLIN]] -- [http://www.mps.mpg.de/dislin/server.html DISLIN homepage]<br />
* GMV -- [http://www-xdiv.lanl.gov/XCM/gmv/ GMV homepage]<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
* GRI -- [http://gri.sourceforge.net/ GRI homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] -- [http://www.opendx.org OpenDX homepage]<br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Tioga]] -- [http://www.kitp.ucsb.edu/~paxton/tioga.html Tioga homepage]<br />
*[[VAPOR]] -- [http://www.vapor.ucar.edu VAPOR homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]] -- [http://www.llnl.gov/visit Visit homepage]<br />
*[[vtk]] -- [http://www.vtk.org vtk homepage]<br />
*[[vtk.Net]] -- [http://vtkdotnet.sourceforge.net/ vtk.Net homepage] <br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]] -- [http://digitizer.sourceforge.net Engauge Digitizer homepage]<br />
*[[Ftnchek]] -- [http://www.dsm.fordham.edu/~ftnchek/ ftnchek homepage]<br />
*[[g3data]] -- [http://www.frantz.fi/software/g3data.php g3data homepage]<br />
* GIFMerge -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]] -- [http://www.lcdf.org/~eddietwo/gifsicle/ Gifsicle homepage]<br />
*[[ImageMagick]] -- [http://www.imagemagick.org ImageMagick homepage]<br />
* nnbathy (natural neighbor interpolation) -- [http://code.google.com/p/nn-c/ nnbathy home page]<br />
*[[O-PALM]] -- [http://www.cerfacs.fr/globc/PALM_WEB O-PALM homepage]<br />
* [[OpenGPI]] (Generic Parameter Interface) -- [http://www.opengpi.org OpenGPI homepage]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
* 6sigmaDC -- [http://www.futurefacilities.com Future Facilities homepage]<br />
* Applied Computational Fluid Dynamics -- [http://www.partenovcfd.com Solver homepage]<br />
* AcuSolve -- [http://www.acusim.com/ ACUSIM Software's homepage]<br />
* ADINA-F -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ADINA-FSI -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ANANAS -- [http://www.lemma-ing.com/index.html LEMMA's homepage]<br />
* ANSWER -- [http://www.acricfd.com/ ACRi's homepage]<br />
* Azore -- [http://www.azoretechnologies.com Azore Technologies, LLC homepage]<br />
*[http://www.cfd-online.com/W/index.php?title=CFD%2B%2B CFD++] -- [http://www.metacomptech.com Metacomp Techonlogies' homepage]<br />
* CFD2000 -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
* CFD-ACE -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
* CFdesign -- [http://www.cfdesign.com CFdesign's homepage]<br />
* CFX -- [http://www.ansys.com/ ANSYS homepage]<br />
* CharLES -- [http://www.cascadetechnologies.com/ Cascade Technologies homepage]<br />
* COMSOL Multiphysics -- [http://www.comsol.com/ COMSOL's homepage]<br />
* COMSOL Multiphysics CFD Module -- [http://www.comsol.com/products/cfd/ COMSOL's CFD Module]<br />
* Coolit -- [http://www.daat.com/ Daat Research's Coolit homepage]<br />
* CoolitPCB -- [http://www.coolitpcb.com/ Daat Research's CoolitPCB homepage]<br />
* DLR - TAU -- [http://tau.dlr.de/ TAU's homepage]<br />
* DQMoM -- [http://www.cmclinnovations.com/userstories/userstory9.html cmcl innovations' product page]<br />
* EasyCFD -- [http://www.easycfd.net EasyCFD homepage]<br />
*[[FENSAP-ICE]] -- [http://www.newmerical.com/ NTI' homepage]<br />
* FINE/Hexa -- [http://www.numeca.be/ Numeca's homepage]<br />
* FINE/Turbo -- [http://www.numeca.be/ Numeca's homepage]<br />
* FIRE -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLACS]] -- [http://www.gexcon.com/index.php?src=flacs/overview.html GexCon's homepage]<br />
* FloEFD -- [http://www.mentor.com/products/mechanical/products/floefd Mentor's FloEFD homepage]<br />
* FloTHERM-- [http://www.mentor.com/products/mechanical/products/flotherm Mentor's FloTHERM homepage]<br />
* FloVENT-- [http://www.mentor.com/products/mechanical/products/flovent Mentor's FloVENT homepage]<br />
* FLOW-3D -- [http://www.flow3d.com/ Flow Science's homepage]<br />
* FLOWVISION -- [http://www.fv-tech.com FlowVision's homepage]<br />
* Flowz--[http://www.zeusnumerix.com Zeus Numerix's homepage ]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
* [[FLUIDYN]] -- [http://www.fluidyn.com Fluidyn's homepage]<br />
* FluSol -- [http://www.cfd-rocket.com FluSol's hompage]<br />
* GASP-- [http://www.aerosoftinc.com AeroSoft homepage]<br />
*[[J-FLO]] -- [http://www.newmerical.com NTI's homepage]<br />
* Kameleon FireEx - KFX -- [http://www.computit.com ComputIT's homepage]<br />
* KINetics Reactive Flows -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
* KIVA--[http://www.lanl.gov/orgs/t/t3/codes/kiva.shtml Los Alamos homepage]<br />
*[[NOGRID FPM]] -- [http://www.no-grid.com NOGRIDS's homepage]<br />
* NX Electronic Systems Cooling -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=69&Itemid=237 MAYA's NX ESC page]<br />
* NX Advanced Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=1&Itemid=115 MAYA HTT's NX Adv. Flow page]<br />
* NX Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=2&Itemid=116 MAYA HTT's NX Flow page]<br />
* MicroFlo -- [http://www.iesve.com/Software/VE-Pro/MicroFlo homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[PHYSICA]] -- [http://physica.co.uk PHYSICA's homepage]<br />
* PowerFLOW -- [http://www.exa.com/pages/pflow/pflow_main.html Exa PowerFLOW homepage]<br />
* PumpLinx -- [http://www.simerics.com Simerics' homepage]<br />
* Range Software -- [http://www.range-software.com Range' homepage]<br />
*[[RheoChart]] -- [http://www.rheochart.com RheoChart Homepage]<br />
* [[Siemens PLM Software CFD]] -- [http://www.plm.automation.siemens.com/en_us/products/nx/simulation/advanced/index.shtml Siemens PLM Software NX CAE page]<br />
*[[Smartfire]] -- [http://fseg.gre.ac.uk/smartfire Smartfire Homepage]<br />
* [[Solution of Boltzmann Equation]] -- [http://www.elegant-mathematics.com/ Elegant Mathematics homepage]<br />
*[[SPLASH]] -- [http://www.panix.com/~brosen SPLASH's homepage]<br />
*[[srm suite]] -- [http://www.cmclinnovations.com/products/srmsuite cmcl innovations' product page]<br />
* STALLION 3D -- [http://www.hanleyinnovations.com/stallion3d.html Hanley Innovations' STALLION 3D homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[STAR-CCM+]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Tdyn]] -- [http://www.compassis.com CompassIS' homepage]<br />
* TMG-Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=82&Itemid=283 MAYA HTT's CFD page]<br />
* Turb'Flow -- [http://www.fluorem.com Fluorem's hompage]<br />
* TURBOcfd -- [http://adtechnology.co.uk/products/turbocfd/ TURBOcfd's hompage]<br />
<br />
=== Grid generation ===<br />
<br />
* ADINA-AUI -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ANAMESH -- [http://www.lemma-ing.com/index.html LEMMA's homepage]<br />
* ANSA -- [http://www.beta-cae.gr/ BETA-CAE's homepage]<br />
* AutoMesh4G -- [http://www.numeca.be/ Numeca's homepage]<br />
* Centaur -- [http://www.centaursoft.com CentaurSoft homepage]<br />
*[[CFD-GEOM]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFD-VISCART]] -- [http://www.esi-group.com/ ESI's homepage]<br />
* CFDExpert-GridZ --[http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
*[[Cubit]] -- [http://www.csimsoft.com/ csimsoft's homepage]<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[ GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
* Harpoon -- [http://www.sharc.co.uk/ Harpoon's homepage]<br />
* HyperMesh -- [http://www.altairhyperworks.com/ Altair HyperWorks' homepage]<br />
* ICEM CFD -- [http://www.ansys.com/ ANSYS' homepage]<br />
*[[Pointwise]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[RBF Morph]] -- [http://www.rbf-morph.com/ RBF Morph homepage]<br />
* +ScanFE -- [http://www.simpleware.com/ Simpleware's homepage]<br />
* SolidMesh -- [http://www.simcenter.msstate.edu/docs/solidmesh/ SolidMesh homepage]<br />
* Tommie -- [http://www.cascadetechnologies.com/ Cascade Technologies homepage]<br />
<br />
=== Visualization ===<br />
<br />
* ADINA-AUI -- [http://www.adina.com/index.html ADINA's homepage]<br />
*[[CFD-VIEW]] -- [http://www.esi-group.com/ ESI's homepage]<br />
* CFView -- [http://www.numeca.be/ Numeca's homepage]<br />
* CFX-Post -- [http://www.ansys.com/ ANSYS' homepage]<br />
* COMSOL -- [http://www.comsol.com/ COMSOL's homepage]<br />
* CoolPlot -- [http://www.daat.com/ Daat Research's homepage]<br />
* COVISE -- [http://www.visenso.de/ Visenso's homepage]<br />
* EnSight -- [http://www.ensight.com/ CEI's homepage]<br />
* Fieldview -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
* HyperView -- [http://www.altairhyperworks.com/ Altair HyperWorks' homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
* VU -- [http://www.invisu.ca/ inVisu's homepage]<br />
*ViewZ -- [http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
<br />
=== Systems ===<br />
<br />
* ADINA -- [http://www.adina.com/index.html ADINA's homepage]<br />
* FINE/Design3D -- [http://www.numeca.be/ Numeca's homepage]<br />
* Flowmaster -- [http://www.flowmaster.com/index.html Flowmaster's homepage]<br />
* Flownex -- [http://www.flownex.com/ Flownex's homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2012-11-20T23:11:39Z<p>Tsaad: Add link to the Uintah computational framework</p>
<hr />
<div>An overview of both free and commercial CFD software. Here you will find short descriptions of codes along with links to resources.<br />
<br />
'''Note to contributers:''' Please try to keep descriptions short and to the point (approximately 200 words) and avoid long lists of features or capabilities. Also keep in mind that all contributions are considered to be released under the GNU Free Documentation License 1.2 (see [[Project:Copyrights]] for details). Also note that all information should be verifiable and objective truths that also competitors to the code in question will agree upon. This is especially important if you are an employee of the company selling the code. See the [[CFD-Wiki:Policy]] for further information.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
{| class="wikitable"<br />
|- align="center"<br />
! Solver !! Mesh type(s) supported<br />
|- align="center"<br />
|- align="center"<br />
| align="left" |ADFC -- [http://adfc.sourceforge.net/index.html ADFC homepage]||<br />
|- align="center"<br />
| align="left" |Applied Computational Fluid Dynamics -- [http://www.partenovcfd.com Solver homepage]||<br />
|- align="center"<br />
| align="left" |arb -- [http://www.chemeng.unimelb.edu.au/people/staff/daltonh/downloads/arb/ arb homepage]||GMSH (.msh)<br />
|- align="center"<br />
| align="left" |CalculiX -- [http://www.dhondt.de/ CalculiX homepage]|| internal<br />
|- align="center"<br />
| align="left" |CFD2D -- [http://sourceforge.net/projects/cfd2d/ a 2D-solver for incompressible Navier-Stokes homepage]||Based on Triangle grid generator (see table below)<br />
|- align="center"<br />
| align="left" |CFD2k -- [http://www.cfd2k.eu/ CFD2k: a 2D-solver for compressible ideal gases - homepage]||<br />
|- align="center"<br />
| align="left" |[http://www.cfdpack.net/ cfdpack] -- A collection of academic codes | 2D/3D, FV, unstr, incomp, adjoint, parallel || GMSH (.msh)<br />
|- align="center"<br />
| align="left" |Channelflow -- [http://www.cns.gatech.edu/channelflow/ Channelflow: a spectral Navier-Stokes simulator in C++ homepage]||<br />
|- align="center"<br />
| align="left" |CLAWPACK -- [http://www.amath.washington.edu/~claw/clawpack.org CLAWPACK homepage]||<br />
|- align="center"<br />
| align="left" |Code_Saturne -- [http://www.code-saturne.org/ Code_Saturne homepage]||I-DEAS®, GMSH, Gambit®, Simail®, Salomé, Harpoon®, ICEM<br />
|- align="center"<br />
| align="left" |COOLFluiD -- [http://coolfluidsrv.vki.ac.be/coolfluid COOLFluiD homepage]||<br />
|- align="center"<br />
| align="left" |Diagonalized Upwind Navier Stokes -- [http://duns.sourceforge.net DUNS homepage]||<br />
|- align="center"<br />
| align="left" |[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn a 3D unstructured general purpose solver - homepage]|| GMSH (.msh)<br />
|- align="center"<br />
| align="left" |[[Edge]] -- [http://www.foi.se/edge Edge homepage: 2D & 3D compressible RANS / Euler flow solver on unstructured and hybrid grids]||.bmsh<br />
|- align="center"<br />
| align="left" |[[ELMER]] -- [http://www.csc.fi/elmer/ ELMER homepage]|| .unv (also with multiple body / surface attribution)<br />
|- align="center"<br />
| align="left" |[[FDS]] -- [http://www.fire.nist.gov/fds/ FDS homepage]||<br />
|- align="center"<br />
| align="left" |Featflow -- [http://www.featflow.de Featflow homepage]||<br />
|- align="center"<br />
| align="left" |Femwater -- [http://www.epa.gov/ceampubl/gwater/femwater/index.htm Femwater code]||<br />
|- align="center"<br />
| align="left" |FreeFEM -- [http://www.freefem.org FreeFEM homepage]||<br />
|- align="center"<br />
| align="left" |[[HiFlow³]] -- [http://www.hiflow3.org HiFlow³ homepage]||<br />
|- align="center"<br />
| align="left" |[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]||<br />
|- align="center"<br />
| align="left" |IMTEK Mathematica Supplement (IMS) -- [http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMTEK Mathematica Supplement (IMS) homepage]||<br />
|- align="center"<br />
| align="left" |iNavier -- [http://inavier.com/ iNavier Solver Home Page]||<br />
|- align="center"<br />
| align="left" |ISAAC -- [http://isaac-cfd.sourceforge.net ISAAC Home Page]||<br />
|- align="center"<br />
| align="left" |Kicksey-Winsey -- [http://justpmf.com/romain/kicksey_winsey/ Kicksey-Winsey Home Page]||<br />
|- align="center"<br />
| align="left" |MFIX -- [https://mfix.netl.doe.gov Computational multiphase flow homepage]||<br />
|- align="center"<br />
| align="left" |[[NaSt2D-2.0]] -- [http://home.arcor.de/drklaus.bauerfeind/nast/eNaSt2DA.html NaSt2D-2.0 homepage]||<br />
|- align="center"<br />
| align="left" |[[NEK5000]] -- [http://nek5000.mcs.anl.gov NEK5000 homepage]||<br />
|- align="center"<br />
| align="left" |[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]||<br />
|- align="center"<br />
| align="left" |NUWTUN -- [http://nuwtun.berlios.de NUWTUN Home Page]||<br />
|- align="center"<br />
| align="left" |[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]||GMSH (.msh)<br />
|- align="center"<br />
| align="left" |[[OpenFOAM]] -- [http://www.openfoam.com/ OpenFOAM homepage]|| Internal "foam" format; convert from ansys, cfx4, dat, fluent3d, fluentMesh, gambit, gmsh, ideasUnv, kiva, msh, netgenNeutral, plot3d, samm, star3, star4, tetgen<br />
|- align="center"<br />
| align="left" |[[OpenLB]] -- [http://www.openlb.net/ OpenLB homepage]||<br />
|- align="center"<br />
| align="left" |OpenFVM -- [http://openfvm.sourceforge.net/ OpenFVM homepage]|| GMSH (.msh)<br />
|- align="center"<br />
| align="left" |PETSc-FEM -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]|| Application-specific input (.dat)<br />
|- align="center"<br />
| align="left" |PP3D -- [http://www.featflow.de/ parpp3d++ homepage]||<br />
|- align="center"<br />
| align="left" |[[Semtex]] -- [http://users.monash.edu.au/~bburn/semtex.html Semtex homepage: 2D/3D spectral element/Fourier DNS]|| Unstructured quad meshes<br />
|- align="center"<br />
| align="left" |SLFCFD -- [http://slfcfd.sourceforge.net SLFCFD homepage]||<br />
|- align="center"<br />
| align="left" |[[SSIIM]] -- [http://folk.ntnu.no/nilsol/cfd/ CFD at NTNU]||<br />
|- align="center"<br />
| align="left" |[[SU2]] -- [http://su2.stanford.edu/ Stanford University Unstructured Homepage]|| Internal "su2" format and cgns format<br />
|- align="center"<br />
| align="left" |[[Tochnog]] -- [http://tochnog.sourceforge.net Tochnog homepage]||<br />
|- align="center"<br />
| align="left" |TYCHO -- [http://tycho-cfd.at/ TYCHO homepage]||<br />
|- align="center"<br />
| align="left" |Typhon solver -- [http://typhon.sf.net Typhon solver homepage]||<br />
|- align="center"<br />
| align="left" |Uintah Computational Framework -- [http://www.uintah.utah.edu Uintah homepage]||<br />
|- align="center"<br />
<br />
|}<br />
<br />
=== Grid generation ===<br />
{| class="wikitable"<br />
|- align="center"<br />
! Generator !! Mesh type(s) supported !! Input filetypes supported<br />
|- align="center"<br />
| align="left" |[[Delaundo]] -- [http://www.cerfacs.fr/~muller/delaundo.html Delaundo homepage]||.pts<br />
|- align="center"<br />
| align="left" | Engrid -- [http://engrid.sourceforge.net Engrid homepage]||<br />
|- align="center"<br />
| align="left" | GMSH -- [http://www.geuz.org/gmsh/ GMSH hompage]||.msh<br />
|- align="center"<br />
| align="left" | gridgen -- [http://code.google.com/p/gridgen-c gridgen homepage]||<br />
|- align="center"<br />
| align="left" | IA-FEMesh -- [http://www.ccad.uiowa.edu/mimx/IA-FEMesh IA-FEMesh homepage]||ABAQUS<br />
|- align="center"<br />
| align="left" | NETGEN -- [http://www.hpfem.jku.at/netgen/ NETGEN homepage]|| Neutral, Fepp2D, surfacemesh, solution||.stl, .iges, .csg, .step<br />
|- align="center"<br />
| align="left" | SALOME -- [http://www.salome-platform.org SALOME homepage]||MED, UNV, DAT, STL ||IGES, STEP, BREP<br />
|- align="center"<br />
| align="left" | TETGEN -- [http://tetgen.berlios.de/ TETGEN hompage]||.off, .mesh, .smesh, .ele||.node, .poly, .off, .stl, .mesh, .smesh, .ply<br />
|- align="center"<br />
| align="left" |[[Triangle]] -- [http://www.cs.cmu.edu/~quake/triangle.html Triangle homepage]||(2D only) .node, .ele, .poly, .area<br />
|}<br />
<br />
=== Visualization ===<br />
*[[DISLIN]] -- [http://www.mps.mpg.de/dislin/server.html DISLIN homepage]<br />
* GMV -- [http://www-xdiv.lanl.gov/XCM/gmv/ GMV homepage]<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
* GRI -- [http://gri.sourceforge.net/ GRI homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] -- [http://www.opendx.org OpenDX homepage]<br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Tioga]] -- [http://www.kitp.ucsb.edu/~paxton/tioga.html Tioga homepage]<br />
*[[VAPOR]] -- [http://www.vapor.ucar.edu VAPOR homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]] -- [http://www.llnl.gov/visit Visit homepage]<br />
*[[vtk]] -- [http://www.vtk.org vtk homepage]<br />
*[[vtk.Net]] -- [http://vtkdotnet.sourceforge.net/ vtk.Net homepage] <br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]] -- [http://digitizer.sourceforge.net Engauge Digitizer homepage]<br />
*[[Ftnchek]] -- [http://www.dsm.fordham.edu/~ftnchek/ ftnchek homepage]<br />
*[[g3data]] -- [http://www.frantz.fi/software/g3data.php g3data homepage]<br />
* GIFMerge -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]] -- [http://www.lcdf.org/~eddietwo/gifsicle/ Gifsicle homepage]<br />
*[[ImageMagick]] -- [http://www.imagemagick.org ImageMagick homepage]<br />
* nnbathy (natural neighbor interpolation) -- [http://code.google.com/p/nn-c/ nnbathy home page]<br />
*[[O-PALM]] -- [http://www.cerfacs.fr/globc/PALM_WEB O-PALM homepage]<br />
* [[OpenGPI]] (Generic Parameter Interface) -- [http://www.opengpi.org OpenGPI homepage]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
* 6sigmaDC -- [http://www.futurefacilities.com Future Facilities homepage]<br />
* Applied Computational Fluid Dynamics -- [http://www.partenovcfd.com Solver homepage]<br />
* AcuSolve -- [http://www.acusim.com/ ACUSIM Software's homepage]<br />
* ADINA-F -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ADINA-FSI -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ANANAS -- [http://www.lemma-ing.com/index.html LEMMA's homepage]<br />
* ANSWER -- [http://www.acricfd.com/ ACRi's homepage]<br />
* Azore -- [http://www.azoretechnologies.com Azore Technologies, LLC homepage]<br />
*[http://www.cfd-online.com/W/index.php?title=CFD%2B%2B CFD++] -- [http://www.metacomptech.com Metacomp Techonlogies' homepage]<br />
* CFD2000 -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
* CFD-ACE -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
* CFdesign -- [http://www.cfdesign.com CFdesign's homepage]<br />
* CFX -- [http://www.ansys.com/ ANSYS homepage]<br />
* CharLES -- [http://www.cascadetechnologies.com/ Cascade Technologies homepage]<br />
* COMSOL Multiphysics -- [http://www.comsol.com/ COMSOL's homepage]<br />
* COMSOL Multiphysics CFD Module -- [http://www.comsol.com/products/cfd/ COMSOL's CFD Module]<br />
* Coolit -- [http://www.daat.com/ Daat Research's Coolit homepage]<br />
* CoolitPCB -- [http://www.coolitpcb.com/ Daat Research's CoolitPCB homepage]<br />
* DLR - TAU -- [http://tau.dlr.de/ TAU's homepage]<br />
* DQMoM -- [http://www.cmclinnovations.com/userstories/userstory9.html cmcl innovations' product page]<br />
* EasyCFD -- [http://www.easycfd.net EasyCFD homepage]<br />
*[[FENSAP-ICE]] -- [http://www.newmerical.com/ NTI' homepage]<br />
* FINE/Hexa -- [http://www.numeca.be/ Numeca's homepage]<br />
* FINE/Turbo -- [http://www.numeca.be/ Numeca's homepage]<br />
* FIRE -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLACS]] -- [http://www.gexcon.com/index.php?src=flacs/overview.html GexCon's homepage]<br />
* FloEFD -- [http://www.mentor.com/products/mechanical/products/floefd Mentor's FloEFD homepage]<br />
* FloTHERM-- [http://www.mentor.com/products/mechanical/products/flotherm Mentor's FloTHERM homepage]<br />
* FloVENT-- [http://www.mentor.com/products/mechanical/products/flovent Mentor's FloVENT homepage]<br />
* FLOW-3D -- [http://www.flow3d.com/ Flow Science's homepage]<br />
* FLOWVISION -- [http://www.fv-tech.com FlowVision's homepage]<br />
* Flowz--[http://www.zeusnumerix.com Zeus Numerix's homepage ]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
* [[FLUIDYN]] -- [http://www.fluidyn.com Fluidyn's homepage]<br />
* FluSol -- [http://www.cfd-rocket.com FluSol's hompage]<br />
* GASP-- [http://www.aerosoftinc.com AeroSoft homepage]<br />
*[[J-FLO]] -- [http://www.newmerical.com NTI's homepage]<br />
* Kameleon FireEx - KFX -- [http://www.computit.com ComputIT's homepage]<br />
* KINetics Reactive Flows -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
* KIVA--[http://www.lanl.gov/orgs/t/t3/codes/kiva.shtml Los Alamos homepage]<br />
*[[NOGRID FPM]] -- [http://www.no-grid.com NOGRIDS's homepage]<br />
* NX Electronic Systems Cooling -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=69&Itemid=237 MAYA's NX ESC page]<br />
* NX Advanced Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=1&Itemid=115 MAYA HTT's NX Adv. Flow page]<br />
* NX Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=2&Itemid=116 MAYA HTT's NX Flow page]<br />
* MicroFlo -- [http://www.iesve.com/Software/VE-Pro/MicroFlo homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[PHYSICA]] -- [http://physica.co.uk PHYSICA's homepage]<br />
* PowerFLOW -- [http://www.exa.com/pages/pflow/pflow_main.html Exa PowerFLOW homepage]<br />
* PumpLinx -- [http://www.simerics.com Simerics' homepage]<br />
* Range Software -- [http://www.range-software.com Range' homepage]<br />
*[[RheoChart]] -- [http://www.rheochart.com RheoChart Homepage]<br />
* [[Siemens PLM Software CFD]] -- [http://www.plm.automation.siemens.com/en_us/products/nx/simulation/advanced/index.shtml Siemens PLM Software NX CAE page]<br />
*[[Smartfire]] -- [http://fseg.gre.ac.uk/smartfire Smartfire Homepage]<br />
* [[Solution of Boltzmann Equation]] -- [http://www.elegant-mathematics.com/ Elegant Mathematics homepage]<br />
*[[SPLASH]] -- [http://www.panix.com/~brosen SPLASH's homepage]<br />
*[[srm suite]] -- [http://www.cmclinnovations.com/products/srmsuite cmcl innovations' product page]<br />
* STALLION 3D -- [http://www.hanleyinnovations.com/stallion3d.html Hanley Innovations' STALLION 3D homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[STAR-CCM+]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Tdyn]] -- [http://www.compassis.com CompassIS' homepage]<br />
* TMG-Flow -- [http://www.mayahtt.com/index.php?option=com_content&task=view&id=82&Itemid=283 MAYA HTT's CFD page]<br />
* Turb'Flow -- [http://www.fluorem.com Fluorem's hompage]<br />
* TURBOcfd -- [http://adtechnology.co.uk/products/turbocfd/ TURBOcfd's hompage]<br />
<br />
=== Grid generation ===<br />
<br />
* ADINA-AUI -- [http://www.adina.com/index.html ADINA's homepage]<br />
* ANAMESH -- [http://www.lemma-ing.com/index.html LEMMA's homepage]<br />
* ANSA -- [http://www.beta-cae.gr/ BETA-CAE's homepage]<br />
* AutoMesh4G -- [http://www.numeca.be/ Numeca's homepage]<br />
* Centaur -- [http://www.centaursoft.com CentaurSoft homepage]<br />
*[[CFD-GEOM]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFD-VISCART]] -- [http://www.esi-group.com/ ESI's homepage]<br />
* CFDExpert-GridZ --[http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
*[[Cubit]] -- [http://www.csimsoft.com/ csimsoft's homepage]<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[ GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
* Harpoon -- [http://www.sharc.co.uk/ Harpoon's homepage]<br />
* HyperMesh -- [http://www.altairhyperworks.com/ Altair HyperWorks' homepage]<br />
* ICEM CFD -- [http://www.ansys.com/ ANSYS' homepage]<br />
*[[Pointwise]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[RBF Morph]] -- [http://www.rbf-morph.com/ RBF Morph homepage]<br />
* +ScanFE -- [http://www.simpleware.com/ Simpleware's homepage]<br />
* SolidMesh -- [http://www.simcenter.msstate.edu/docs/solidmesh/ SolidMesh homepage]<br />
* Tommie -- [http://www.cascadetechnologies.com/ Cascade Technologies homepage]<br />
<br />
=== Visualization ===<br />
<br />
* ADINA-AUI -- [http://www.adina.com/index.html ADINA's homepage]<br />
*[[CFD-VIEW]] -- [http://www.esi-group.com/ ESI's homepage]<br />
* CFView -- [http://www.numeca.be/ Numeca's homepage]<br />
* CFX-Post -- [http://www.ansys.com/ ANSYS' homepage]<br />
* COMSOL -- [http://www.comsol.com/ COMSOL's homepage]<br />
* CoolPlot -- [http://www.daat.com/ Daat Research's homepage]<br />
* COVISE -- [http://www.visenso.de/ Visenso's homepage]<br />
* EnSight -- [http://www.ensight.com/ CEI's homepage]<br />
* Fieldview -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
* HyperView -- [http://www.altairhyperworks.com/ Altair HyperWorks' homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
* VU -- [http://www.invisu.ca/ inVisu's homepage]<br />
*ViewZ -- [http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
<br />
=== Systems ===<br />
<br />
* ADINA -- [http://www.adina.com/index.html ADINA's homepage]<br />
* FINE/Design3D -- [http://www.numeca.be/ Numeca's homepage]<br />
* Flowmaster -- [http://www.flowmaster.com/index.html Flowmaster's homepage]<br />
* Flownex -- [http://www.flownex.com/ Flownex's homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/Parallel_computingParallel computing2008-07-20T05:13:28Z<p>Tsaad: Added a link to an MPI tutorial</p>
<hr />
<div>== Introduction ==<br />
Ever heard of "Divide and Conquer"? Ever heard of "Together we stand, divided we fall"? This is the whole idea of parallel computing. A complicated CFD problem involving combustion, heat transfer, turbulence, and a complex geometry needs to be tackled. The way to tackle it is to divide it and then conquer it. The computers unite their efforts to stand up to the challenge!<br />
<br />
Parallel computing is defined as the simultaneous use of more than one processor to execute a program. This formal definition holds a lot of intricacies inside. For instance, given a program, one cannot expect to run this program on a 1000 processors without any change to the original code. The program has to have instructions to guide it to run in parallel. Since the work is shared or distributed amongst "different" processors, data has to be exchanged now and then. This data exchange takes place using different methods depending on the type of parallel computer used. For example, using a network of PCs, a certain protocol has to be defined (or installed) to allow the data flow between PCs. The sections below describe some of the details involved.<br />
<br />
== Types of parallel computers ==<br />
There are two fundamental types of parallel computers<br />
*A single computer with multiple internal processors, known as a ''Shared Memory Multiprocessor''.<br />
*A set of computers interconnected through a network, known as a ''Distributed Memory Multicomputer''.<br />
Each of these can be referred to as a Parallel Computer. In this section we briefly discuss the architecture of the above systems.<br />
<br />
=== Shared memory multiprocessor === <br />
A conventional computer consists of a processor and a memory readily accessible by any instruction the processor is executing. The shared memory multiprocessor is a natural extension of the single processor where multiple processors are connected to multiple memory modules such that each memory location has a single address space throughout the system. This means that any processor can readily have access to any memory location without any need for copying data from one memory to another.<br />
[[Image:ParallelComputing Shared Memory Multiprocessor.gif|frame|Shared Memory Multiprocessor]]<br />
<br />
Programming a shared memory multiprocessor is attractive for programmers because of the convenience offered by data sharing. However, care must taken when altering values at a given memory location since cached copies of such variables have also to be updated for any processor using that data. Furthermore, simultaneous access to memory locations has to be controlled carefully.<br />
<br />
The major disadvantages of the shared memory multiprocessor are summarized in the following:<br />
# Difficult to implement hardware able to achieve fast access to all shared memory locations<br />
# High cost: design and manufacturing complexities<br />
# Short life: upgrade is limited<br />
<br />
=== Distributed memory multicomputer ===<br />
The distributed memory multicomputer or message passing multicomputer consists of connecting independent computers via an interconnection network as shown in the figure below. Inter-processor communication is achieved through sending messages explicitly from each computer to another using a message passing library such as MPI (Message Passing Interface). In such a setup, as each computer has its own memory address space. A processor can only access its own local memory. To access a certain value residing in a different computer, it has to be copied by sending a message to the desired processor. The message passing multicomputer will physically scale easier than a shared memory multiprocessor, i.e. it can more easily be extended by adding more computers to the network.<br />
[[Image:ParallelComputing_Distributed_Memory_Multicomputer.gif|frame|Distributed Memory Multicomputer]]<br />
<br />
Programming a message passing multicomputer requires the programmers to provide explicit calls for message passing routines in their programs which is sometimes error prone. However, as the recent progress and research in parallel computing has shown, message passing does not cause any unsurpassed problem. Special mechanisms are not needed for controlling access to data since the data will be copied from one computer to another.<br />
The most compelling reason for using message passing multicomputers is in its direct applicability to existing computer networks. Of course, it is much better to use a new computer with a processor operating k times faster than each of the k processors in an old multiprocessor, especially if the new single processor costs much less than the multiprocessor. And it is therefore cheaper to buy N new processors and connect them through a network.<br />
<br />
In a distributed memory system a '''Master''' Processor refers to any one of the computers, which actually acts as the job manager (orchestrator) that distributes jobs amongst the other computers. All the pre-processing and post-processing is done on the master processor.<br><br />
A '''Slave''' Processor refers to any one of the computers on the network that is not a master.<br />
<br />
==Measuring parallel performance==<br />
There are various methods that are used to measure the performance of a certain parallel program. No single method is usually preferred over another since each of them, as will be seen later on, reflects certain properties of the parallel code.<br />
<br />
=== Speedup ===<br />
In the simplest of terms, the most obvious benefit of using a parallel computer is the reduction in the running time of the code. Therefore, a straightforward measure of the parallel performance would be the ratio of the execution time on a single processor (the sequential version) to that on a multicomputer. This ratio is defined as the speedup factor and is given as <br><br />
<math>S(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors}}=\frac{t_s}{t_n}</math> <br><br />
where <math>t_s</math> is the execution time on a single processor and <math>t_n</math> is the execution time on a parallel computer. <br />
<br />
S(n) therefore describes the scalability of the system as the number of processors is increased. The ideal speedup is n when using n processors, i.e. when the computations can be divided into equal duration processes with each process running on one processor (with no communication overhead). Ironically, this is called ''embarrassingly parallel computing''!<br />
<br />
In some cases, superlinear speedup (S(n)>n) may be encountered. Usually this is caused by either using a suboptimal sequential algorithm or some unique specification of the hardware architecture that favors the parallel computation. For example, one common reason for superlinear speedup is the extra memory in the multiprocessor system.<br />
<br />
The speedup of any parallel computing environment obeys the Amdahl's Law.<br />
<br />
Amdahl's law states that if ''F'' is the fraction of a calculation that is sequential (i.e. cannot benefit from parallelisation), and (1 &minus; ''F'') is the fraction that can be parallelised, then the maximum speedup that can be achieved by using ''N'' processors is<br />
<br />
:<math>\frac{1}{F + (1-F)/N}</math>.<br />
<br />
In the limit, as ''N'' tends to [[infinity]], the maximum speedup tends to 1/''F''. In practice, price/performance ratio falls rapidly as ''N'' is increased once (1 &minus; ''F'')/''N'' is small compared to ''F''.<br />
<br />
As an example, if ''F'' is only 10%, the problem can be sped up by only a maximum of a factor of 10, no matter how large the value of ''N'' used. For this reason, [[parallel computing]] is only useful for either small numbers of [[processor]]s, or problems with very low values of ''F'': so-called [[embarrassingly parallel]] problems. A great part of the craft of [[parallel programming]] consists of attempting to reduce ''F'' to the smallest possible value.<br />
<br />
=== Efficiency ===<br />
The efficiency of a parallel system describes the fraction of the time that is being used by the processors for a given computation. It is defined as <br><br />
<math>E(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors x N}}=\frac{t_s}{Nt_n}</math> <br><br />
which yields the following <br><br />
<math>E(n)=\frac{S(n)}{N}</math> <br><br />
For example, if E = 50%, the processors are being used half of the time to perform the actual computation.<br />
<br />
=== Cost ===<br />
The cost of a computation in a parallel environment is defined as the product of the number of processors used times the total execution time <br><br />
<math>cost = Nt_n</math> <br><br />
The above equation can be written as a function of the efficiency by using the fact that <math>t_p=\frac{t_n}{S(n)}</math> which yields<br><br />
<math>cost=\frac{Nt_s}{S(n)}=\frac{t_s}{E(n)}</math><br><br />
<br />
=== Performance of CFD codes ===<br />
The method used to assess the performance of a parallel CFD solver is becoming a topic for debate. While some implementations use a fixed number of outer iterations to assess the performance of the parallel solver regardless of whether a solution has ben obtained or not, other implementors use a fixed value for the residual as a basis for evaluation. Ironically, a large amount of implementors do not mention the method used in their assessment! <br />
<br />
The reason for this discrepancy is that the first group (who uses a fixed number of outer iterations) believes that the evaluation of the parallel performance should be done using exactely the same algorithm which justifies the use of a fixed number of outer iterations. This can be acceptable from an algorithmic point of view. <br />
<br />
The other group (who uses a fixed value for the maximum residual) believes that the evaluation of the parallel performance should be done using the converged solution of the problem which justifies the use of the maximum residual as a criterion for performance measurement. This is acceptable from an engineering point of view and from the user point of view. In all cases, the parallel code will be used to seek a valid solution! Now if the number of outer iterations is the same as that of the sequential version, '''tant mieux'''! <br />
<br />
The problem becomes more complicated when an algebraic multigrid solver is used. Depending on the method used in implementing the AMG solver, the maximum number of AMG levels in the parallel version will usually be less than that of the sequential version which raises the issue that one is not comparing the same algorithm. From an engineering point of view, the main concern is to obtain a valid solution for a given problem in a reasonable amount of time and thus, a user will not actually perform a sequential run and then a parallel run; rather, she will require the code to use as many AMG levels as possible.<br />
<br />
== Message passing ==<br />
In a distributed memory environment, Message Passing is a protocol used to exchange messages or copy data from one memory location to another (where each memory belongs to a different computer). One of the most popular protocols is called the Message Passing Interface, '''MPI'''.<br />
<br />
=== Peer to peer communication ===<br />
Peer to Peer (P2P) communication, as the name designates, occurs when one processor communicates with another processor at one time. Only these two processors are involved in the communication. There are two fundamental operations that take place in a P2P communication:<br />
*A send operation <br />
*A corresponding receive operation<br />
P2P communication can be performed using either a '''blocking''' or a '''non-blocking''' method.<br />
<br />
==== Blocking ====<br />
A blocking message occurs when one of the processors performs a send operation and does not return (i.e. does not execute any following instruction) unless it is sure that the message buffer can be reclaimed.<br><br />
[[Image:ParallelComputing_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Non-blocking ====<br />
A non-blocking message is the opposite of a blocking message where a processor performs a send or a receive operation and immediately returns (to the next instruction in the code) without caring whether the message has been received or not. Such a communication is shown in the figure below.<br><br />
[[Image:ParallelComputing_Non_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Advice ====<br />
Both of the above communication methods have their own set of advantages and disadvantages. <br />
<br />
For a blocking communication, one is almost certain that a given message will be received at its destination; however, the major problem with such a communication is that it requires the allocation of additional buffer memory which is not always available for large messages. On the other hand, an immediate communication does not have this problem (since the message waits till it has enough memory to be sent) but one is not always certain that the message will be received at its destination. Of course, designing a parallel program is not a game of luck. Both methods can be used successfully if they are carefully implemented in the code. For instance, in a parallel CFD code based on domain decomposition, there will be an inter-processor communication at some point. The best way to do this communication is to use a non-blocking method as the blocking method will end up with a dead lock (depending on the topology of the partitions).<br />
<br />
So, as a general rule, when two processors know where to send and from who to receive, a blocking operation can be used. For example, when the master processor is distributing the initial data in the mesh, a blocking operation can be used here.<br />
<br />
=== Collective communication ===<br />
In collective communication, all the processors are involved with some kind of send and/or receive operations. However, this is not done by explicitly using send or receive operations since MPI provides an interface for collective communication. The mostly used collective communication routines are<br />
*Broadcast<br />
*Gather<br />
*Reduce<br />
<br />
==== Broadcast ====<br />
A broadcast operation of consists of broadcasting or sending a message from a root processor to all other processors.<br><br />
[[Image:ParallelComputing_Broadcast_Operation.jpg|Broadcast Operation]]<br />
<br />
==== Gather ====<br />
A gather operation of consists of gathering values from a group processors and doing something with them. For example, the Master processor might want to gather the solution from each processor to put them in one final array.<br />
<br />
==== Reduce ====<br />
In a reduce operation, the result is a reduction of values on all processors to a single value on a single processor using an algebraic/boolean operation such as a sum, a minimum, a maximum etc…<br><br />
[[Image:ParallelComputing_Gather_Reduce_Operation.jpg|Broadcast Operation]]<br />
<br />
<br />
<br />
== References ==<br />
#{{reference-book|author=Wilkinson, Barry and C. Michael Allen|year=1999|title=Parallel Programming : Techniques and Applications Using Networked Workstations and Parallel Computers|rest=ISBN 0136717101, 1st Ed., Prentice Hall, Upper Saddle River, N.J.}}<br />
<br />
== Resources ==<br />
[http://pleasemakeanote.blogspot.com/2008/06/parallel-computing-with-mpi-roundup.html MPI Tutorial]</div>Tsaadhttp://www.cfd-online.com/Wiki/Parallel_computingParallel computing2007-11-26T07:21:40Z<p>Tsaad: cleanup</p>
<hr />
<div>== Introduction ==<br />
Ever heard of "Divide and Conquer"? Ever heard of "Together we stand, divided we fall"? This is the whole idea of parallel computing. A complicated CFD problem involving combustion, heat transfer, turbulence, and a complex geometry needs to be tackled. The way to tackle it is to divide it and then conquer it. The computers unite their efforts to stand up to the challenge!<br />
<br />
Parallel computing is defined as the simultaneous use of more than one processor to execute a program. This formal definition holds a lot of intricacies inside. For instance, given a program, one cannot expect to run this program on a 1000 processors without any change to the original code. The program has to have instructions to guide it to run in parallel. Since the work is shared or distributed amongst "different" processors, data has to be exchanged now and then. This data exchange takes place using different methods depending on the type of parallel computer used. For example, using a network of PCs, a certain protocol has to be defined (or installed) to allow the data flow between PCs. The sections below describe some of the details involved.<br />
<br />
== Types of parallel computers ==<br />
There are two fundamental types of parallel computers<br />
*A single computer with multiple internal processors, known as a ''Shared Memory Multiprocessor''.<br />
*A set of computers interconnected through a network, known as a ''Distributed Memory Multicomputer''.<br />
Each of these can be referred to as a Parallel Computer. In this section we briefly discuss the architecture of the above systems.<br />
<br />
=== Shared memory multiprocessor === <br />
A conventional computer consists of a processor and a memory readily accessible by any instruction the processor is executing. The shared memory multiprocessor is a natural extension of the single processor where multiple processors are connected to multiple memory modules such that each memory location has a single address space throughout the system. This means that any processor can readily have access to any memory location without any need for copying data from one memory to another.<br />
[[Image:ParallelComputing Shared Memory Multiprocessor.gif|frame|Shared Memory Multiprocessor]]<br />
<br />
Programming a shared memory multiprocessor is attractive for programmers because of the convenience offered by data sharing. However, care must taken when altering values at a given memory location since cached copies of such variables have also to be updated for any processor using that data. Furthermore, simultaneous access to memory locations has to be controlled carefully.<br />
<br />
The major disadvantages of the shared memory multiprocessor are summarized in the following:<br />
# Difficult to implement hardware able to achieve fast access to all shared memory locations<br />
# High cost: design and manufacturing complexities<br />
# Short life: upgrade is limited<br />
<br />
=== Distributed memory multicomputer ===<br />
The distributed memory multicomputer or message passing multicomputer consists of connecting independent computers via an interconnection network as shown in the figure below. Inter-processor communication is achieved through sending messages explicitly from each computer to another using a message passing library such as MPI (Message Passing Interface). In such a setup, as each computer has its own memory address space. A processor can only access its own local memory. To access a certain value residing in a different computer, it has to be copied by sending a message to the desired processor. The message passing multicomputer will physically scale easier than a shared memory multiprocessor, i.e. it can more easily be extended by adding more computers to the network.<br />
[[Image:ParallelComputing_Distributed_Memory_Multicomputer.gif|frame|Distributed Memory Multicomputer]]<br />
<br />
Programming a message passing multicomputer requires the programmers to provide explicit calls for message passing routines in their programs which is sometimes error prone. However, as the recent progress and research in parallel computing has shown, message passing does not cause any unsurpassed problem. Special mechanisms are not needed for controlling access to data since the data will be copied from one computer to another.<br />
The most compelling reason for using message passing multicomputers is in its direct applicability to existing computer networks. Of course, it is much better to use a new computer with a processor operating k times faster than each of the k processors in an old multiprocessor, especially if the new single processor costs much less than the multiprocessor. And it is therefore cheaper to buy N new processors and connect them through a network.<br />
<br />
In a distributed memory system a '''Master''' Processor refers to any one of the computers, which actually acts as the job manager (orchestrator) that distributes jobs amongst the other computers. All the pre-processing and post-processing is done on the master processor.<br><br />
A '''Slave''' Processor refers to any one of the computers on the network that is not a master.<br />
<br />
==Measuring parallel performance==<br />
There are various methods that are used to measure the performance of a certain parallel program. No single method is usually preferred over another since each of them, as will be seen later on, reflects certain properties of the parallel code.<br />
<br />
=== Speedup ===<br />
In the simplest of terms, the most obvious benefit of using a parallel computer is the reduction in the running time of the code. Therefore, a straightforward measure of the parallel performance would be the ratio of the execution time on a single processor (the sequential version) to that on a multicomputer. This ratio is defined as the speedup factor and is given as <br><br />
<math>S(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors}}=\frac{t_s}{t_n}</math> <br><br />
where <math>t_s</math> is the execution time on a single processor and <math>t_n</math> is the execution time on a parallel computer. <br />
<br />
S(n) therefore describes the scalability of the system as the number of processors is increased. The ideal speedup is n when using n processors, i.e. when the computations can be divided into equal duration processes with each process running on one processor (with no communication overhead). Ironically, this is called ''embarrassingly parallel computing''!<br />
<br />
In some cases, superlinear speedup (S(n)>n) may be encountered. Usually this is caused by either using a suboptimal sequential algorithm or some unique specification of the hardware architecture that favors the parallel computation. For example, one common reason for superlinear speedup is the extra memory in the multiprocessor system.<br />
<br />
The speedup of any parallel computing environment obeys the Amdahl's Law.<br />
<br />
Amdahl's law states that if ''F'' is the fraction of a calculation that is sequential (i.e. cannot benefit from parallelisation), and (1 &minus; ''F'') is the fraction that can be parallelised, then the maximum speedup that can be achieved by using ''N'' processors is<br />
<br />
:<math>\frac{1}{F + (1-F)/N}</math>.<br />
<br />
In the limit, as ''N'' tends to [[infinity]], the maximum speedup tends to 1/''F''. In practice, price/performance ratio falls rapidly as ''N'' is increased once (1 &minus; ''F'')/''N'' is small compared to ''F''.<br />
<br />
As an example, if ''F'' is only 10%, the problem can be sped up by only a maximum of a factor of 10, no matter how large the value of ''N'' used. For this reason, [[parallel computing]] is only useful for either small numbers of [[processor]]s, or problems with very low values of ''F'': so-called [[embarrassingly parallel]] problems. A great part of the craft of [[parallel programming]] consists of attempting to reduce ''F'' to the smallest possible value.<br />
<br />
=== Efficiency ===<br />
The efficiency of a parallel system describes the fraction of the time that is being used by the processors for a given computation. It is defined as <br><br />
<math>E(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors x N}}=\frac{t_s}{Nt_n}</math> <br><br />
which yields the following <br><br />
<math>E(n)=\frac{S(n)}{N}</math> <br><br />
For example, if E = 50%, the processors are being used half of the time to perform the actual computation.<br />
<br />
=== Cost ===<br />
The cost of a computation in a parallel environment is defined as the product of the number of processors used times the total execution time <br><br />
<math>cost = Nt_n</math> <br><br />
The above equation can be written as a function of the efficiency by using the fact that <math>t_p=\frac{t_n}{S(n)}</math> which yields<br><br />
<math>cost=\frac{Nt_s}{S(n)}=\frac{t_s}{E(n)}</math><br><br />
<br />
=== Performance of CFD codes ===<br />
The method used to assess the performance of a parallel CFD solver is becoming a topic for debate. While some implementations use a fixed number of outer iterations to assess the performance of the parallel solver regardless of whether a solution has ben obtained or not, other implementors use a fixed value for the residual as a basis for evaluation. Ironically, a large amount of implementors do not mention the method used in their assessment! <br />
<br />
The reason for this discrepancy is that the first group (who uses a fixed number of outer iterations) believes that the evaluation of the parallel performance should be done using exactely the same algorithm which justifies the use of a fixed number of outer iterations. This can be acceptable from an algorithmic point of view. <br />
<br />
The other group (who uses a fixed value for the maximum residual) believes that the evaluation of the parallel performance should be done using the converged solution of the problem which justifies the use of the maximum residual as a criterion for performance measurement. This is acceptable from an engineering point of view and from the user point of view. In all cases, the parallel code will be used to seek a valid solution! Now if the number of outer iterations is the same as that of the sequential version, '''tant mieux'''! <br />
<br />
The problem becomes more complicated when an algebraic multigrid solver is used. Depending on the method used in implementing the AMG solver, the maximum number of AMG levels in the parallel version will usually be less than that of the sequential version which raises the issue that one is not comparing the same algorithm. From an engineering point of view, the main concern is to obtain a valid solution for a given problem in a reasonable amount of time and thus, a user will not actually perform a sequential run and then a parallel run; rather, she will require the code to use as many AMG levels as possible.<br />
<br />
== Message passing ==<br />
In a distributed memory environment, Message Passing is a protocol used to exchange messages or copy data from one memory location to another (where each memory belongs to a different computer). One of the most popular protocols is called the Message Passing Interface, '''MPI'''.<br />
<br />
=== Peer to peer communication ===<br />
Peer to Peer (P2P) communication, as the name designates, occurs when one processor communicates with another processor at one time. Only these two processors are involved in the communication. There are two fundamental operations that take place in a P2P communication:<br />
*A send operation <br />
*A corresponding receive operation<br />
P2P communication can be performed using either a '''blocking''' or a '''non-blocking''' method.<br />
<br />
==== Blocking ====<br />
A blocking message occurs when one of the processors performs a send operation and does not return (i.e. does not execute any following instruction) unless it is sure that the message buffer can be reclaimed.<br><br />
[[Image:ParallelComputing_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Non-blocking ====<br />
A non-blocking message is the opposite of a blocking message where a processor performs a send or a receive operation and immediately returns (to the next instruction in the code) without caring whether the message has been received or not. Such a communication is shown in the figure below.<br><br />
[[Image:ParallelComputing_Non_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Advice ====<br />
Both of the above communication methods have their own set of advantages and disadvantages. <br />
<br />
For a blocking communication, one is almost certain that a given message will be received at its destination; however, the major problem with such a communication is that it requires the allocation of additional buffer memory which is not always available for large messages. On the other hand, an immediate communication does not have this problem (since the message waits till it has enough memory to be sent) but one is not always certain that the message will be received at its destination. Of course, designing a parallel program is not a game of luck. Both methods can be used successfully if they are carefully implemented in the code. For instance, in a parallel CFD code based on domain decomposition, there will be an inter-processor communication at some point. The best way to do this communication is to use a non-blocking method as the blocking method will end up with a dead lock (depending on the topology of the partitions).<br />
<br />
So, as a general rule, when two processors know where to send and from who to receive, a blocking operation can be used. For example, when the master processor is distributing the initial data in the mesh, a blocking operation can be used here.<br />
<br />
=== Collective communication ===<br />
In collective communication, all the processors are involved with some kind of send and/or receive operations. However, this is not done by explicitly using send or receive operations since MPI provides an interface for collective communication. The mostly used collective communication routines are<br />
*Broadcast<br />
*Gather<br />
*Reduce<br />
<br />
==== Broadcast ====<br />
A broadcast operation of consists of broadcasting or sending a message from a root processor to all other processors.<br><br />
[[Image:ParallelComputing_Broadcast_Operation.jpg|Broadcast Operation]]<br />
<br />
==== Gather ====<br />
A gather operation of consists of gathering values from a group processors and doing something with them. For example, the Master processor might want to gather the solution from each processor to put them in one final array.<br />
<br />
==== Reduce ====<br />
In a reduce operation, the result is a reduction of values on all processors to a single value on a single processor using an algebraic/boolean operation such as a sum, a minimum, a maximum etc…<br><br />
[[Image:ParallelComputing_Gather_Reduce_Operation.jpg|Broadcast Operation]]<br />
<br />
<br />
<br />
== References ==<br />
#{{reference-book|author=Wilkinson, Barry and C. Michael Allen|year=1999|title=Parallel Programming : Techniques and Applications Using Networked Workstations and Parallel Computers|rest=ISBN 0136717101, 1st Ed., Prentice Hall, Upper Saddle River, N.J.}}</div>Tsaadhttp://www.cfd-online.com/Wiki/CFD-Wiki:Donated_textsCFD-Wiki:Donated texts2007-09-16T08:39:32Z<p>Tsaad: /* Donated texts: */</p>
<hr />
<div>Please list all donated documents on this page. For more information on how to donate a text see [[CFD-Wiki:Donate texts|this page]].<br />
<br />
===Donated texts:===<br />
<br />
''Add more donated documents here''<br />
*[[Media:Turbulence_Modeling_For_Beginners.pdf | Turbulence Modeling For Beginners]]<br />
:Author: Tony Saad<br />
:Date written: Apr 2001<br />
:Date Reviewed: Dec 2005<br />
:Date donated: Dec 2005<br />
:Summary: An introduction to turbulence modeling.<br />
<br />
*[[Media:Old_fluent_faq_by_burley.zip | Old Fluent FAQ]]<br />
:Author: Burley Wang<br />
:Date written: Dec 2000<br />
:Date donated: Nov 2005<br />
:Summary: This is an old Fluent FAQ written by Burley Wang for CFD Online back in 2000. The FAQ was never finished and it was never published either. It is based on questions and answers found on the Fluent forum. Use it to cut-and-paste relevant things from into the [[Fluent FAQ]].<br />
<br />
*[[Media:PhD_Thesis_Jonas_Larsson.tar.gz | Numerical Simulation of Turbulent Flows for Turbine Blade Heat Transfer Applications]]<br />
:Author: Jonas Larsson<br />
:Date written: Dec 1998<br />
:Date donated: Nov 2005<br />
:Summary: The first part of Jonas Larsson's PhD thesis from Chalmers University, Gothenburg. The thesis excludes papers which are copyrighted by ASME etc. It covers some basics on governing equations, turbine blade heat transfer and descriptions of several low-Re two-equation models (Chien model, Launder-Sharma, Nagano-Tagawa, Shih, ...) The report also includes various model improvements like the Kato-Launder modification, the Yap correction etc.<br />
<br />
*[[Media:DEA_P6_09_2000.zip | Validation of an RSM closure on airfoil geometries (in French)]]<br />
:Author: Ioannis Nousis<br />
:Date written: Sep 2000<br />
:Date donated: Jan 2006<br />
:Summary: The MSc thesis of Ioannis (Yannis) Nousis at the Université Pierre et Marie Curie. The work consists in validating a Reynolds stress turbulence closure on airfoil geometries for transonic compressible viscous flow regimes. Prediction of airfoil aerodynamic performance for several test-cases (NACA 0012 - RAE 2822). Validation of the turbulence model against wind tunnel experiments. A digitized experimental data base is included in the Annexes. Key words: transonic viscous flows, numerical simulation, external aerodynamics, shoc wave-boundary layer interaction, biharmonic structured grid.<br />
<br />
*[[Media:Nina_Shokina_phd_thesis.pdf | Numerical Modelling of Multi-dimensional Steady Ideal Gas and Fluid Flows ]]<br />
:Author: Nina Shokina<br />
:Date written: May 2000<br />
:Date donated: Mar 2006<br />
:Summary: The PhD thesis of Nina Shokina (Technical University of Darmstadt, Germany). The work is devoted to the numerical modelling of multi-dimensional steady ideal gas and fluid flows using adaptive grids.<br />
<br />
*[[Media:Rui_Thesis.pdf | Numerical Simulation of the Filling and Curing Stages in Reaction Injection Moulding, using CFX ]]<br />
:Author: Rui Igreja<br />
:Date written: June 2007<br />
:Date donated: July 2007<br />
:Summary: Rui Igreja's master thesis at the University of Aveiro, Portugal.<br>Commonly used methods for injection moulding simulation involve a considerable number of simplifications, leading to a significant reduction of the computational effort but, in some cases also to limitations. In this work, Reaction Injection Moulding (RIM) simulations are performed with a minimum of simplifications, by using the general purpose CFD software package CFX, designed for numerical simulation of fluid flow and heat and mass transfer.<br>The CFX’s homogeneous multiphase flow model, which is generally considered to be the appropriate choice for modelling free surface flows where the phases are completely stratified and the interface is well defined, is shown to be unable to model the filling process correctly. This problem is overcome through the implementation of the inhomogeneous model in combination with the free-slip boundary condition for the air phase.<br>The cure reaction is implemented in the code as a transport equation for an additional scalar variable, with a source term. Various transient and advection schemes are tested to determine which ones produce the most accurate results.<br>Finally, the mass conservation, momentum, cure and energy equations are implemented all together to simulate the simultaneous filling and curing processes present in the RIM process. The obtained numerical results show a good global accuracy when compared with other available numerical and experimental results, though considerably long computation times are required to perform the simulations.</div>Tsaadhttp://www.cfd-online.com/Wiki/File:Turbulence_Modeling_For_Beginners.pdfFile:Turbulence Modeling For Beginners.pdf2007-09-16T08:38:34Z<p>Tsaad: </p>
<hr />
<div></div>Tsaadhttp://www.cfd-online.com/Wiki/Introduction_to_numerical_methodsIntroduction to numerical methods2007-05-24T21:02:34Z<p>Tsaad: </p>
<hr />
<div>Numerical methods are at the heart of the CFD process. Researchers dedicate their attention to two fundamental aspects in CFD; i.e. physical modeling and numerics.<br />
<br />
In physical modeling, we seek a set of equations or mathematical relations that allow us to close the governing equations. In turbulence modeling for example, one is interested in devising new equations for the extra unknowns that resulted from the averaging process.<br />
<br />
On the other hand, the focus in numerics is to devise efficient, robust, and reliable algorithms for the solution of PDEs. PDEs are a combination of differential terms (rates of change) that describe a conservation principle. Without loss in generality, all physical processes can be described by PDEs. Now, the CFD process requires the discretization of the governing PDEs, i.e. the derivation of equivalent algebraic relations that should faithfully represent the original PDEs. This is done by transforming each differential term into an approximate algebraic relation (see [[Generic scalar transport equation]]).<br />
<br />
Deriving an original numerical algorithm is not only a mathematical challenge. The investigator should also bear in mind the physics behind the term that is being discretized. For example, there are various discretization schemes for the convection term (upwind, QUICK, SOU etc...) because of the special behavior of the convection process. Similarly, the diffusion, convection, and source terms have very specialized treatments.</div>Tsaadhttp://www.cfd-online.com/Wiki/Direct_methodsDirect methods2007-05-24T05:19:29Z<p>Tsaad: creating links inside each header section</p>
<hr />
<div>Direct methods for the solution of the linear system of equations<br />
<br />
:<math>\mathbf{A}\mathbf{x} = \mathbf{b}</math><br />
<br />
obtain an exact solution to the system. The most widely known direct method is [[Gaussian elimination]], which uses elementary matrix operations to compute the solution. Most other direct solution techniques are either a variant of Gaussian elimination or are based upon a particular factorization of the equations that will allow an exact computation. [[LU decomposition]] is both a factorization approach and closely related to Gaussian elimination.<br />
<br />
Typically, direct methods are best used upon relatively full systems of (the percentage of the elements that are is large) or on banded systems (elements are arranged in diagonal bands).<br />
<br />
# [[Gaussian elimination]]<br />
# [[LU decomposition]]<br />
# [[Tridiagonal matrix algorithm - TDMA (Thomas algorithm)]]</div>Tsaadhttp://www.cfd-online.com/Wiki/Isentropic_flow_relationsIsentropic flow relations2007-05-24T00:40:38Z<p>Tsaad: </p>
<hr />
<div>Constant entropy flow is called Isentropic flow.<br />
<br />
From a consideration of the second law of thermodynamics, a reversible flow maintains a constant value of entropy <br />
<br />
''Below are the formulas... someone needs to add some explaining text here''<br />
<br />
<math>M = \frac{u}{a}</math><br />
<br />
<math>a = \sqrt{\gamma R T}</math><br />
<br />
<math>\frac{p_0}{p} = (\frac{T_0}{T})^\frac{\gamma}{\gamma - 1}</math><br />
<br />
<math>\frac{p_0}{p}=(1+\frac{\gamma-1}{2}M^2)^{\frac{\gamma}{\gamma-1}}</math><br />
<br />
<math>\frac{T_0}{T}=1+\frac{\gamma-1}{2}M^2</math><br />
<br />
<math>\frac{\rho_0}{\rho}=(1+\frac{\gamma-1}{2}M^2)^{\frac{1}{\gamma-1}}</math><br />
<br />
<math>\frac{A}{A*}=\frac{1}{M}*(\frac{\gamma+1}{2})^{\frac{-\gamma+1}{2(\gamma-1)}}*(1+\frac{\gamma-1}{2}M^2)^{\frac{\gamma+1}{2(\gamma-1)}}</math><br />
<br />
[[category: Equations]]</div>Tsaadhttp://www.cfd-online.com/Wiki/Convection_termConvection term2007-05-24T00:26:54Z<p>Tsaad: </p>
<hr />
<div># [[Approximation Schemes for convective term - structured grids]]<br />
## [[Approximation Schemes for convective term - structured grids - Common]]<br />
## [[Approximation Schemes for convective term - structured grids - Schemes]]<br />
## [[Approximation Schemes for convective term - structured grids - Summary of Discretizations Schemes and examples]]<br />
## [[Approximation Schemes for convective term - structured grids - definitions]]<br />
## [[Approximation Schemes for convective term - structured grids - What we need: Please help]]<br />
# [[Approximation Schemes for convective term - unstructured grids]]<br />
# [[Approximation of Convective Fluxes - structured grids]]<br />
# [[Approximation of Convective Fluxes - unstructured grids]]<br />
<br />
<br />
----<br />
<i> Return to [[Numerical methods | Numerical Methods]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/Convection_termConvection term2007-05-24T00:24:21Z<p>Tsaad: </p>
<hr />
<div># [[Approximation Schemes for convective term - structured grids]]<br />
## [[Approximation Schemes for convective term - structured grids - Common]]<br />
## [[Approximation Schemes for convective term - structured grids - Schemes]]<br />
## [[Approximation Schemes for convective term - structured grids - Summary of Discretizations Schemes and examples]]<br />
## [[Approximation Schemes for convective term - structured grids - definitions]]<br />
## [[Approximation Schemes for convective term - structured grids - What we need: Please help]]<br />
<br />
<br />
# [[Approximation Schemes for convective term - unstructured grids]]<br />
# [[Approximation of Convective Fluxes - structured grids]]<br />
# [[Approximation of Convective Fluxes - unstructured grids]]<br />
<br />
<br />
----<br />
<i> Return to [[Numerical methods | Numerical Methods]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/Time_discretisationTime discretisation2007-05-24T00:12:11Z<p>Tsaad: </p>
<hr />
<div>== Introduction ==<br />
In seeking a numerical solution for a partial differential equation, discretization has to be carried out in both space and time. Although, mathematically, the time dependent terms, i.e. transient terms, are just derivatives with respect to an independent variable (time), these terms require special treatment when looked upon from a physical point of view.<br />
<br />
Without loss of generality, in the context of conservation laws, transient terms describe the accumulation in time, of a certain variable inside an infinitesimal control volume. Discretization of the transient terms is usually called ''temporal discretization'' or ''discretization in time''. It is always desirable to seek a time dependent solution especially that the discretization of the transient terms is directly associated with the stability of a numerical solution. If the flow at hand is inherently steady, it is generally advisable to compute a time dependent solution and reach the steady state solution hereafter.<br />
<br />
The following sections discuss several temporal discretization schemes.</div>Tsaadhttp://www.cfd-online.com/Wiki/Time_discretisationTime discretisation2007-05-24T00:11:51Z<p>Tsaad: Added an introduction to temporal discretization</p>
<hr />
<div>== Introduction ==<br />
In seeking a numerical solution for partial differential equation, discretization has to be carried out in both space and time. Although, mathematically, the time dependent terms, i.e. transient terms, are just derivatives with respect to an independent variable (time), these terms require special treatment when looked upon from a physical point of view.<br />
<br />
Without loss of generality, in the context of conservation laws, transient terms describe the accumulation in time, of a certain variable inside an infinitesimal control volume. Discretization of the transient terms is usually called ''temporal discretization'' or ''discretization in time''. It is always desirable to seek a time dependent solution especially that the discretization of the transient terms is directly associated with the stability of a numerical solution. If the flow at hand is inherently steady, it is generally advisable to compute a time dependent solution and reach the steady state solution hereafter.<br />
<br />
The following sections discuss several temporal discretization schemes.</div>Tsaadhttp://www.cfd-online.com/Wiki/Parallel_computingParallel computing2007-05-08T19:49:54Z<p>Tsaad: /* References */</p>
<hr />
<div>== Introduction ==<br />
Ever heard of "Divide and Conquer"? Ever heard of "Together we stand, divided we fall"? This is the whole idea of parallel computing. A complicated CFD problem involving combustion, heat transfer, turbulence, and a complex geometry needs to be tackled. The way to tackle it is to divide it and then conquer it. The computers unite their efforts to stand up to the challenge!<br />
<br />
Parallel computing is defined as the simultaneous use of more than one processor to execute a program. This formal definition holds a lot of intricacies inside. For instance, given a program, one cannot expect to run this program on a 1000 processors without any change to the original code. The program has to have instructions to guide it to run in parallel. Since the work is shared or distributed amongst "different" processors, data has to be exchanged now and then. This data exchange takes place using different methods depending on the type of parallel computer used. For example, using a network of PCs, a certain protocol has to be defined (or installed) to allow the data flow between PCs. The sections below describe some of the details involved.<br />
<br />
== Types of parallel computers ==<br />
There are two fundamental types of parallel computers<br />
*A single computer with multiple internal processors, known as a ''Shared Memory Multiprocessor''.<br />
*A set of computers interconnected through a network, known as a ''Distributed Memory Multicomputer''.<br />
Each of these can be referred to as a Parallel Computer. In this section we briefly discuss the architecture of the above systems.<br />
<br />
=== Shared memory multiprocessor === <br />
A conventional computer consists of a processor and a memory readily accessible by any instruction the processor is executing. The shared memory multiprocessor is a natural extension of the single processor where multiple processors are connected to multiple memory modules such that each memory location has a single address space throughout the system. This means that any processor can readily have access to any memory location without any need for copying data from one memory to another.<br />
[[Image:ParallelComputing Shared Memory Multiprocessor.gif|frame|Shared Memory Multiprocessor]]<br />
<br />
Programming a shared memory multiprocessor is attractive for programmers because of the convenience offered by data sharing. However, care must taken when altering values at a given memory location since cached copies of such variables have also to be updated for any processor using that data. Furthermore, simultaneous access to memory locations has to be controlled carefully.<br />
<br />
The major disadvantages of the shared memory multiprocessor are summarized in the following:<br />
# Difficult to implement hardware able to achieve fast access to all shared memory locations<br />
# High cost: design and manufacturing complexities<br />
# Short life: upgrade is limited<br />
<br />
=== Distributed memory multicomputer ===<br />
The distributed memory multicomputer or message passing multicomputer consists of connecting independent computers via an interconnection network as shown in the figure below. Inter-processor communication is achieved through sending messages explicitly from each computer to another using a message passing library such as MPI (Message Passing Interface). In such a setup, as each computer has its own memory address space. A processor can only access its own local memory. To access a certain value residing in a different computer, it has to be copied by sending a message to the desired processor. The message passing multicomputer will physically scale easier than a shared memory multiprocessor, i.e. it can more easily be extended by adding more computers to the network.<br />
[[Image:ParallelComputing_Distributed_Memory_Multicomputer.gif|frame|Distributed Memory Multicomputer]]<br />
<br />
Programming a message passing multicomputer requires the programmers to provide explicit calls for message passing routines in their programs which is sometimes error prone. However, as the recent progress and research in parallel computing has shown, message passing does not cause any unsurpassed problem. Special mechanisms are not needed for controlling access to data since the data will be copied from one computer to another.<br />
The most compelling reason for using message passing multicomputers is in its direct applicability to existing computer networks. Of course, it is much better to use a new computer with a processor operating k times faster than each of the k processors in an old multiprocessor, especially if the new single processor costs much less than the multiprocessor. And it is therefore cheaper to buy N new processors and connect them through a network.<br />
<br />
In a distributed memory system a '''Master''' Processor refers to any one of the computers, which actually acts as the job manager (orchestrator) that distributes jobs amongst the other computers. All the pre-processing and post-processing is done on the master processor.<br><br />
A '''Slave''' Processor refers to any one of the computers on the network that is not a master.<br />
<br />
==Measuring parallel performance==<br />
There are various methods that are used to measure the performance of a certain parallel program. No single method is usually preferred over another since each of them, as will be seen later on, reflects certain properties of the parallel code.<br />
<br />
=== Speedup ===<br />
In the simplest of terms, the most obvious benefit of using a parallel computer is the reduction in the running time of the code. Therefore, a straightforward measure of the parallel performance would be the ratio of the execution time on a single processor (the sequential version) to that on a multicomputer. This ratio is defined as the speedup factor and is given as <br><br />
<math>S(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors}}=\frac{t_s}{t_n}</math> <br><br />
where <math>t_s</math> is the execution time on a single processor and <math>t_s</math> is the execution time on a multicomputer. <br />
<br />
S(n) therefore describes the scalability of the system as the number of processors is increased. The ideal speedup is n when using n processors, i.e. when the computations can be divided into equal duration processes with each process running on one processor (with no communication overhead). Ironically, this is called ''embarrassingly parallel computing''!<br />
<br />
In some cases, superlinear speedup (S(n)>n) may be encountered. Usually this is caused by either using a suboptimal sequential algorithm or some unique specification of the hardware architecture that favors the parallel computation. For example, one common reason for superlinear speedup is the extra memory in the multiprocessor system.<br />
<br />
The speedup of any parallel computing environment obeys the Amdahl's Law.<br />
<br />
Amdahl's law states that if ''F'' is the fraction of a calculation that is sequential (i.e. cannot benefit from parallelisation), and (1 &minus; ''F'') is the fraction that can be parallelised, then the maximum speedup that can be achieved by using ''N'' processors is<br />
<br />
:<math>\frac{1}{F + (1-F)/N}</math>.<br />
<br />
In the limit, as ''N'' tends to [[infinity]], the maximum speedup tends to 1/''F''. In practice, price/performance ratio falls rapidly as ''N'' is increased once (1 &minus; ''F'')/''N'' is small compared to ''F''.<br />
<br />
As an example, if ''F'' is only 10%, the problem can be sped up by only a maximum of a factor of 10, no matter how large the value of ''N'' used. For this reason, [[parallel computing]] is only useful for either small numbers of [[processor]]s, or problems with very low values of ''F'': so-called [[embarrassingly parallel]] problems. A great part of the craft of [[parallel programming]] consists of attempting to reduce ''F'' to the smallest possible value.<br />
<br />
=== Efficiency ===<br />
The efficiency of a parallel system describes the fraction of the time that is being used by the processors for a given computation. It is defined as <br><br />
<math>E(n)=\frac\mbox{Execution time using one processor}{\mbox{Execution time using N processors x N}}=\frac{t_s}{Nt_n}</math> <br><br />
which yields the following <br><br />
<math>E(n)=\frac{S(n)}{N}</math> <br><br />
For example, if E = 50%, the processors are being used half of the time to perform the actual computation.<br />
<br />
=== Cost ===<br />
The cost of a computation in a parallel environment is defined as the product of the number of processors used times the total execution time <br><br />
<math>cost = Nt_n</math> <br><br />
The above equation can be written as a function of the efficiency by using the fact that <math>t_p=\frac{t_n}{S(n)}</math> which yields<br><br />
<math>cost=\frac{Nt_s}{S(n)}=\frac{t_s}{E(n)}</math><br><br />
<br />
=== Performance of CFD codes ===<br />
The method used to assess the performance of a parallel CFD solver is becoming a topic for debate. While some implementations use a fixed number of outer iterations to assess the performance of the parallel solver regardless of whether a solution has ben obtained or not, other implementors use a fixed value for the residual as a basis for evaluation. Ironically, a large amount of implementors do not mention the method used in their assessment! <br />
<br />
The reason for this discrepancy is that the first group (who uses a fixed number of outer iterations) believes that the evaluation of the parallel performance should be done using exactely the same algorithm which justifies the use of a fixed number of outer iterations. This can be acceptable from an algorithmic point of view. <br />
<br />
The other group (who uses a fixed value for the maximum residual) believes that the evaluation of the parallel performance should be done using the converged solution of the problem which justifies the use of the maximum residual as a criterion for performance measurement. This is acceptable from an engineering point of view and from the user point of view. In all cases, the parallel code will be used to seek a valid solution! Now if the number of outer iterations is the same as that of the sequential version, '''tant mieux'''! <br />
<br />
The problem becomes more complicated when an algebraic multigrid solver is used. Depending on the method used in implementing the AMG solver, the maximum number of AMG levels in the parallel version will usually be less than that of the sequential version which raises the issue that one is not comparing the same algorithm. From an engineering point of view, the main concern is to obtain a valid solution for a given problem in a reasonable amount of time and thus, a user will not actually perform a sequential run and then a parallel run; rather, she will require the code to use as many AMG levels as possible.<br />
<br />
== Message passing ==<br />
In a distributed memory environment, Message Passing is a protocol used to exchange messages or copy data from one memory location to another (where each memory belongs to a different computer). One of the most popular protocols is called the Message Passing Interface, '''MPI'''.<br />
<br />
=== Peer to peer communication ===<br />
Peer to Peer (P2P) communication, as the name designates, occurs when one processor communicates with another processor at one time. Only these two processors are involved in the communication. There are two fundamental operations that take place in a P2P communication:<br />
*A send operation <br />
*A corresponding receive operation<br />
P2P communication can be performed using either a '''blocking''' or a '''non-blocking''' method.<br />
<br />
==== Blocking ====<br />
A blocking message occurs when one of the processors performs a send operation and does not return (i.e. does not execute any following instruction) unless it is sure that the message buffer can be reclaimed.<br><br />
[[Image:ParallelComputing_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Non-blocking ====<br />
A non-blocking message is the opposite of a blocking message where a processor performs a send or a receive operation and immediately returns (to the next instruction in the code) without caring whether the message has been received or not. Such a communication is shown in the figure below.<br><br />
[[Image:ParallelComputing_Non_Blocking_Communication.jpg|Blocking Communication]]<br />
<br />
==== Advice ====<br />
Both of the above communication methods have their own set of advantages and disadvantages. <br />
<br />
For a blocking communication, one is almost certain that a given message will be received at its destination; however, the major problem with such a communication is that it requires the allocation of additional buffer memory which is not always available for large messages. On the other hand, an immediate communication does not have this problem (since the message waits till it has enough memory to be sent) but one is not always certain that the message will be received at its destination. Of course, designing a parallel program is not a game of luck. Both methods can be used successfully if they are carefully implemented in the code. For instance, in a parallel CFD code based on domain decomposition, there will be an inter-processor communication at some point. The best way to do this communication is to use a non-blocking method as the blocking method will end up with a dead lock (depending on the topology of the partitions).<br />
<br />
So, as a general rule, when two processors know where to send and from who to receive, a blocking operation can be used. For example, when the master processor is distributing the initial data in the mesh, a blocking operation can be used here.<br />
<br />
=== Collective communication ===<br />
In collective communication, all the processors are involved with some kind of send and/or receive operations. However, this is not done by explicitly using send or receive operations since MPI provides an interface for collective communication. The mostly used collective communication routines are<br />
*Broadcast<br />
*Gather<br />
*Reduce<br />
<br />
==== Broadcast ====<br />
A broadcast operation of consists of broadcasting or sending a message from a root processor to all other processors.<br><br />
[[Image:ParallelComputing_Broadcast_Operation.jpg|Broadcast Operation]]<br />
<br />
==== Gather ====<br />
A gather operation of consists of gathering values from a group processors and doing something with them. For example, the Master processor might want to gather the solution from each processor to put them in one final array.<br />
<br />
==== Reduce ====<br />
In a reduce operation, the result is a reduction of values on all processors to a single value on a single processor using an algebraic/boolean operation such as a sum, a minimum, a maximum etc…<br><br />
[[Image:ParallelComputing_Gather_Reduce_Operation.jpg|Broadcast Operation]]<br />
<br />
== References ==<br />
#{{reference-book|author=Wilkinson, Barry and C. Michael Allen|year=1999|title=Parallel Programming : Techniques and Applications Using Networked Workstations and Parallel Computers|rest=ISBN 0136717101, 1st Ed., Prentice Hall, Upper Saddle River, N.J.}}</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2007-04-02T18:39:24Z<p>Tsaad: just updated personal information</p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the [http://www.utsi.edu University of Tennessee Space Institute]. I am working on general multidimensional models for swirl driven combustion.<br><br />
I hold a Masters degree from the [http://www.aub.edu.lb American University of Beirut], Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://students.utsi.edu/tsaad homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2007-01-31T22:46:45Z<p>Tsaad: </p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the University of Tennessee Space Institute. I am working on turbulence-chemistry interaction in the context of swirl-driven combustion.<br><br />
I hold a Masters degree from the American University of Beirut, Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://students.utsi.edu/tsaad homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2007-01-31T22:46:34Z<p>Tsaad: </p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the University of Tennessee Space Institute. I am working on turbulence-chemistry interaction in the context of swirl-driven combustion.<br><br />
I hold a Masters degree from the American University of Beirut, Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://students.utsi.edu homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2006-11-07T01:49:39Z<p>Tsaad: </p>
<hr />
<div>An overview of both free and commercial CFD software.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
<br />
*[[OpenFVM]] -- [http://openfvm.sourceforge.net/ OpenFVM homepage]<br />
*[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn homepage]<br />
*[[PP3D]] -- [http://www.featflow.de/ parpp3d++ homepage]<br />
*[[FreeFEM]] -- [http://www.freefem.org FreeFEM homepage]<br />
*[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]<br />
*[http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMTEK Mathematica Supplement (IMS)], IMTEK Mathematica Supplement (IMS)<br />
*[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]<br />
*[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]<br />
*[[OpenFOAM]] -- [http://www.openfoam.org/ OpenFOAM homepage]<br />
*[[PETSc-FEM]] -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]<br />
*[[Tochnog]] -- [http://tochnog.sourceforge.net Tochnog homepage]<br />
*[[Typhon solver]] -- [http://typhon.sf.net Typhon solver homepage]<br />
*[[Diagonalized Upwind Navier Stokes]] -- [http://duns.sourceforge.net DUNS homepage]<br />
*[[SLFCFD]] -- [http://slfcfd.sourceforge.net SLFCFD homepage]<br />
*[[ADFC]] -- [http://adfc.sourceforge.net/index.html ADFC homepage]<br />
*[[ELMER]] -- [http://www.csc.fi/elmer/ ELMER homepage]<br />
*[[NaSt2D-2.0]] -- [http://home.arcor.de/drklaus.bauerfeind/nast/eNaSt2D.html NaSt2D-2.0 homepage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[BAMG]]<br />
*[[Delaundo]]<br />
*[[Triangle]]<br />
*[[GMSH]] -- [http://www.geuz.org/gmsh/ GMSH hompage]<br />
*[[TETGEN]] -- [http://tetgen.berlios.de/ TETGEN hompage]<br />
*[[NETGEN]] -- [http://www.hpfem.jku.at/netgen/ NETGEN homepage]<br />
*[[SALOME]] -- [http://www.salome-platform.org SALOME homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[GMV]] -- [http://www-xdiv.lanl.gov/XCM/gmv/ GMV homepage]<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] <br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]]<br />
*[[vtk]] -- [http://www.vtk.org vtk homepage]<br />
*[[vtk.Net]] -- [http://vtkdotnet.sourceforge.net/ vtk.Net homepage]<br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]]<br />
*[[Ftnchek]]<br />
*[[g3data]] -- [http://beam.helsinki.fi/~frantz/software/g3data.php g3data homepage]<br />
*[[GIFMerge]] -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
<br />
*[[ANSWER]] -- [http://www.acricfd.com/ ACRi's homepage]<br />
*[[CFDplusplus]] -- [http://www.metacomptech Metacomp Techonlogies' homepage]<br />
*[[CFD2000]] -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFD-ACE]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFX]] -- [http://www.ansys.com/ Ansys' homepage]<br />
*[[EFD]] -- [http://www.nika.biz/ NIKA's homepage]<br />
*[[FINE]] -- [http://www.numeca.be/ Numeca's homepage]<br />
*[[FIRE]] -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLACS]] -- [http://www.gexcon.com/index.php?src=flacs/overview.html GexCon's homepage]<br />
*[[FLOW-3D]] -- [http://www.flow3d.com/ Flow Science's homepage]<br />
*[[FLOWVISION]] -- [http://www.fv-tech.com FlowVision's homepage]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
*[[KINetics Reactive Flows]] -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[STAR-CCMplus]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Turb'Flow]] -- [http://www.fluorem.com Fluorem's hompage]<br />
*[[FluSol]] -- [http://www.cfd-rocket.com FluSol's hompage]<br />
*[[KIVA]]--[http://www.lanl.gov/orgs/t/t3/codes/kiva.shtml Los Alamos homepage]<br />
*[[Flowz]]--[http://www.zeusnumerix.com Zeus Numerix's homepage ]<br />
<br />
=== Grid generation ===<br />
<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
*[[Harpoon]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[CFD-GEOM]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFD-VISCART]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFDExpert-GridZ ]] --[http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
*[[ICEM CFD ]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[EnSight]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[Fieldview]] -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
*[[CFD-VIEW]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFX-Post]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
*[[ViewZ]] -- [http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
<br />
=== Systems ===<br />
<br />
*[[Flownex]] -- [http://www.flownex.com/ Flownex's homepage]<br />
<br />
== Online tools and services ==<br />
<br />
*[[CFDNet]] -- [http://www.cfdnet.com/ CFDNet homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/Introduction_to_numerical_methodsIntroduction to numerical methods2006-11-02T17:52:16Z<p>Tsaad: cleanup</p>
<hr />
<div>Numerical methods are at the heart of the CFD process. Researchers dedicate their attention to two fundamental aspects in CFD; i.e. physical modeling and numerics.<br />
<br />
In physical modeling, we seek a set of equations or mathematical relations that allow us to close the governing equations. In turbulence modeling for example, one is interested in devising new equations for the extra unknowns that resulted from the averaging process.<br />
<br />
On the other hand, the focus in numerics is to devise efficient, robust, and reliable algorithms for the solution of PDEs. PDEs are a combination of differential terms (rates of change) that describe a conservation principle. Without loss in generality, all physical processes can be described by PDEs. Now, the CFD process requires the discretization of the governing PDEs, i.e. the derivation of equivalent algebraic relations that should faithfully represent the original PDEs. This is done by transforming each differential term into an approximate algebraic relation (see [[Generic_scalar_transport_equation]]).<br />
<br />
Deriving an original numerical algorithm is not only a mathematical challenge. The investigator should also bear in mind the physics behind the term that is being discretized. For example, there are various discretization schemes for the convection term (upwind, QUICK, SOU etc...) because of the special behavior of the convection process. Similarly, the diffusion, convection, and source terms have very specialized treatments.</div>Tsaadhttp://www.cfd-online.com/Wiki/Introduction_to_numerical_methodsIntroduction to numerical methods2006-11-02T17:50:46Z<p>Tsaad: Removed all previous text as it was not related to numerical methods</p>
<hr />
<div>Numerical methods are at the heart of the CFD process. Researchers dedicate their attention to two fundamental aspects in CFD; i.e. physical modeling and numerics.<br />
<br />
In physical modeling, we seek a set of equations or mathematical relations that allow us to close the given set of equations. In turbulence modeling for example, one is interested in devising new equations for the extra unknowns that result from the averaging process.<br />
<br />
On the other hand, the focus in numerics is to devise efficient, robust, and reliable algorithms for the solution of PDEs. PDEs are a combination of differential terms (rates of change) that describe a conservation principle. Without loss in generality, all physical processes can be described by PDEs. Now, the CFD process requires the discretization of the governing PDEs, i.e. the derivation of equivalent algebraic relations that should faithfully represent the original PDE. This is done by transforming each differential term in the PDE into an approximate algebraic relation (see [[Generic_scalar_transport_equation]]).<br />
<br />
Deriving an original numerical algorithm is not only a mathematical challenge. The investigator should also bear in mind the physics behind the term that is being discretized. For example, there are various discretization schemes for the convection term (upwind, QUICK, SOU etc...) because of the special behavior of the convection process. Similarly, the diffusion, convection, and source terms have very specialized treatments.</div>Tsaadhttp://www.cfd-online.com/Wiki/Vtk.NetVtk.Net2006-11-02T17:09:22Z<p>Tsaad: </p>
<hr />
<div>VTK.NET is a .NET wrapper for the Visualization Toolkit. With it, you can write Windows Forms applications in C#, managed C++, Visual Basic, or J#. It includes a Windows Forms Control for drag and drop design of forms.<br />
<br />
''(This introduction was taken form the vtk.Net project page)''<br />
<br />
==External Link==<br />
*[http://vtkdotnet.sourceforge.net/ vtk.Net homepage]<br />
*[http://sourceforge.net/projects/vtkdotnet/ vtk.Net on sourceforge]</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2006-11-02T17:07:35Z<p>Tsaad: </p>
<hr />
<div>An overview of both free and commercial CFD software.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
<br />
*[[OpenFVM]] -- [http://openfvm.sourceforge.net/ OpenFVM homepage]<br />
*[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn homepage]<br />
*[[PP3D]] -- [http://www.featflow.de/ parpp3d++ homepage]<br />
*[[FreeFEM]] -- [http://www.freefem.org FreeFEM homepage]<br />
*[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]<br />
*[http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMTEK Mathematica Supplement (IMS)], IMTEK Mathematica Supplement (IMS)<br />
*[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]<br />
*[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]<br />
*[[OpenFOAM]] -- [http://www.openfoam.org/ OpenFOAM homepage]<br />
*[[PETSc-FEM]] -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]<br />
*[[Tochnog]] -- [http://tochnog.sourceforge.net Tochnog homepage]<br />
*[[Typhon solver]] -- [http://typhon.sf.net Typhon solver homepage]<br />
*[[Diagonalized Upwind Navier Stokes]] -- [http://duns.sourceforge.net DUNS homepage]<br />
*[[SLFCFD]] -- [http://slfcfd.sourceforge.net SLFCFD homepage]<br />
*[[ADFC]] -- [http://adfc.sourceforge.net/index.html ADFC homepage]<br />
*[[ELMER]] -- [http://www.csc.fi/elmer/ ELMER homepage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[BAMG]]<br />
*[[Delaundo]]<br />
*[[Triangle]]<br />
*[[GMSH]] -- [http://www.geuz.org/gmsh/ GMSH hompage]<br />
*[[TETGEN]] -- [http://tetgen.berlios.de/ TETGEN hompage]<br />
*[[NETGEN]] -- [http://www.hpfem.jku.at/netgen/ NETGEN homepage]<br />
*[[SALOME]] -- [http://www.salome-platform.org SALOME homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[GMV]] -- [http://www-xdiv.lanl.gov/XCM/gmv/ GMV homepage]<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] <br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]]<br />
*[[vtk]] -- [http://www.vtk.org vtk homepage]<br />
*[[vtk.Net]] -- [http://vtkdotnet.sourceforge.net/ vtk.Net homepage]<br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]]<br />
*[[Ftnchek]]<br />
*[[g3data]] -- [http://beam.helsinki.fi/~frantz/software/g3data.php g3data homepage]<br />
*[[GIFMerge]] -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
<br />
*[[ANSWER]] -- [http://www.acricfd.com/ ACRi's homepage]<br />
*[[CFDplusplus]] -- [http://www.metacomptech Metacomp Techonlogies' homepage]<br />
*[[CFD2000]] -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFD-ACE+]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFX]] -- [http://www.ansys.com/ Ansys' homepage]<br />
*[[EFD]] -- [http://www.nika.biz/ NIKA's homepage]<br />
*[[FINE]] -- [http://www.numeca.be/ Numeca's homepage]<br />
*[[FIRE]] -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLACS]] -- [http://www.gexcon.com/index.php?src=flacs/overview.html GexCon's homepage]<br />
*[[FLOW-3D]] -- [http://www.flow3d.com/ Flow Science's homepage]<br />
*[[FLOWVISION]] -- [http://www.fv-tech.com FlowVision's homepage]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
*[[KINetics Reactive Flows]] -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[STAR-CCMplus]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Turb'Flow]] -- [http://www.fluorem.com Fluorem's hompage]<br />
*[[FluSol]] -- [http://www.cfd-rocket.com FluSol's hompage]<br />
*[[KIVA]]--[http://www.lanl.gov/orgs/t/t3/codes/kiva.shtml Los Alamos homepage]<br />
*[[Flowz]]--[http://www.zeusnumerix.com Zeus Numerix's homepage ]<br />
<br />
=== Grid generation ===<br />
<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
*[[Harpoon]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[CFD-GEOM]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFD-VISCART]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFDExpert-GridZ ]] --[http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
*[[ICEM CFD ]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[EnSight]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[Fieldview]] -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
*[[CFD-VIEW]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFX-Post]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
*[[ViewZ]] -- [http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
<br />
=== Systems ===<br />
<br />
*[[Flownex]] -- [http://www.flownex.com/ Flownex's homepage]<br />
<br />
== Online tools and services ==<br />
<br />
*[[CFDNet]] -- [http://www.cfdnet.com/ CFDNet homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2006-11-02T17:06:46Z<p>Tsaad: added link to vtk.Net - wrappers for .Net framework</p>
<hr />
<div>An overview of both free and commercial CFD software.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
<br />
*[[OpenFVM]] -- [http://openfvm.sourceforge.net/ OpenFVM homepage]<br />
*[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn homepage]<br />
*[[PP3D]] -- [http://www.featflow.de/ parpp3d++ homepage]<br />
*[[FreeFEM]] -- [http://www.freefem.org FreeFEM homepage]<br />
*[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]<br />
*[http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/ IMTEK Mathematica Supplement (IMS)], IMTEK Mathematica Supplement (IMS)<br />
*[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]<br />
*[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]<br />
*[[OpenFOAM]] -- [http://www.openfoam.org/ OpenFOAM homepage]<br />
*[[PETSc-FEM]] -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]<br />
*[[Tochnog]] -- [http://tochnog.sourceforge.net Tochnog homepage]<br />
*[[Typhon solver]] -- [http://typhon.sf.net Typhon solver homepage]<br />
*[[Diagonalized Upwind Navier Stokes]] -- [http://duns.sourceforge.net DUNS homepage]<br />
*[[SLFCFD]] -- [http://slfcfd.sourceforge.net SLFCFD homepage]<br />
*[[ADFC]] -- [http://adfc.sourceforge.net/index.html ADFC homepage]<br />
*[[ELMER]] -- [http://www.csc.fi/elmer/ ELMER homepage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[BAMG]]<br />
*[[Delaundo]]<br />
*[[Triangle]]<br />
*[[GMSH]] -- [http://www.geuz.org/gmsh/ GMSH hompage]<br />
*[[TETGEN]] -- [http://tetgen.berlios.de/ TETGEN hompage]<br />
*[[NETGEN]] -- [http://www.hpfem.jku.at/netgen/ NETGEN homepage]<br />
*[[SALOME]] -- [http://www.salome-platform.org SALOME homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[GMV]] -- [http://www-xdiv.lanl.gov/XCM/gmv/ GMV homepage]<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] <br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]]<br />
*[[vtk]] -- [http://www.vtk.org vtk hompage]<br />
*[[vtk.Net]] -- [http://vtkdotnet.sourceforge.net/]<br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]]<br />
*[[Ftnchek]]<br />
*[[g3data]] -- [http://beam.helsinki.fi/~frantz/software/g3data.php g3data homepage]<br />
*[[GIFMerge]] -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
<br />
*[[ANSWER]] -- [http://www.acricfd.com/ ACRi's homepage]<br />
*[[CFDplusplus]] -- [http://www.metacomptech Metacomp Techonlogies' homepage]<br />
*[[CFD2000]] -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFD-ACE+]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFX]] -- [http://www.ansys.com/ Ansys' homepage]<br />
*[[EFD]] -- [http://www.nika.biz/ NIKA's homepage]<br />
*[[FINE]] -- [http://www.numeca.be/ Numeca's homepage]<br />
*[[FIRE]] -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLACS]] -- [http://www.gexcon.com/index.php?src=flacs/overview.html GexCon's homepage]<br />
*[[FLOW-3D]] -- [http://www.flow3d.com/ Flow Science's homepage]<br />
*[[FLOWVISION]] -- [http://www.fv-tech.com FlowVision's homepage]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
*[[KINetics Reactive Flows]] -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[STAR-CCMplus]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Turb'Flow]] -- [http://www.fluorem.com Fluorem's hompage]<br />
*[[FluSol]] -- [http://www.cfd-rocket.com FluSol's hompage]<br />
*[[KIVA]]--[http://www.lanl.gov/orgs/t/t3/codes/kiva.shtml Los Alamos homepage]<br />
*[[Flowz]]--[http://www.zeusnumerix.com Zeus Numerix's homepage ]<br />
<br />
=== Grid generation ===<br />
<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
*[[Harpoon]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[CFD-GEOM]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFD-VISCART]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFDExpert-GridZ ]] --[http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
*[[ICEM CFD ]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[EnSight]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[Fieldview]] -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
*[[CFD-VIEW]] -- [http://www.esi-group.com/ ESI's homepage]<br />
*[[CFX-Post]] -- [http://www.ansys.com/ ANSYS' homepage]<br />
*[[ViewZ]] -- [http://www.zeusnumerix.com/ Zeus Numerix's homepage]<br />
<br />
=== Systems ===<br />
<br />
*[[Flownex]] -- [http://www.flownex.com/ Flownex's homepage]<br />
<br />
== Online tools and services ==<br />
<br />
*[[CFDNet]] -- [http://www.cfdnet.com/ CFDNet homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/SIMPLE_algorithmSIMPLE algorithm2006-10-04T18:41:54Z<p>Tsaad: </p>
<hr />
<div>==SIMPLE [Semi-Implicit Method for Pressure-Linked Equations]== <br />
<br />
If a steady-state problem is being solved iteratively, it is not necessary to fully resolve<br />
the linear pressure-velocity coupling, as the changes between consecutive solutions<br />
are no longer small. <br />
The SIMPLE algorithm:<br />
<br />
* An approximation of the velocity field is obtained by solving the momentum equation. The pressure gradient term is calculated using the pressure distribution from the previous iteration or an initial guess.<br />
* The pressure equation is formulated and solved in order to obtain the new pressure distribution.<br />
* Velocities are corrected and a new set of conservative fluxes is calculated.<br />
<br />
==SIMPLE Solver Algorithm ==<br />
The algorithm may be summarized as follows: <br />
<br />
The basic steps in the solution update are as follows: <br />
<br />
#Set the boundary conditions.<br />
#Compute the gradients of velocity and pressure.<br />
#Solve the discretized momentum equation to compute the intermediate velocity field . <br />
#Compute the uncorrected mass fluxes at faces . <br />
#Solve the pressure correction equation to produce cell values of the pressure correction .<br />
#Update the pressure field: <math> p^{k + 1} = p^k + urf \bullet p^' </math> where urf is the under-relaxation factor for pressure.<br />
#Update the boundary pressure corrections <math> p_b^' </math>.<br />
#Correct the face mass fluxes: <math>\dot m_f^{k + 1} = \dot m_f^* + \dot m_f^' </math><br />
#Correct the cell velocities: <math> \vec v^{k + 1} = \vec v^* - \frac{{Vol\nabla p^' }}{{\vec a_P^v }} </math> ; where <math> {\nabla p^' } </math> is the gradient of the pressure corrections, <math> {\vec a_P^v } </math> is the vector of central coefficients for the discretized linear system representing the velocity equation and Vol is the cell volume.<br />
#Update density due to pressure changes.<br />
<br />
<br />
----<br />
<i> Return to [[Numerical methods | Numerical Methods]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/SIMPLE_algorithmSIMPLE algorithm2006-10-04T18:39:10Z<p>Tsaad: Fixed the meaning of the SIMPLE acronym</p>
<hr />
<div>==SIMPLE [Semi Implicit Method Pressure Linked Equation]== <br />
<br />
If a steady-state problem is being solved iteratively, it is not necessary to fully resolve<br />
the linear pressure-velocity coupling, as the changes between consecutive solutions<br />
are no longer small. <br />
The SIMPLE algorithm:<br />
<br />
* An approximation of the velocity field is obtained by solving the momentum equation. The pressure gradient term is calculated using the pressure distribution from the previous iteration or an initial guess.<br />
* The pressure equation is formulated and solved in order to obtain the new pressure distribution.<br />
* Velocities are corrected and a new set of conservative fluxes is calculated.<br />
<br />
==SIMPLE Solver Algorithm ==<br />
The algorithm may be summarized as follows: <br />
<br />
The basic steps in the solution update are as follows: <br />
<br />
#Set the boundary conditions.<br />
#Computed the gradients of velocity and pressure.<br />
#Solve the discretized momentum equation to compute the intermediate velocity field . <br />
#Compute the uncorrected mass fluxes at faces . <br />
#Solve the pressure correction equation to produce cell values of the pressure correction .<br />
#Update the pressure field: <math> p^{k + 1} = p^k + urf \bullet p^' </math> where urf is the under-relaxation factor for pressure.<br />
#Update the boundary pressure corrections <math> p_b^' </math>.<br />
#Correct the face mass fluxes: <math>\dot m_f^{k + 1} = \dot m_f^* + \dot m_f^' </math><br />
#Correct the cell velocities: <math> \vec v^{k + 1} = \vec v^* - \frac{{Vol\nabla p^' }}{{\vec a_P^v }} </math> ; where <math> {\nabla p^' } </math> is the gradient of the pressure corrections, <math> {\vec a_P^v } </math> is the vector of central coefficients for the discretized linear system representing the velocity equation and Vol is the cell volume.<br />
#Update density due to pressure changes.<br />
<br />
<br />
----<br />
<i> Return to [[Numerical methods | Numerical Methods]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/Favre_averagingFavre averaging2006-10-04T18:37:08Z<p>Tsaad: fixed and added some information</p>
<hr />
<div>Let <math>\Phi</math> be any dependent variable. This variable can be decomposed into a mean part <math>\widetilde{\Phi}</math> and a fluctuating part <math>\Phi''</math> using a density weighted average in the following way:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math>\Phi \equiv \widetilde{\Phi} + \Phi''</math><br />
<tr><td><br />
:<math>\widetilde{\Phi} \equiv \frac{ \int_T \rho(t) \Phi(t) dt}<br />
{ \int_T \rho(t) dt } \equiv \frac{\overline{\rho \Phi}}{\overline{\rho}}</math><br />
</td><td rowspan="2" width="5%">(1)</td></tr><br />
<tr><td><br />
where the overbars (e.g. <math>\overline{\rho \Phi}</math>) denote averages using the Reynolds decomposition.<br />
<tr><td><br />
auxiliary relations include<br />
<tr><td><br />
<math>\overline{\rho \Phi''}=0</math><br />
<tr><td><br />
<math>\overline{\rho \widetilde {\Phi}}=\overline{\rho}\widetilde {\Phi}=\overline{\rho \Phi}</math><br />
</table><br />
<br />
Favre averaging is sometimes used in compressible flow to separate turbulent fluctuations from the mean-flow. In most cases it is not necessary to use Favre averaging though, since turbulent fluctuations most often do not lead to any signigicant fluctuations in density. In that case the more simple [[Reynolds averaging]] can be used. Only in highly compressible flows and hypersonic flows is it necassary to perform the more complex Favre averaging. <br />
<br />
Favre averaging can be used to derive the [[Favre averaged Navier-Stokes equations]].</div>Tsaadhttp://www.cfd-online.com/Wiki/Introduction_to_turbulenceIntroduction to turbulence2006-05-22T05:04:01Z<p>Tsaad: fixed some weird bookmarks - probably spam</p>
<hr />
<div>== [[What is turbulence? ]] ==<br />
<br />
* [[What is turbulence? #Why study turbulence? | Why study turbulence? ]] <br />
* [[What is turbulence? #The cost of our ignorance | The cost of our ignorance ]] <br />
* [[What is turbulence? #What do we really know for sure? | What do we really know for sure? ]]<br />
<br />
== [[The elements of statistical analysis]] ==<br />
<br />
* [[The elements of statistical analysis #Foreword | Foreword ]] <br />
* [[The elements of statistical analysis #The ensemble and Ensemble Average| The ensemble and Ensemble Average]] <br />
** [[The elements of statistical analysis #The mean or ensemble average| The mean or ensemble average ]] <br />
** [[The elements of statistical analysis #Fluctuations about the mean | Fluctuations about the mean ]] <br />
<br />
== [[Reynolds averaged equations]] ==<br />
<br />
* [[Reynolds averaged equations #The equations governing the instantaneous fluid motions | The equations governing the instantaneous fluid motions ]] <br />
* [[Reynolds averaged equations #Equations for the average velocity | Equations for the average velocity ]] <br />
* [[Reynolds averaged equations #The turbulence problem | The turbulence problem ]]<br />
* [[Reynolds averaged equations #The origins of turbulence | The origins of turbulence ]]<br />
<br />
== [[Turbulence kinetic energy]] ==<br />
== [[Stationarity and homogeneity]] ==<br />
== [[Homogeneous turbulence]] ==<br />
== [[Free turbulent shear flows]] ==<br />
== [[Wall bounded turbulent flows]] ==<br />
<br />
<br />
==Credits==<br />
'''This text was based on "Introduction to Turbulence" by Professor William K.George, Chalmers University of Technology, Sweden.'''<br />
<br />
<br />
----<br />
<i> Return to [[Turbulence modeling]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/CFD-Wiki:General_disclaimerCFD-Wiki:General disclaimer2006-05-22T05:02:03Z<p>Tsaad: reverted to last edit</p>
<hr />
<div>__NOTOC__<br />
<font face="Arial" size="+2"><b><br />
CFD O<small>NLINE</small> M<small>AKES</small> N<small>O</small> G<small>UARANTEE</small> O<small>F</small> V<small>ALIDITY</small><br />
</b></font><br />
<br /><br /><br />
This Wiki is an online open-content collaborative effort. The articles have been written by volunteer authors. The nature of the Wiki allows anyone to alter and extend the content. Please be aware that nothing found here has necessarily been reviewed by professionals with the expertise necessary to provide you with complete, accurate or reliable information.<br />
<br />
This is not to say that you will not find valuable and accurate information in this Wiki. In fact, most of the time you will. However, neither CFD Online nor any author can guarantee the validity of the information found here. The content of any given article may recently have been changed, vandalized or altered by someone whose opinion does not correspond with the state of knowledge in the relevant field.<br />
<br />
=== No formal peer review ===<br />
<br />
CFD Online is working on ways to review articles and ensure that the content of this Wiki is of high quality. A review board of well established and recognized experts within their fields is being set up to regularly go through and review the content. However, the Wiki will not have any formal review process and even articles that have been reviewed and approved by experts from the review board may later be changed incorrectly. All information in this Wiki is provided "as is", without any implied warranty of fitness for any purpose or use whatsoever.<br />
<br />
None of the authors, contributors, reviewers, sponsors, administrators, sysops, or anyone else connected with this Wiki or CFD Online in any way whatsoever can be responsible for the appearance of any inaccurate or libelous information, or for your use of the information contained in or linked from these web pages.<br />
<br />
=== No contract; limited license ===<br />
<br />
Please understand that the information provided here is being provided freely, and that no kind of agreement or contract is created between you and the owners or users of this site, the owners of the servers upon which it is housed, the individual Wiki contributors, any project administrators, sysops or anyone else who is in any way connected with this Wiki. You are being granted a limited license to copy anything from this Wiki; it does not create or imply any contractual or extracontractual liability on the part of CFD Online or any of its associated companies, sponsors, authors, reviewers, members or users.<br />
<br />
There is no agreement or understanding between you and CFD Online regarding your use or modification of this information beyond the GNU Free Documentation License (GFDL); neither is anyone at CFD Online responsible should someone change, edit, modify or remove any information that you may post on this Wiki.<br />
<br />
=== Trademarks ===<br />
<br />
Any of the trademarks, service marks, collective marks, design rights, personality rights or similar rights that are mentioned, used or cited in the articles of this Wiki are the property of their respective owners. Their use here does not imply that you may use them for any other purpose other than for the same or a similar informational use as contemplated by the original authors of these Wiki articles under the GFDL licensing scheme. Unless otherwise stated CFD Online or this Wiki are neither endorsed nor affiliated with any of the holders of any such rights and as such can not grant any rights to use any otherwise protected materials. Your use of any such or similar incorporeal property is at your own risk.<br />
<br />
=== Jurisdiction and legality of content ===<br />
<br />
Publication of information found in this Wiki may be in violation of the laws of the country or jurisdiction from where you are viewing this information. The Wiki database is stored on a server in the State of Colorado in the United States of America, and is maintained in reference to the protections afforded under local and federal law. Laws in your country or jurisdiction may not protect or allow the same kinds of speech or distribution. CFD Online does not encourage the violation of any laws; and cannot be responsible for any violations of such laws, should you link to this domain or use, reproduce, or republish the information contained herein.<br />
<br />
Thank you for taking the time to read this page, and please enjoy your use of the CFD Wiki here at CFD Online.<br />
<br />
''This text was originally based upon the [http://en.wikipedia.org/wiki/Wikipedia:General_disclaimer general disclamer in Wikipedia]</div>Tsaadhttp://www.cfd-online.com/Wiki/CFD-Wiki:AboutCFD-Wiki:About2006-05-22T05:00:56Z<p>Tsaad: Reverted to last edit by Jola</p>
<hr />
<div>This Wiki is run as a part of the [http://www.cfd-online.com/ CFD Online] website. CFD-Wiki was launched in November, 2005 and currently contains more than [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles. It is a [[CFD-Wiki:Copyrights|free resource]] created by a large communty of [[Special:Listusers|volunteer authors]].<br />
<br />
If you have a question or comment about this website please post a message on the [http://www.cfd-online.com/Forum/wiki.cgi CFD-Wiki discussion forum] or email [mailto:webmaster@cfd-online.com webmaster@cfd-online.com].</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2006-05-02T03:21:31Z<p>Tsaad: added a comma</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"|'''[[CFD-Wiki:Introduction|Welcome to CFD-Wiki]]''' - a community project to create the ultimate, free Computational Fluid Dynamics reference. CFD-Wiki is written by thousands of volunteer authors from around the globe. Please join us and [[CFD-Wiki:Contribute something today|contribute something today]]! Everyone can help and CFD-Wiki will never be better than the information we all fill it with. We are currently working on [[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]]. '''In May, CFD-Wiki's focus area is turbulence modeling - read [[Focus area May 2006: Turbulence modeling|here]].'''<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:X-43A_(Hyper_-_X)_Mach_7_width_300px.jpg]]<br />
<br />
==[[Baldwin-Lomax model]]==<br />
<br />
The Baldwin-Lomax model is a classical algebraic turbulence model which is suitable for high-speed flows with thin attached boundary-layers, typically present in aerospace and turbomachinery applications. The Baldwin-Lomax model is not suitable for cases with large separated regions and significant curvature/rotation effects... <br />
''[[Baldwin-Lomax model|more]]'' <br />
<br />
<br />
''This article is a good example of a description of a turbulence model. [[Turbulence modeling]] is the foucus area of CFD-Wiki in May. So don't hesitate, pick the turbulence model that you are most familar with and write something about it now!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2006-02-27T06:00:43Z<p>Tsaad: </p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the University of Tennessee Space Institute. I am working on turbulence-chemistry interaction in the context of swirl-driven combustion.<br><br />
I hold a Masters degree from the American University of Beirut, Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://jedi.knows.it homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2006-02-22T19:39:26Z<p>Tsaad: </p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the University of Tennessee Space Institute. I am working on turbulence-chemistry interaction for of swirl-driven combustion.<br><br />
I hold a Masters degree from the American University of Beirut, Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://jedi.knows.it homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/User:TsaadUser:Tsaad2006-02-22T19:38:44Z<p>Tsaad: </p>
<hr />
<div>My name is Tony Saad.<br />
I am currently pursuing my Ph.D. at the University of Tennessee Space Institute. I am working on turbulence-chemistry interaction.<br><br />
I hold a Masters degree from the American University of Beirut, Lebanon, where I worked in Parallel Computing and visualization in CFD.<br><br />
*[http://jedi.knows.it homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/Fluent_FAQFluent FAQ2006-02-20T05:28:15Z<p>Tsaad: minor grammar edit</p>
<hr />
<div>This section is empty. This is just a suggestion on how to structure it. Please feel free to add questions and answers here!<br />
<br />
<br />
== FLUENT ==<br />
=== Solver Related ===<br />
==== What does the floating point error mean? How can I avoid it? ====<br />
<br />
The floating point error has been reported many times and discussed a lot. Here are some of the answers found in the Fluent Forum:<br />
<br />
'''SOLVER AND ITERATION''' -----I think if you set shorter time step, it may be good. Or changing little Under-Relaxiation-Factors, it may be good. In my experience, I set 1/3 Under-Relaxiation-Factors as default.� -----�also lower the values of under relaxation factor and use the coupled implicit solver� -----�Try to change under-relaxation factors and if it is unsteady problem maybe time step is to large.� -----�you can improve the ratio in the solve--control--limits, maybe that can help.� -----�you will need to decrease the Courant number� -----�If you still get the error, initialize the domain with nothing to 'Compute from...' Then click 'init'. Again select the surface from which you want to compute the initial values & iterate. This should work.� -----�Another reason could be a to high courant number - that means, that the steps between two iterations are too large and the change in the results is too large as well (high residuals)�<br />
<br />
'''GRID PROBLEMS''' -----�this error comes when I start scaling grid. in gambit, all my dimension is in mm, when in fluent i convert it in meter using buttone SCALE. after it, when i iterate, about hundred iteration, this error appeared. but when i not scale my drawing to m...and let it be as in gambit..then the iteration is success. -----�hi I think you should check your mesh grid mesh is very high. your problem solve by selection a low mesh.� -----�Your mesh is so heavy that your computers resources are not enough. try to use coarser mesh.�<br />
<br />
'''BOUNDARY CONDITIONS''' -----�In my case I had set a wall boundary condition instead of an axis boundary condition and then FLuent refuses to calculate telling me 'floating point error'.� -----�Your Boudary Conditions do not represent real physis.� -----�wrong boundary condition definition might cause the floating point error. For example setting an internal boundary as interior� -----�Once I had the problem, simulating a 2D chamber with a symmetry BC. I set the symmetry somewhere as �axe symmetric� and the floating point error occur� -----�check the turbulence parameter you set. reduce the turbulence intensity to less that one for first, say 50 iterations.<br />
<br />
'''USING A UDF''' -----�What I mean is really often when people creates UDF they generally forget that for the first iteration some variable can be zero. Therefore if you are divided a number by zero your solver will blow up telling you 'non floating error'. 'non' means 'not a number'. Depending on your UDF this kind of error does not effectively happens at the first iteration. An example, if you are simulated a domain with a stagnant water as initial condition and you are calculated for the first iteration something like 1/Re therefore lets call it BOOM !!! because Re=0 . To find this kind of think there a simple way : reread your UDF.�<br />
<br />
'''MULTI PROCESSOR ISSUES''' -----"I've had similar problems recently with floating point errors on a multi processor simulation. The solution for my problem seems to be to run on a single processor, where it runs fine....?�<br />
<br />
'''WRONG INITIATION''' ----- Initiating the case with wrong conditions may lead to floating point error when the iterations start.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
=== Models Related ===<br />
==== What is the turbulent viscosity ratio warning and how can I handle it? ====<br />
The problem can be caused by improper values for the boundary condition turbulence parameters. Check the fluent manual (which is kind of more like a textbook), about modeling turbulence.<br />
<br />
For the case of internal flow, you basically have to consider the physical state of the fluid upon entrance to your control volume. If the fluid is coming into your volume from a fully developed turbulent pipe flow, it will have more turbulent energy than from a stagnant fluid. Think of lots of little vortices, which mostly mix things up, and those all have kinetic energy associated). This energy can be expressed as a nondimensional Intensity (a percentage is used). In addition, a Length parameter is specified.<br />
<br />
==== How can I determine the inputs for a porous media or porous jump from flow versus pressure drop data? ====<br />
<br />
==== How do I model heat conduction in a composite wall? ====<br />
<br />
==== What pressures should be specified at inlets and outlets for buoyancy flow problems? ====<br />
<br />
==== Are there any general guidelines on selecting a turbulence model? ====<br />
<br />
==== How can both turbulent and laminar flow be included in one model? ====<br />
<br />
==== How to start a 3D simulation with an compressible medium and temperature changes? What is important to consider <br />
<br />
==== What is the difference between the coupled and the seggregated solver<br />
The coupled solver will solve all equations (conservation equations for mass, momentum and energy) simultaneously instead of sequentially (=segregated from one another). You should use the coupled solver when the velocity and pressure are strongly coupled (high pressures and high velocities). Very long calculation times can occur when you use the coupled solver.<br />
<br />
=== Solution Methodology === <br />
==== How do i carry out rotating body analysis, eg a rotating sphere or cylinder in flow? ====<br />
==== How do i get better and faster convergence? ====<br />
==== What is the role of under-relaxation parameters? What should be the optimum choice of these parameters? ====<br />
They limit the influence of the previous iteration over the present one. If you choose small values it may prevent oscillations in residuum developing. At the same time the solution may need more time to converge. <br />
Keep the default values as they are given in FLUENT. You can decrease them gradually if necessary. Momentum 0.6, pressure 0.1, k 0.4, eps 0.4, mass source 1, viscosity 1.<br />
<br />
<br />
=== Tips === <br />
==== How to merge two mesh files and make one? ====<br />
To merge two mesh files the suggested utility is tmerge. The syntax of tmerge is simple.<br><br />
<i>utility tmerge -3d file1 file2 finalfile </i> <br><br />
To join the two interior faces use: <br><br />
<i>Grid->Fuse</i> <br><br />
from the menu with Fluent.<br />
<br />
==== How to run multiple cases in batch mode ==== <br />
This could be achieved by running it from journal file. The example journal file that runs two cases is given as <br><br />
<i><br />
file read-case-data xxx1.cas <br><br />
solve dual-time-iterate yyy1 <br><br />
file write-case-data zzz1.cas <br><br />
file read-case-data xxx2.cas <br><br />
yes <b>(comment: for discard cas dialog) </b><br><br />
solve dual-time-iterate yyy2 <br><br />
file write-case-data zzz2.cas <br></i><br />
<br />
<br><br />
<br><br />
have a look at this discussion: <br><br />
http://www.cfd-online.com/Forum/fluent_archive.cgi?read=32615<br />
<br />
==== Want to export Fieldview data for postprocssing during iterations ====<br />
This could be done with the help of menu <b>solve->Execute Commands </b>. <br />
Here are two examples: <br><br />
Steady Case <br><br />
<b><br />
:file/export/fug/File_grid-%n <br><br />
:file/export/fud/File_data-%n pressure velocity-magnitude x-velocity y-velocity z-velocity () <br> </b><br />
Unsteady Case <br><br />
<b><br />
:file/export/fug/File_grid-%t <br><br />
:file/export/fud/File_data-%t pressure velocity-magnitude x-velocity y-velocity z-velocity () <br> </b><br />
<br />
You can chose the frequency of export from the <b>Execute Command</b> panel. <br />
<br />
==== What does the abbreviation mean?====<br />
<br />
CFD = Computational Fluid dynamics <br><br />
FEM = Finite element model <br><br />
FVM = Finite Volume Method<br><br />
FDM = Finite Difference Method<br><br />
UDF = User defined function <br><br />
PDF = Probability Density Function<br><br />
URF = Under Relaxation Factor<br><br />
VOF = Volume Of Fluid <br><br />
DPM = Discrete Phase Model <br><br />
TUI = Text User Interface<br><br />
GUI = Graphical user interface<br><br />
BC = Boundary Conditions<br><br />
RANS = Reynolds averaged Navier-Stokes Equations<br><br />
LES = Large Eddi simulation<br><br />
DES = <br><br />
RSM<br><br />
B-L = Boundary Layer<br><br />
QUICK<br><br />
MUSCL<br><br />
<br />
==== What is the difference between FE and FV?====<br />
<br />
Following excerpt from Vivek Ranade's book will answer this question to some extent. "The distinguishing feature of FE method is that the equation are multiplied by weight function before they are integrated over the entire domain. This approximation is then substituted into the weighted integral of the conservation law. By minimizing the residual, a set of non-linear algebraic equations is obtained. An important advantage of the FE method is its superior ability to deal with a solution domain having complex geometry, It is however difficult to develop computationally efficient solution method for strongly coupled and non-linear equations using FE."<br />
<br><br><br />
" The finite volume (FV) method uses the intergal form of the conservation equation as its starting point. The solution domain is divided into number of computational cells. The differential equation is integrated over the volume of each computational cell to obtain the algebraic equation". Those equations are solved iteratively to get the solution over the entire domain. Even if you start with FV method than also you will get the same form of algebraic equations as with FD method. For most of the cases FV and FD method and FD method is same, only approach is differetnt.<br />
<br><br />
In Finite Differnece, the Dependant variable values are stored at the nodes only. <br> <br><br />
<br />
In FEM, The dependant values are stored at the element nodes. <br> <br><br />
<br />
But in FVM, the dependant values are stored in the center of the Finite volume. <br> <br><br />
<br />
In FV approach, Conservation of mass, momentum, energy is ensured at each cell/finite volume level. This NOT true in FD and FE approach. <br> <br><br />
<br />
It is always better to use Governing Equation in Conservative form with FV approach to solve any problem which ensures conservation of all the properties in each cells/control volume. <br><br />
<br />
== FloWizard==<br />
<br />
== FIDAP==<br />
<br />
== POLYFLOW ==<br />
<br />
== Pre-processors ==<br />
<br />
=== Gambit ===<br />
<br>possible errors and how to avoid them<br><br><br />
meshing<br><br />
<br />
WARN: Exact projection failed for node on edge xx near vertex xx. mesh size may need to be enlarged for this virtual edge if mesh is not acceptable<br><br><br />
<br />
meshing failed for volume xx. This is usually caused by problems in the face meshes. Check the skewness of your face meshes and make shure the face mesh sizes are not to large in the area of small gaps <br><br><br />
<br />
<br />
uniting two volumes<br><br><br />
<br />
"misclassified graph coedge - probably geometrical problem" <br><br />
-> you can try healing the volumes<br><br />
-> deleting the volume (without lower geometry), healing and uniting the faces, then build the volume again<br />
<br />
=== Gambit Turbo ===<br />
<br />
=== TGrid ===<br />
<br />
== Application specific codes ==<br />
<br />
=== Icepak ===<br />
<br />
=== Airpak ===<br />
<br />
=== MixSim ===<br />
<br />
== Educational codes ==<br />
<br />
=== FlowLab ===<br />
<br />
<br />
[[Category: FAQ's]]<br />
<br />
{{stub}}</div>Tsaadhttp://www.cfd-online.com/Wiki/Introduction_to_turbulenceIntroduction to turbulence2006-02-20T05:25:26Z<p>Tsaad: reverted to last edit</p>
<hr />
<div>==What is Turbulence?==<br />
<br />
Turbulence is that state of fluid motion which is characterized by apparently random and chaotic three-dimensional [[vorticity]]. When turbulence is present, it usually dominates all other flow phenomena and results in increased energy dissipation, mixing, heat transfer, and drag.<br />
<br />
For a long time scientists were not really sure in which sense turbulence is 'random', but they were pretty sure it was. Like any one who is trained in physics, we believe the flows we see around us must be the solution to some set of equations which govern. (This is after all what mechanics is about- writing equations to describe and predict the world around us) But because of the nature of the turbulence, it wasn't clear whether the equations themselves had some hidden randomness, or just the solutions. And if the latter, was it something the equations did to them, or a consequence of the intial conditions<br />
<br />
===Why Study Turbulence?===<br />
<br />
There really are the two reasons for studying turbulence- engineering and physics! And they are not necessarily complementary, atleast in the short run.<br />
<br />
Certainly a case can be made that we don't know enough about the turbulence to even start to consider engineering problems. To begin with, we always have fewer equations that unknowns in any attempt to predict anything other than the instantaneous motions. This is the famous [[turbulence closure problem]].<br />
<br />
Of course, closure is not a problem when performing a [[Direct numerical simulation (DNS)| direct numerical simulation]] in which we numerically produce the instantaneous motions in a computer using the exact equations governing the fluid. Unfortunately we won't be able to perform such simulations for real engineering problems until at least a few hundred generations of computers have come and gone. And this won't really help us too much, since even when we now perform a DNS simulation of a really simple flow, we are already overwhelmed by the amount of data and its apparent random behaviour. This is because without some kind of theory, we have no criteria for selecting from it in a single lifetime what is important.<br />
<br />
The engineer's counter argument to the scientist's lament above is:<br />
<br />
* airplanes must fly,<br />
* weather must be forecast,<br />
* sewage and water management systems must be built<br />
* society needs ever more energy-efficient hardware and gadgets.<br />
<br />
Thus the engineer argues, no matter the inadequate state of our knowledge, '''we have the responsibilty as engineers to do the best we can with what we have'''. Who, considering the needs, could seriously argue with this? Almost incredibly - some physicists do!<br />
<br />
It seems evident then that there must be at least two levels of assault on turbulence. At one level, the very nature of turbulence must be explored. At the other level, our current state of knowledge- however inadequate it might be- must be stretched to provide engineering solutions to real problems.<br />
<br />
===The cost of our ignorance===<br />
<br />
It is difficult to place a price tag on the cost of our limited understanding of turbulence, but it requires no imagination at all to realize that it must be enormous. Try to estimate, for example, the aggregate cost to society of our limited turbulence prediction abilities which result in inadequate weather-forecasts alone. Or try to place a value on the increased cost to the consumer need of the designer of virtually every fluid-thermal system-from heat exchangers to hypersonic planes- to depend on empiricism and experimentation, with the resulting need for abundant safety factors and non-optimal performance by all but the crudest measures.Or consider the frustration to engineers and cost to management of the never-ending need for 'code-validation' experiments every time a new class of flows is encounteredor major design change is contemplated. The whole idea of 'codes' in the first place was to be able to evaluate designs wihtout having to do experiments or build prototypes.<br />
<br />
===What do we really know for sure?===<br />
<br />
Turbulence is a subject on which still studies are going on. We really don't know a whole lot for sure about turbulence. And worse, we even disagree about what we think we know! There are indeed some things some researchers think we understand pretty well - like for example the kolmogorov similarity theory for the dissipative scales and the Law of the Wall for wall-bounded flows. These are based on assumptions and logical constructions about how we believe turbulence behaves in the limit of infinite Reynolds number. But even these ideas have never been tested in controlled laboratory experiments in the limits of high Reynolds number, because no one has ever had the large scale facilities required to do so.<br />
<br />
It seems to be a characteristic of humans(and contrary to popular beleif, scientists and engineers are indeed human) that we tend to accept ideas which have been around a while as fact, instead of just working hypotheses that are still waiting to be tested. One can reasonably argue that the acceptance of most ideas in turbulence is perhaps more due to the time lapsed since they were proposed and found to be in resonable agreement with limited data base, than that they have been subjected to experimental tests over the range of their assumed validity. Thus it might be wise to view most 'established' laws and theories of turbulence as more like religious creeds than matters of fact.<br />
<br />
The whole situation is a bit analogous to the old idea that the sun and stars revolved around the earth - it was a fine idea, and even good today for navigational purposes. The only problem was that one day someone (Copernicus, Brahe and Galileo among them) looked up and realized it wasn't true. So it may be with a lot of what we believe today to be true about turbulence - some day you may be the one to look at evidence in a new way and decide that things we thought to be true are wrong.<br />
<br />
==The Reynolds Averaged Equations and the Turbulence Closure Problem==<br />
<br />
=== The Equations Governing the Instantaneous Fluid Motions ===<br />
<br />
All fluid motions, whether turbulent or not, are governed by the dynamical equations for a fluid. These can be written using Cartesian tensor notation as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial \tilde{u}_i}{\partial t}+\tilde{u}_j\frac{\partial \tilde{u}_i}{\partial x_j}\right] = -\frac{\partial \tilde{p}}{\partial x_i}+\frac{\partial \tilde{T}_{ij}^{(v)}}{\partial x_j}</math><br />
</td><td width="5%">(2.1)</td></tr></table><br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\left[\frac{\partial \tilde{\rho}}{\partial t}+\tilde{u}_j\frac{\partial \tilde{\rho}}{\partial x_j}\right]+ \tilde{\rho}\frac{\partial \tilde{u}_j}{\partial x_j}= 0 </math><br />
</td><td width="5%">(2.2)</td></tr></table><br />
<br />
<br />
where <math>\tilde{u_i}(\vec{x},t)</math> represents the i-the component of the fluid velocity at a point in space,<math>[\vec{x}]_i=x_i</math>, and time,t. Also <br />
<math>\tilde{p}(\vec{x},t)</math> represents the static pressure, <math>\tilde{T}_{ij}^{(v)}(\vec{x},t)</math>, the viscous(or deviatoric) stresses, and <math>\tilde\rho</math> the fluid density. The tilde over the symbol indicates that an instantaneous quantity is being considered. Also the [[Einstein summation convention]] has been employed.<br />
<br />
In equation 2.1, the subscript i is a free index which can take on the values 1,2 and 3. Thus equation 2.1 is in reality three separate equations. These three equations are just Newton's second law written for a continuum in a spatial(or Eulerian) reference frame. Together they relate the rate of change of momentum per unit mass <math>(\rho{u_i})</math>,a vector quantity, to the contact and body forces.<br />
<br />
Equation 2.2 is the equation for mass conservation in the absence of sources(or sinks) of mass. Almost all flows considered in this material will be incompressible, which implies that derivative of the density following the fluid material[the term in brackets] is zero. Thus for incompressible flows, the mass conservation equation reduces to:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\frac{D \tilde{\rho}}{Dt}=\frac{\partial \tilde{\rho}}{\partial t}+\tilde{u}_j\frac{\partial \tilde{\rho}}{\partial x_j}= 0</math><br />
</td><td width="5%">(2.3)</td></tr></table><br />
<br />
From equation 2.2 it follows that for incompressible flows,<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\frac{\partial \tilde{u}_j}{\partial x_j}= 0</math><br />
</td><td width="5%">(2.4)</td></tr></table><br />
<br />
The viscous stresses(the stress minus the mean normal stress) are represented by the tensor<math>\tilde{T}_{ij}^{(v)}</math>. From its definition,<math>\tilde{T}_{kk}^{(v)}</math>=0. In many flows of interest, the fluid behaves as a Newtonian fluid in which the viscous stress can be related to the fluid motion by a constitutive relation of the form.<br />
<br />
<table width="100%"><br />
<tr><td><br />
<math>\tilde{T}_{ij}^{(v)}= 2\mu[\tilde{s}_{ij}-\frac{1}{3}\tilde{s}_{kk}\delta_{ij}] </math><br />
</td><td width="5%">(2.5)</td></tr></table><br />
<br />
The viscosity, <math>\mu</math>, is a property of the fluid that can be measured in an independent experiment. <math>\tilde s_{ij}</math> is the instantaneous strain rate tensor defined by<br />
<br />
<table width="100%"><br />
<tr><td><br />
<math>\tilde{s}_{ij}= \frac{1}{2}\left[\frac{\partial \tilde u_i}{\partial x_j}+\frac{\partial \tilde u_j}{\partial x_i}\right] </math><br />
</td><td width="5%">(2.6)</td></tr></table><br />
<br />
From its definition, <math>\tilde s_{kk}=\frac{\partial \tilde u_k}{\partial x_k}</math>. If the flow is incompressible, <math>\tilde s_{kk}=0</math> and the Newtonian constitutive equation reduces to<br />
<table width="100%"><br />
<tr><td><br />
<math>\tilde{T}_{ij}^{(v)}= 2\mu\tilde{s}_{ij}</math><br />
</td><td width="5%">(2.7)</td></tr></table><br />
<br />
Throughout this material, unless explicitly stated otherwise, the density <math>\tilde\rho=\rho</math> and the viscosity <math>\mu</math> will be assumed constant. With these assumptions, the instantaneous momentum equations for a Newtonian Fluid reduce to:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\left[\frac{\partial \tilde{u}_i}{\partial t}+\tilde{u}_j\frac{\partial \tilde{u}_i}{\partial x_j}\right] = -\frac {1}{\tilde\rho}\frac{\partial \tilde{p}}{\partial x_i}+\nu\frac{\partial^2 {\tilde{u}_i}}{\partial x_j^2}</math><br />
</td><td width="5%">(2.8)</td></tr></table><br />
<br />
where the kinematic viscosity, <math>\nu</math>, has been defined as:<br />
<table width="100%"><br />
<tr><td><br />
<math>\nu\equiv\frac{\mu}{\rho}</math><br />
</td><td width="5%">(2.9)</td></tr></table><br />
<br />
Note that since the density is assumed conastant, the tilde is no longer necessary.<br />
<br />
Sometimes it will be more instructive and convenient to not explicitly include incompressibilty in the stress term, but to refer to the incompressible momentum equation in the following form:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial \tilde{u}_i}{\partial t}+\tilde{u}_j\frac{\partial \tilde{u}_i}{\partial x_j}\right] = -\frac{\partial \tilde{p}}{\partial x_i}+\frac{\partial \tilde{T}_{ij}^{(v)}}{\partial x_j}</math><br />
</td><td width="5%">(2.10)</td></tr></table><br />
<br />
This form has the advantage that it is easier to keep track of the exact role of the viscous stresses.<br />
<br />
=== Equations for the Average Velocity ===<br />
<br />
<br />
Although laminar solutions to the equations often exist that are consistent with the boundary conditions, perturbations to these solutions(sometimes even infinitesimal) can cause them to become turbulent. To see how this can happen, it is convenient to analyze the flow in two parts, a mean(or average) component and a fluctuating component. Thus the instantaneous velocity and stresses can be written as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\tilde {u}_i=U_i+u_i<br />
</math><br />
:<math><br />
\tilde p=P+p<br />
</math><br />
:<math><br />
\tilde T_{ij}^{(v)}=T_{ij}^{(v)}+\tau_{ij}^{(v)}<br />
</math><br />
</td><td width="5%">(2.11)</td></tr><br />
</table><br />
<br />
<br />
Where <math>U_i</math>, <math>P</math> and <math>T_{ij}^{(v)}</math> represent the mean motion, and <math>u_i</math>, <math>p</math> and <math>\tau_{ij}^{(v)}</math> the fluctuating motions. This technique for decomposing the instantaneous motion is referred to as the '''''Reynolds decomposition.''''' Note that if the averages are defined as ensemble means, they are, in general, time-dependent. For the remainder of this material unless other wise stated, the density will be assumed constant so<math>\tilde{\rho}\equiv\rho</math>,and its fluctuation is zero.<br />
<br />
Substitution of equations 2.11 into equations 2.10 yields<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial (U_i+u_i)}{\partial t}+(U_j+u_j)\frac{\partial (U_i+u_i)}{\partial x_j}\right] = -\frac{\partial (P+p)}{\partial x_i}+\frac{\partial (T_{ij}^{(v)}+\tau_{ij}^{(v)})}{\partial x_j}</math><br />
</td><td width="5%">(2.12)</td></tr></table><br />
<br />
This equation can now be averaged to yield an equation expressing momentum conservation for the averaged motion. Note that the operations of averaging and differentiation commute; i.e., the average of a derivative is the same as the derivative of the average. Also the average of a fluctuating quantity is zero. Thus the equation for the averaged motion reduces to:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial U_i}{\partial t}+U_j\frac{\partial U_i}{\partial x_j}\right] = -\frac{\partial P}{\partial x_i}+\frac{\partial T_{ij}^{(v)}}{\partial x_j}-\rho\left \langle u_j\frac{\partial u_i }{\partial x_j} \right \rangle</math><br />
</td><td width="5%">(2.13)</td></tr></table><br />
<br />
where the remaining fluctuating product term has been moved to the right hand side of the equation. Whether or not the last term is zero like the other fluctuating term depends on the correlation of the terms in the product. In general, these correlations are not zero.<br />
<br />
The mass conservation equation can be similarly decomposed. In incompressible form, substitution of equations 2.11 into equation 2.4 yields:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\frac{\partial (U_j+u_j)}{\partial x_j}=0</math><br />
</td><td width="5%">(2.14)</td></tr></table><br />
<br />
of which average is <br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\frac{\partial U_j}{\partial x_j}=0</math><br />
</td><td width="5%">(2.15)</td></tr></table><br />
<br />
It is clear from the equation 2.15 that the averaged motion satisfies the same form of the mass conservation equation as does the instantaneous motion at least for incompressible flows. How much simpler the turbulence problem would be if the same were true for the momentum! Unfortunately, as is easily seen from the equation 2.13, such is not the case.<br />
<br />
Equation 2.15 can be subtracted from equation 2.14 to yield an equation for instantaneous motion alone; i.e,<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\frac{\partial u_j}{\partial x_j}=0</math><br />
</td><td width="5%">(2.16)</td></tr></table><br />
<br />
Again, like the mean, the form of the original instantaneous equation is seen to be preserved. The reason, of course, is obvious: the continuity equation is linear. The momentum equation , on the other hand, is not; hence the difference.<br />
<br />
Equation 2.16 can be used to rewrite the last term in equation 2.13 for the mean momentum. Multiplying equation 2.16 by <math>u_i</math> and averaging yields:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\left \langle u_i\frac{\partial u_j}{\partial x_j}\right \rangle=0</math><br />
</td><td width="5%">(2.17)</td></tr></table><br />
<br />
This can be added to:<math>\left \langle u_j\frac{\partial u_i}{\partial x_j}\right \rangle</math> to obtain:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\left \langle u_j\frac{\partial u_i}{\partial x_j}\right \rangle +0=\left \langle u_j\frac{\partial u_i}{\partial x_j}\right \rangle+ \left \langle u_i\frac{\partial u_j}{\partial x_j}\right \rangle =\frac{ \partial}{\partial x_j}{\left \langle u_iu_j\right \rangle} </math><br />
</td><td width="5%">(2.18)</td></tr></table><br />
<br />
Where again the fact that arithmetic and averaging operations commute has been used.<br />
<br />
The equation for the averaged momentum, equation 2.13 can now be rewritten as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial U_i}{\partial t}+U_j\frac{\partial U_i}{\partial x_j}\right] = -\frac{\partial P}{\partial x_i}+\frac{\partial T_{ij}^{(v)}}{\partial x_j}-\frac{ \partial}{\partial x_j}{(\rho\left \langle u_iu_j\right \rangle)}</math><br />
</td><td width="5%">(2.19)</td></tr></table><br />
<br />
The last two terms on the right hand side are both divergence terms and can be combined; the result is:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\rho\left[\frac{\partial U_i}{\partial t}+U_j\frac{\partial U_i}{\partial x_j}\right] = -\frac{\partial P}{\partial x_i}+\frac{\partial }{\partial x_j}[T_{ij}^{(v)}-{\rho\left \langle u_iu_j\right \rangle}]</math><br />
</td><td width="5%">(2.20)</td></tr></table><br />
<br />
Now the terms in square brackets on the right have the dimensions of stress. The first term is, in fact , the viscous stress. The second term, on the other hand, is not a stress at all, but simply a re-worked version of the fluctuating contribution to the non-linear acceleration terms. The fact that it can be written this way, however, indicates that at least as far as the motion is concerned, it acts as though it were a stress- hence its name, the '''Reynolds stress'''. In the succeeding sections the consequences of this difference will be examined.<br />
<br />
=== The Turbulence Problem ===<br />
<br />
It is the appearance of the Reynolds stress which makes the turbulence problem so difficult - at least from the engineers perspective. Even though we can pretend it is a stress, the physics which give rise to it are very different from the viscous stress. The viscous stress can be related directly to the other flow properties by constitutive equations, which in turn depend only on the properties of the fluid( as in equation 2.5 for a Newtonian fluid). The reason this works is that when we make such closure approximations for a fluid, we are averaging over characteristic length and time scales much smaller than those of the flows we are interested in. Yet at the same time, these scales are much larger than the molecular length and time scales which characterize the molecular interactions that are actually causing the momentum transfer. (This is what the continuum approximation is all about).<br />
<br />
The '''''Reynolds stress''''', on the other hand, arises from the flow itself! Worse, the scales of the fluctuating motion which give rise to it are the scales we are interested in. This means that the closure ideas which worked so well for the viscous stress, should not be expected to work too well for the Reynolds stress. And as we shall see, they do not.<br />
<br />
This leaves us in a terrible position. Physics and engineering are all about writing equations(and boundary conditions) so we can solve them to make predictions. We don't want to have a build prototype airplanes first to see if they will they fall out of the sky. Instead we want to be able to analyze our designs before building, to save the cost in money and lives if our ideas are wrong. The same is true for dams and bridges and tunnels and automobiles. If we had confidence in our turbulence models, we could even build huge one-offs and expect them to work the first time. Unfortunately, even though turbulence models have improved to the point where we can use them in design, we still cannot trust them enough to eliminate expensive wind tunnel and model studies. And recent history is full of examples to prove this.<br />
<br />
The turbulence problem (from the engineers perspective) is then three-fold:<br />
<br />
* '''The averaged equations are not closed.''' Count the number of unknowns in equation 2.20 above. Then count the number of equations. Even with the continuity equation we have atleast six equations too few.<br />
<br />
* '''The simple ideas to provide the extra equations usually do not work.''' And even when we can fix them up for a particular class of flows (like the flow in a pipe, for example), they will most likely not be able to predict what happens in even a slightly different environment(like a bend).<br />
<br />
*'''Even the last resort of compiling engineering tables for design handbooks carries substantial risk.''' This is the last resort for the engineer who lacks equations or cannot trust them. Even when based on a wealth of experience, they require expensive model testing to see if they can be extrapolated to a particular situation. Often they cannot, so infinitely clever is Mother Nature in creating turbulence that is unique to a particular set of boundary conditions.<br />
<br />
'''Turbulent flows are indeed flows!'''. And that is the problem.<br />
<br />
==2.4 The Origins of Turbulence==<br />
<br />
Turbulent flows can often be observed to arise from laminar flows as the Reynolds number, (or someother relevant parameter) is increased. This happens because small disturbances to the flow are no longer damped by the flow, but begin to grow by taking energy from the original laminar flow. This natural process is easily visualized by watching the simple stream of water from a faucet (or even a pitcher). Turn the flow on very slow (or pour) so the stream is very smooth initially, at least near the outlet. Now slowly open the faucet (or pour faster) abd observe what happens, first far away, then closer to the spout. The surface begins to exhibit waves or ripples which appear to grow downstream . In fact, they are growing by extracting energy from the primary flow. Eventually they grow enough that the flow breaks into drops. These are capillary instabilities arisiing from surface tension, but regardless of the type of instability, the idea is the same -small (or infinitesimal ) disturbances have grown to disrupt the serenity (and simplicity) of laminar flow.<br />
<br />
The manner in which the instabilities grow naturally in a flow can be examined using the equations we have already developed above. We derived them by decomposing the motion into a mean and fluctuating part. But suppose instead we had decomposed the motion into a base flow part (the initial laminar part) and into a disturbance which represents a fluctuating part superimposed on the base flow. The result of substituting such a decomposition into the full Navier-Stokes equations and averaging is precisely that given by equations 2.13 and 2.15. But the very important difference is the additional restriction that what was previously identified as the mean (or averaged ) motion is now also the base or laminar flow.<br />
<br />
Now if the base flow is really laminar flow (which it must be by our original hypothesis), then our averaged equations governing the base flow must yield the same mean flow as the original laminar flow on which the disturbances was superimposed. But this can happen only if these new averaged equations reduce to '''exactly''' the same lamiane flow equations without any evidence of a disturbance. Clearly from equations 2.13 and 2.15, this can happen ''only if all the Reynolds stress terms vanish identically!'' Obviously this requires that the disturbances be infintesimal so the extra terms can be neglected - hence our interest in infinitesimal disturbances.<br />
<br />
So we hypothesized a base flow which was laminar and showed that it is unchanged even with the imposition of infintesimal disturbances on it - ''but only as long as the disturbances'' '''remain''' ''infinitesimal!'' What happens if the disturbance starts to grow? Obviously before we conclude that all laminar flows are laminar forever we better investigate whether or not these infinitesimal disturbances can grow to ''finite'' size. To do this we need an equation for the fluctuation itself.<br />
<br />
more to come soon.............<br />
<br />
==Credits==<br />
'''This text was based on "Introduction to Turbulence" by Professor William K.George, Chalmers University of Technology, Sweden.'''<br />
<br />
<br />
----<br />
<i> Return to [[Turbulence modeling]] </i></div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2006-02-20T05:24:13Z<p>Tsaad: reverted to last edit by Jola</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and punctuation. You can also check out the [[History of CFD]] section where no CFD expertise is required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a broad range of time and length scales. A mathematical description of combustion is not always trivial, although some analytical solutions exist for simple situations of laminar flame. Such analytical models are usually restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2006-02-10T00:51:23Z<p>Tsaad: Reverted back to last edit by Jola</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and punctuation. You can also check out the [[History of CFD]] section where no CFD expertise is required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a broad range of time and length scales. A mathematical description of combustion is not always trivial, although some analytical solutions exist for simple situations of laminar flame. Such analytical models are usually restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2005-12-22T03:48:23Z<p>Tsaad: spelling</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and punctuation. You can also check out the [[History of CFD]] section where no CFD expertise is required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a broad range of time and length scales. A mathematical description of combustion is not always trivial, although some analytical solutions exist for simple situations of laminar flame. Such analytical models are usually restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/Talk:Turbulence_modelingTalk:Turbulence modeling2005-12-20T16:26:04Z<p>Tsaad: All technical questions are to be directed to one of the CFD-Online forums. The talk pages are related to editing issues for CFDWiki sections</p>
<hr />
<div></div>Tsaadhttp://www.cfd-online.com/Wiki/User_talk:MAXIMO662User talk:MAXIMO6622005-12-20T16:24:33Z<p>Tsaad: </p>
<hr />
<div>Dear Massimo,<br />
<br />
Please direct all your technical questions to any of the CFD-Online forums at http://www.cfd-online.com/Forum/<br />
<br />
Best,<br />
<br />
Tony</div>Tsaadhttp://www.cfd-online.com/Wiki/User_talk:EngwareUser talk:Engware2005-12-19T19:52:06Z<p>Tsaad: </p>
<hr />
<div>Hello again Gordan,<br />
<br />
Check the CFD-Wiki forum. I have initiated a new thread.<br />
<br />
Tony.<br />
<br />
<br />
<br />
<br />
<br />
<br />
Tony:<br />
<br />
Engineering Software has a section devoted to Compressible Flow -- this is a significant part of Energy Conversion Systems.<br />
<br />
Can a link to this area be honored by CFD-Online?<br />
<br />
Thanks,<br />
<br />
Gordan<br />
<br />
<br />
-----------------------------------<br />
Tony:<br />
<br />
For example, Compressible Flow Online Calculators area. Is this an area that might get a link?<br />
<br />
Also, you have been editing the Combustion material. Can Combustion area be a candidate under Combustion wher you have External Links?<br />
<br />
Tony, I would appreciate if you could tell me either yes or no. If yes, then where to go. If no, well that is fine too.<br />
<br />
Thanks,<br />
<br />
Gordan<br />
<br />
<br />
<br />
== E-Solutions ==<br />
Dear Gordan,<br />
<br />
There is nothing wrong with the e-Solution website and the services that are offered. The only astuce is that they do not strictly fall under the category of Computational Fluid Dynamics. As I told you earlier, the codes offer an overall energy analysis. In the case of the compressible flow codes, they are based on the 1-D analytical solutions (normal shocks, expansion waves...). They still do categorize as CFD material. CFD is a very broad area that is directed to overcoming the "impossibilities" of analytical solutions for higher dimensional problems as well as complex geometries. <br />
<br />
If you have additional concerns, please place your comments in the CFDWiki Forum so that this discussion is transparent to all users and everybody can give their opinion.<br />
<br />
Best,<br />
<br />
Tony<br />
<br />
<br />
-------------------------------------<br />
Hi Gordan,<br />
<br />
We appreciate your contributions to the CFDWiki. However, we found that the link you provided is not directly related to CFD material. It is directed towards energy conversion systems and overall system analysis, which is a different specialization by its own. Your site is very nice and the material you provide is of good reference for energy studies, thermodynamic assessment of power cycles etc... This is not a targeted topic by CFD. You are most welcome to contribute to the CFDWiki, however, we have to remain in the area of CFD.<br />
<br />
Best,<br />
<br />
Tony</div>Tsaadhttp://www.cfd-online.com/Wiki/User_talk:EngwareUser talk:Engware2005-12-19T19:42:10Z<p>Tsaad: e-Solutions : Update</p>
<hr />
<div>Tony:<br />
<br />
Engineering Software has a section devoted to Compressible Flow -- this is a significant part of Energy Conversion Systems.<br />
<br />
Can a link to this area be honored by CFD-Online?<br />
<br />
Thanks,<br />
<br />
Gordan<br />
<br />
<br />
== E-Solutions ==<br />
Dear Gordan,<br />
<br />
There is nothing wrong with the e-Solution website and the services that are offered. The only astuce is that they do not strictly fall under the category of Computational Fluid Dynamics. As I told you earlier, the codes offer an overall energy analysis. In the case of the compressible flow codes, they are based on the 1-D analytical solutions (normal shocks, expansion waves...). They still do categorize as CFD material. CFD is a very broad area that is directed to overcoming the "impossibilities" of analytical solutions for higher dimensional problems as well as complex geometries. <br />
<br />
If you have additional concerns, please place your comments in the CFDWiki Forum so that this discussion is transparent to all users and everybody can give their opinion.<br />
<br />
Best,<br />
<br />
Tony<br />
<br />
<br />
-------------------------------------<br />
Hi Gordan,<br />
<br />
We appreciate your contributions to the CFDWiki. However, we found that the link you provided is not directly related to CFD material. It is directed towards energy conversion systems and overall system analysis, which is a different specialization by its own. Your site is very nice and the material you provide is of good reference for energy studies, thermodynamic assessment of power cycles etc... This is not a targeted topic by CFD. You are most welcome to contribute to the CFDWiki, however, we have to remain in the area of CFD.<br />
<br />
Best,<br />
<br />
Tony</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2005-12-19T19:30:44Z<p>Tsaad: removed e-Solutions - Out of context - Please place comments on the CFDWiki Forum</p>
<hr />
<div>An overview of both free and commercial CFD software.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
<br />
*[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn homepage]<br />
*[[FreeFEM]] -- [http://www.freefem.org FreeFEM homepage]<br />
*[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]<br />
*[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]<br />
*[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]<br />
*[[OpenFOAM]] -- [http://www.openfoam.org/ OpenFOAM homepage]<br />
*[[PETSc-FEM]] -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[BAMG]]<br />
*[[Delaundo]]<br />
*[[Gmsh]] -- [http://www.geuz.org/gmsh/ Gmsh homepage]<br />
*[[Triangle]]<br />
<br />
=== Visualization ===<br />
<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] <br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]]<br />
*[[vtk]] -- [http://www.vtk.org vtk hompage]<br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]]<br />
*[[Ftnchek]]<br />
*[[g3data]] -- [http://beam.helsinki.fi/~frantz/software/g3data.php g3data homepage]<br />
*[[GIFMerge]] -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
<br />
*[[ANSWER]] -- [http://www.acricfd.com/ ACRi's homepage]<br />
*[[CFDplusplus]] -- [http://www.metacomptech Metacomp Techonlogies' homepage]<br />
*[[CFD2000]] -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN & CFD-ACE]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFX]] -- [http://www.ansys.com/ Ansys' homepage]<br />
*[[EFD]] -- [http://www.nika.biz/ NIKA's homepage]<br />
*[[FINE]] -- [http://www.numeca.be/ Numeca's homepage]<br />
*[[FIRE]] -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLOW-3D]] -- [http://www.flow3d.com/ Flow Science's homepage]<br />
*[[FLOWVISION]] -- [http://www.fv-tech.com FlowVision's homepage]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
*[[KINetics Reactive Flows]] -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Turb'Flow]] -- [http://www.fluorem.com Fluorem's hompage]<br />
*[[FluSol]] -- [http://www.cfd-rocket.com FluSol's hompage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
*[[Harpoon]] -- [http://www.ensight.com/ CEI's homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[EnSight]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[Fieldview]] -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
<br />
=== Systems ===<br />
<br />
*[[Flownex]] -- [http://www.flownex.com/ Flownex's homepage]<br />
<br />
== Online tools and services ==<br />
<br />
*[[CFDNet]] -- [http://www.cfdnet.com/ CFDNet homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/CombustionCombustion2005-12-19T19:28:16Z<p>Tsaad: updated figure for combustion models</p>
<hr />
<div>== What is combustion -- physics versus modelling ==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a <br />
broad range of time and length scales. A mathematical description of combustion is not <br />
always trivial, although some analytical solutions exist for simple situations of <br />
laminar flame. Such analytical models are usually restricted to problems in zero or one-dimensional space.<br />
<br />
Most problems in combustion invlove turbulent flows, gas and liquid <br />
fuels, and pollution transport issues (products of combustion as well as for example noise <br />
pollution). These problems require not only extensive experimental <br />
work, but also numerical modelling. All combustion models must be validated <br />
against the experiments as each one has its own drawbacks and limits. In this article, we will address the modeling fundamentals only.<br />
<br />
In addition to the flow parameters used in fluid mechanics,<br />
new dimensionless parameters are introduced, the most important of which are the [[Karlovitz number]] and the [[Damkholer number]] which represent ratios of chemical and flow time scales, and <br />
the [[Lewis number]] which compares the diffusion speeds of species.<br />
The combustion models are often classified selon their capability to deal with the different combustion regimes. <br><br />
[[Image:SUMMARY_OF_COMBUSTION_MODELS.jpg]]<br />
<br />
== Reaction mechanisms ==<br />
<br />
Combustion is mainly a chemical process. Although we can, to some extent, <br />
describe a flame without any chemistry information, modelling of the flame <br />
propagation requires the knowledge of speeds of reactions, product concentrations, <br />
temperature, and other parameters. <br />
Therefore fundamental information about reaction kinetics is <br />
essential for any combustion model. <br />
A fuel-oxidizer mixture will generally combust if the reaction is fast enough to <br />
prevail until all of the mixture is burned into products. If the reaction <br />
is too slow, the flame will extinguish. If too fast, explosion or even <br />
detonation will occur. The reaction rate of a typical combustion reaction <br />
is influenced mainly by the concentration of the reactants, temperature, and pressure. <br />
<br />
A stoichiometric equation for an arbitrary reaction can be written as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\sum_{j=1}^{n}\nu' (M_j) = \sum_{j=1}^{n}\nu'' (M_j),<br />
</math></td></tr></table><br />
<br />
where <math> \nu </math> denotes the stoichiometric coefficient, and <math>M_j</math> stands for an arbitrary species. A one prime holds for the reactants while a double prime holds for the products of the reaction. <br />
<br />
The reaction rate, expressing the rate of disappearance of reactant <b>i</b>, is defined as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
RR_i = k \, \prod_{j=1}^{n}(M_j)^{\nu'},<br />
</math></td></tr></table><br />
<br />
in which <b>k</b> is the specific reaction rate constant. Arrhenius found that this constant is a function of temperature only and is defined as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
k= A T^{\beta} \, exp \left( \frac{-E}{RT}\right)<br />
</math></td></table><br />
<br />
where <b>A</b> is pre-exponential factor, <b>E</b> is the activation energy, and <math>\beta</math> is a temperature exponent. The constants vary from one reaction to another and can be found in the literature.<br />
<br />
Reaction mechanisms can be deduced from experiments (for every resolved reaction), they can also be constructed numerically by the '''automatic generation method''' (see [Griffiths (1994)] for a review on reaction mechanisms).<br />
For simple hydrocarbons, tens to hundreds of reactions are involved. <br />
By analysis and systematic reduction of reaction mechanisms, global reactions <br />
(from one to five step reactions) can be found (see [Westbrook (1984)]).<br />
<br />
== Governing equations for chemically reacting flows ==<br />
<br />
Together with the usual Navier-Stokes equations for compresible flow (See [[Governing equations]]), additional equations are needed in reacting flows.<br />
<br />
The transport equation for the mass fraction <math> Y_k </math> of <i>k-th</i> species is<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Y_k \right) +<br />
\frac{\partial}{\partial x_j} \left( \rho u_j Y_k\right) = <br />
\frac{\partial}{\partial x_j} \left( \rho D_k \frac{\partial Y_k}{\partial x_j}\right)+ \dot \omega_k<br />
</math><br />
<br />
<br />
where Ficks' law is assumed for scalar diffusion with <math> D_k </math> denoting the species difussion coefficient, and <math> \dot \omega_k </math> denoting the species reaction rate.<br />
<br />
A non-reactive (passive) scalar (like the mixture fraction <math> Z </math>) is goverened by the following transport equation<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Z \right) +<br />
\frac{\partial}{\partial x_j} \left( \rho u_j Z \right) = <br />
\frac{\partial}{\partial x_j} \left( \rho D \frac{\partial Z}{\partial x_j}\right)<br />
</math><br />
<br />
where <math> D </math> is the diffusion coefficient of the passive scalar.<br />
<br />
<br />
=== RANS equations ===<br />
<br />
In turbulent flows, [[Favre averaging]] is often used to reduce the scales (see [[Reynolds averaging]]) and the<br />
mass fraction transport equation is transformed to<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Y}_k }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Y}_k}{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D_k \frac{\partial Y_k} {\partial x_j} } -<br />
\overline{\rho} \widetilde{u''_i Y''_k } \right)<br />
+ \overline{\dot \omega_k}<br />
</math><br />
<br />
<br />
where the turbulent fluxes <math> \widetilde{u''_i Y''_k} </math> and reaction terms<br />
<math> \overline{\dot \omega_k} </math> need to be closed.<br />
<br />
The passive scalar turbulent transport equation is<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Z} }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Z} }{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D \frac{\partial Z} {\partial x_j} } -<br />
\overline{\rho} \widetilde{u''_i Z'' } \right)<br />
</math><br />
<br />
where <math> \widetilde{u''_i Z''} </math> needs modelling.<br />
<br />
In addition to the mean passive scalar equation,<br />
an equation for the Favre variance <math> \widetilde{Z''^2}</math> is often employed<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Z''^2} }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Z''^2} }{\partial x_j}=<br />
\frac{\partial}{\partial x_j}<br />
\left( \overline{\rho} \widetilde{u''_i Z''^2} \right) -<br />
2 \overline{\rho} \widetilde{u''_i Z'' }<br />
- \overline{\rho} \widetilde{\chi}<br />
</math><br />
<br />
where <math> \widetilde{\chi} </math> is the mean [[Scalar dissipation]] rate<br />
defined as <math> \widetilde{\chi} =<br />
2 D \widetilde{\left| \frac{\partial Z''}{\partial x_j} \right|^2 } </math><br />
This term and the variance diffusion fluxes needs to be modelled.<br />
<br />
=== LES equations ===<br />
The [[Large eddy simulation (LES)]] approach for reactive flows introduces equations for the filtered species mass fractions within the compressible flow field.<br />
Similar to the [[#RANS equations]], but using Favre filtering instead<br />
of [[Favre averaging]], the filtered mass fraction transport equation is<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Y}_k }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Y}_k}{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D_k \frac{\partial Y_k} {\partial x_j} } -<br />
J_j \right)<br />
+ \overline{\dot \omega_k}<br />
</math><br />
<br />
where <math> J_j </math> is the transport of subgrid fluctuations of mass fraction<br />
:<math><br />
J_j = \widetilde{u_jY_k} - \widetilde{u}_j \widetilde{Y}_k<br />
</math><br />
and has to be modelled.<br />
<br />
Fluctuations of diffusion coefficients are often ignored and their contributions<br />
are assumed to be much smaller than the apparent turbulent diffusion due to transport of subgrid fluctuations.<br />
The first term on the right hand side is then<br />
:<math><br />
\frac{\partial} {\partial x_j} <br />
\left(<br />
\overline{ \rho D_k \frac{\partial Y_k} {\partial x_j} }<br />
\right)<br />
\approx<br />
\frac{\partial} {\partial x_j} <br />
\left(<br />
\overline{\rho} D_k \frac{\partial \widetilde{Y}_k} {\partial x_j} <br />
\right)<br />
</math><br />
<br />
[[Category:Equations]]<br />
<br />
== Infinitely fast chemistry ==<br />
All combustion models can be divided into two main groups according to the <br />
assumptions on the reaction kinetics.<br />
We can either assume the reactions to be infinitely fast - compared to <br />
e.g. mixing of the species, or comparable to the time scale of the mixing <br />
process. The simple approach is to assume infinitely fast chemistry. Historically, mixing of the species is the older approach, and it is still in wide use today. It is therefore simpler to solve for [[#Finite rate chemistry]] models, at the overshoot of introducing errors to the solution.<br />
<br />
=== Premixed combustion ===<br />
Premixed flames occur when the fuel and oxidiser are homogeneously mixed prior to ignition. These flames are not <br />
limited only to gas fuels, but also to the pre-vaporised fuels.<br />
Typical examples of premixed laminar flames is bunsen burner, where <br />
the air enters the fuel stream and the mixture burns in the wake of the <br />
riser tube walls forming nice stable flame. Another example of a premixed system is the solid rocket motor where oxidizer and fuel and properly mixed in a gum-like matrix that is uniformly distributed on the periphery of the chamber.<br />
Premixed flames have many advantages in terms of control of temperature and <br />
products and pollution concentration. However, they introduce some dangers like the autoignition (in the supply system).<br />
<br />
[[Image:Premixed.jpg]]<br />
==== Turbulent flame speed model ====<br />
<br />
==== Eddy Break-Up model ====<br />
<br />
The Eddy Break-Up model is the typical example of '''mixed-is-burnt''' combustion model. <br />
It is based on the work of Magnussen, Hjertager, and Spalding and can be found in all commercial CFD packages. <br />
The model assumes that the reactions are completed at the moment of mixing, so that the reaction rate is completely controlled by turbulent mixing. Combustion is then described by a single step global chemical reaction<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
F + \nu_s O \rightarrow (1+\nu_s) P<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
in which <b>F</b> stands for fuel, <b>O</b> for oxidiser, and <b>P</b> for products of the reaction. Alternativelly we can have a multistep scheme, where each reaction has its own mean reaction rate.<br />
The mean reaction rate is given by<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\bar{\dot\omega}_F=A_{EB} \frac{\epsilon}{k} <br />
min\left[\bar{C}_F,\frac{\bar{C}_O}{\nu},<br />
B_{EB}\frac{\bar{C}_P}{(1+\nu)}\right]<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
<br />
where <math>\bar{C}</math> denotes the mean concentrations of fuel, oxidiser, and products <br />
respectively. <b>A</b> and <b>B</b> are model constants with typical values of 0.5 <br />
and 4.0 respectively. The values of these constants are fitted according <br />
to experimental results and they are suitable for most cases of general interest. It is important to note that these constants are only based on experimental fitting and they need not be suitable for <b>all</b> the situations. Care must be taken especially in highly strained regions, where the ratio of <math>k</math> to <math>\epsilon</math> is large (flame-holder wakes, walls ...). In these, regions a positive reaction rate occurs and an artificial flame can be observed.<br />
CFD codes usually have some remedies to overcome this problem.<br />
<br />
This model largely over-predicts temperatures and concentrations of species like <i>CO</i> and other species. However, the Eddy Break-Up model enjoys a popularity for its simplicity, steady convergence, and implementation.<br />
<br />
==== Bray-Moss-Libby model ====<br />
<br />
=== Non-premixed combustion ===<br />
<br />
Non premixed combustion is a special class of combustion where fuel and oxidizer<br />
enter separately into the combustion chamber. The diffusion and mixing of the two streams<br />
must bring the reactants together for the reaction to occur.<br />
Mixing becomes the key characteristic for diffusion flames.<br />
Diffusion burners are easier and safer to operate than premixed burners.<br />
However their efficiency is reduced compared to premixed burners.<br />
One of the major theoretical tools in non-premixed combustion<br />
is the passive scalar [[mixture fraction]] <math> Z </math> which is the<br />
backbone on most of the numerical methods in non-premixed combustion.<br />
<br />
==== Conserved scalar equilibrium models ====<br />
The reactive problem is split into two parts. First, the problem of <i> mixing </i>, which consists of the location of the flame surface which is a non-reactive problem concerning the propagation of a passive scalar; And second, the <i> flame structure </i> problem, which deals with the distribution of the reactive species inside the flamelet.<br />
<br />
To obtain the distribution inside the flame front we assume it is locally one-dimensional and<br />
depends only on time and the scalar coodinate.<br />
<br />
We first make use of the following chain rules<br />
:<math><br />
\frac{\partial Y_k}{\partial t} = \frac{\partial Z}{\partial t}\frac{\partial Y_k}{\partial Z}<br />
</math><br />
<br><br />
:<math><br />
\frac{\partial Y_k}{\partial x_j} = \frac{\partial Z}{\partial x_j}\frac{\partial Y_k}{\partial Z}<br />
</math><br />
<br />
upon substitution into the species transport equation (see [[#Governing Equations for Reacting Flows]]), we obtain<br />
<br />
:<math><br />
\rho \frac{\partial Y_k}{\partial t} + Y_k \left[<br />
\frac{\partial \rho}{\partial t} + \frac{\partial \rho u_j}{\partial x_j}<br />
\right]<br />
+ \frac{\partial Y_k}{\partial Z} \left[<br />
\rho \frac{\partial Z}{\partial t} + \rho u_j \frac{\partial Z}{\partial x_j} -<br />
\frac{\partial}{\partial x_j}\left( \rho D \frac{\partial Z}{\partial x_j} \right)<br />
\right]<br />
=<br />
\rho D \left( \frac{\partial Z}{\partial x_j} \frac{\partial Z}{\partial x_j} \right) + \dot \omega_k<br />
<br />
</math><br />
<br />
The second and third terms in the LHS cancel out due to continuity and mixture fraction transport.<br />
At the outset, the equation boils down to<br />
<br />
:<math><br />
\frac{\partial Y_k}{\partial t} = \frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2} + \dot \omega_k<br />
</math><br />
<br />
where <math> \chi = 2 D \left( \frac{\partial Z}{\partial x_j} \right)^2 </math> is called the <b>scalar dissipation</b><br />
which controls the mixing, providing the interaction between the flow and the chemistry.<br />
<br />
If the flame dependence on time is dropped, even though the field <math> Z </math> still depends on it.<br />
<br />
:<math><br />
\dot \omega_k= -\frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2}<br />
</math><br />
<br />
If the reaction is assumed to be infinetly fast, the resultant flame distribution is in equilibrium.<br />
and <math> \dot \omega_k= 0</math>. When the flame is in equilibrium, the flame configuration <math> Y_k(Z) </math> is independent of strain.<br />
<br />
===== Burke-Schumann flame structure =====<br />
The Burke-Schuman solution is valid for irreversible infinitely fast chemistry.<br />
With areaction in the form of<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
F + \nu_s O \rightarrow (1+\nu_s) P<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
If the flame is in equilibrium and therefore the reaction term is 0.<br />
Two possible solution exists, one with pure mixing (no reaction)<br />
and a linear dependence of the species mass fraction with <math> Z </math>.<br />
Fuel mass fraction<br />
:<math><br />
Y_F=Y_F^0 Z<br />
</math><br />
Oxidizer mass fraction<br />
:<math><br />
Y_O=Y_O^0(1-Z)<br />
</math><br />
Where <math> Y_F^0 </math> and <math> Y_O^0 </math> are fuel and oxidizer mass fractions<br />
in the pure fuel and oxidizer streams respectively.<br />
<br />
<br />
The other solution is given by a discontinuous slope at stoichiometric mixture fraction<br />
and two linear profiles (in the rich and lean side) at either side of<br />
the stoichiometric mixture fraction.<br />
Both concentrations must be 0 at stoichiometric, the reactants become products infinitely fast.<br />
<br />
:<math><br />
Y_F=Y_F^0 \frac{Z-Z_{st}}{1-Z_{st}}<br />
</math><br />
and oxidizer mass fraction<br />
:<math><br />
Y_O=Y_O^0 \frac{Z-Z_{st}}{Z_{st}}<br />
</math><br />
<br />
== Finite rate chemistry ==<br />
<br />
=== Premixed combustion ===<br />
<br />
==== Coherent flame model ====<br />
<br />
==== Flamelets based on G-equation ====<br />
==== Flame surface density model ====<br />
<br />
=== Non-premixed combustion ===<br />
<br />
==== Flamelets based on conserved scalar ====<br />
<br />
Peters (2000) define Flamelets as "thin diffusion layers embedded in a turbulent non-reactive flow field".<br />
If the chemistry is fast enough, the chemistry is active within a thin region<br />
where the chemistry conditions are in (or close to) stoichiometric conditions, the "flame" surface.<br />
This thin region is assumed to be smaller than Kolmogorov length scale and therefore the<br />
region is locally laminar. The flame surface is defined as an iso-surface of a certain scalar <math> Z </math>,<br />
mixture fraction in [[#Non premixed combustion]].<br />
<br />
The same equation use in [[#Conserved scalar models]] for equilibrium chemistry<br />
is used here but with chemical source term different from 0.<br />
<br />
:<math><br />
\frac{\partial Y_k}{\partial t} =<br />
\frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2} + \dot \omega_k,<br />
</math><br />
can<br />
<br />
This approach is called the Stationary Laminar Flamelet Model (SLFM) and has the advantage that<br />
flamelet profiles <math> Y_k=f(Z,\chi)</math><br />
can be pre-computed and stored in a dtaset or file which is called a "flamelet library" with all the required complex chemistry.<br />
For the generation of such libraries ready to use software is avalable such as Softpredict's Combustion Simulation Laboratory COSILAB [http://www.softpredict.com] with its relevant solver RUN1DL, which can be used for a variety of relevant geometries; see various [http://www.softpredict.com/?page=989 publications that are available for download]. Other software tools include CHEMKIN [http://www.reactiondesign.com] for the creation of "flamelet libraries" from detailed chemistry, and KINetics [http://www.reactiondesign.com] for the integration of the libraries into CFD.<br />
<br />
===== Flamelets in turbulent combustion =====<br />
<br />
In turbulent flames the interest is <math> \widetilde{Y}_k </math>.<br />
In flamelets, the flame thickness is assumed to be much smaller than Kolmogorov scale<br />
and obviously is much smaller than the grid size.<br />
It is therefore needed a distribution of the passive scalar within the cell.<br />
<math> \widetilde{Y}_k </math> cannot be obtained directly from the flamelets library<br />
<math> \widetilde{Y}_k \neq Y_F(Z,\chi) </math>, where <math> Y_F(Z,\chi) </math> corresponds<br />
to the value obtained from the flamelets libraries.<br />
A generic solution can be expressed as<br />
:<math><br />
\widetilde{Y}_k= \int Y_F( \widetilde{Z},\widetilde{\chi}) P(Z,\chi) dZ d\chi<br />
</math><br />
where <math> P(Z,\chi) </math> is the joint [[Probability density function | Probability Density Function]] (PDF) of the mixture fraction<br />
and scalar dissipation which account for the scalar distribution inside the cell and "a priori"<br />
depends on time and space.<br />
<br />
The most simple assumption is to use a constant distribution of the scalar dissipation within the cell and<br />
the above equation reduces to<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) P(Z) dZ<br />
</math><br />
<br />
<math> P(Z) </math> is the PDF of the mixture fraction scalar and simple models (such as Gaussian or a [[beta PDF]])<br />
can be build depending only on two moments of the scalar<br />
mean and variance,<math> \widetilde{Z},Z''</math>.<br />
<br />
If the mixture fraction and scalar dissipation are consider independent variables,<math> P(Z,\chi) </math><br />
can be written as <math> P(Z) P(\chi)</math>. The PDF of the scalar dissipation is assumed to be log-normal with<br />
variance unity.<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) P(Z) P(\chi) dZ d\chi<br />
</math><br />
In [[Large eddy simulation (LES)]] context (see [[#LES equations]] for reacting flow),<br />
the [[probability density function]] is replaced by a [[subgrid PDF]] <math> \widetilde{P}</math>.<br />
The same equation hold by replacing averaged values with filtered values.<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) \widetilde{P}(Z) \widetilde{P}(\chi) dZ d\chi<br />
</math><br />
The assumptions made regarding the shapes of the PDFs are still justified. In LES combustion the<br />
[[subgrid variance]] is smaller than RANS counterpart (part of the large-scale fluctuations are solved)<br />
and therefore the modelled PDFs are thinner.<br />
<br />
====== Unsteady flamelets ======<br />
<br />
==== Conditional Moment Closure (CMC)====<br />
In Conditional Moment Closure (CMC) methods we assume that the species mass fractions are all correlated with<br />
the mixture fraction (in non premixed combustion).<br />
<br />
From [[Probability density function]] we have<br />
:<math><br />
\overline{Y_k}= \int <Y_k|\eta> P(\eta) d\eta<br />
</math><br />
where <math> \eta </math> is the sample space for <math> Z </math>.<br />
<br />
CMC consists of providing a set of transport equations for the conditional moments which define the<br />
flame structure.<br />
<br />
Experimentally, it has been observed that temperature and chemical radicals are<br />
strong non-linear functions of mixture fraction. For a given species mass fraction we can decomposed<br />
it into a mean and a fluctuation:<br />
:<math><br />
Y_k= \overline{Y_k} + Y'_k<br />
</math><br />
The fluctuations <math> Y_k' </math> are usually very strong in time and space which makes the closure<br />
of <math> \overline{\omega_k} </math> very difficult.<br />
However, the alternative decomposition<br />
:<math><br />
Y_k= <Y_k|\eta> + y'_k<br />
</math><br />
where <math> y'_k </math> is the fluctuation around the conditional mean or the "conditional fluctuation".<br />
Experimentally, it is observed that <math> y'_k<< Y'_k </math>, which forms the basic assumption of the CMC method.<br />
Closures. Due to this property better closure methods can be used reducing the non-linearity <br />
of the mass fraction equations.<br />
<br />
The [[Derivation of the CMC equations]] produces the following CMC transport equation<br />
where <math> Q \equiv <Y_k|\eta> </math> for simplicity.<br />
:<math><br />
\frac{ \partial Q}{\partial t} + <u_j|\eta> \frac{\partial Q}{\partial x_j} =<br />
\frac{<\chi|\eta> }{2} \frac{\partial ^2 Q}{\partial \eta^2} + <br />
\frac{ < \dot \omega_k|\eta> }{ <\rho| \eta >}<br />
</math><br />
<br />
In this equation, high order terms in Reynolds number have been neglected.<br />
(See [[Derivation of the CMC equations]] for the complete series of terms).<br />
<br />
It is well known that closure of the unconditional source term<br />
<math> \overline {\dot \omega_k} </math> as a function of the<br />
mean temperature and species (<math> \overline{Y}, \overline{T}</math>) will give rise to large errors.<br />
However, in CMC the conditional averaged mass fractions contain more information and fluctuations around the mean are much smaller.<br />
The first order closure<br />
<math><br />
< \dot \omega_k|\eta> \approx \dot \omega_k \left( Q, <T|\eta> \right)<br />
</math><br />
is a good approximation in zones which are not close to extinction.<br />
<br />
===== Second order closure =====<br />
<br />
A second order closure can be obtained if conditional fluctuations are taken into account.<br />
For a chemical source term in the form <math> \dot \omega_k = k Y_A Y_B </math> with the rate constant in Arrhenius form<br />
<math> k=A_0 T^\beta exp [-Ta/T] </math><br />
the second order closure is (Klimenko and Bilger 1999)<br />
:<math><br />
< \dot \omega_k|\eta> \approx < \dot \omega_k|\eta >^{FO}<br />
<br />
\left[1+ \frac{< Y''_A Y''_B |\eta>}{Q_A Q_B}+ \left( \beta + T_a/Q_T \right)<br />
\left(<br />
\frac{< Y''_A T'' |\eta>}{Q_AQ_T} + \frac{< Y''_B T'' |\eta>}{Q_BQ_T}<br />
\right) + ...<br />
<br />
\right]<br />
<br />
</math><br />
<br />
where <math> < \dot \omega_k|\eta >^{FO} </math> is the first order CMC closure and<br />
<math> Q_T \equiv <T|\eta> </math>.<br />
When the temperature exponent <math> \beta </math> or <math> T_a/Q_T </math><br />
are large the error of taking the first order approximation increases.<br />
Improvement of small pollutant predictions can be obtained using the above reaction <br />
rate for selected species like CO and NO.<br />
<br />
<br />
===== Double conditioning =====<br />
<br />
Close to extinction and reignition. The conditional fluctuations can be very large<br />
and the primary closure of CMC of "small" fluctuations is not longer valid.<br />
A second variable <math> h </math> can be chosen to define a double conditioned mass fraction<br />
:<math><br />
Q(x,t;\eta,\psi) \equiv <Y_i(x,t) |Z=\eta,h=\psi ><br />
</math><br />
Due to the strong dependence on chemical reactions to temperature, <math> h </math><br />
is advised to be a temperature related variable (Kronenburg 2004).<br />
Scalar dissipation is not a good choice, due to its log-normal behaviour<br />
(smaller scales give highest dissipation). A must better choice is the sensible enthalpy<br />
or a progress variable.<br />
Double conditional variables have much smaller conditional fluctuations and allow<br />
the existence of points with the same chemical composition which can be fully burning<br />
(high temperature) or just mixing (low temperature). <br />
The range of applicability is greatly increased and allows non-premixed and premixed problems<br />
to be treated without ad-hoc distinctions.<br />
The main problem is the closure of the new terms involving cross scalar transport.<br />
<br />
The double conditional CMC equation is obtained in a similar manner than the conventional<br />
CMC equations<br />
<br />
===== LES modelling =====<br />
In a LES context a [[conditional filtering]] operator can be defined<br />
and <math> Q </math> therefore represents a conditionally filtered reactive scalar.<br />
<br />
=== Linear Eddy Model ===<br />
The Linear Eddy Model (LEM) was first developed by Kerstein(1988).<br />
It is an one-dimensional model for representing the flame structure in turbulent flows.<br />
<br />
In every computational cell a molecular, diffusion and chemical model is defined as<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Y_k \right) =<br />
\frac{\partial}{\partial \eta} \left( \rho D_k \frac{\partial Y_k}{\partial \eta }\right)+ \dot \omega_k<br />
</math><br />
<br />
where <math> \eta </math>is a spatial coordinate. The scalar distribution obtained can be seen as a<br />
one-dimensional reference field between Kolmogorov scale and grid scales.<br />
<br />
In a second stage a series of re-arranging stochastic event take place.<br />
These events represent the effects<br />
of a certain turbulent structure of size <math> l </math>, smaller than the grid size at a location <math> \eta_0 </math><br />
within the one-dimensional domain. This vortex distort the <math> \eta </math> field obtain by the one-dimensional equation,<br />
creating new maxima and minima in the interval <math> (\eta_0, \eta + \eta_0) </math>.<br />
The vortex size <math> l </math> is chosen randomly based on the inertial scale range while<br />
<math> \eta_0 </math> is obtained from a uniform distribution in <math> \eta </math>.<br />
The number of events is chosen to match the turbulent diffusivity of the flow.<br />
<br />
=== PDF transport models ===<br />
<br />
[[Probability Density Function]] (PDF) methods are not exclusive to combustion, although they are particularly attractive to them. They provided more information than moment closures and they are used to compute inhomegenous turbulent flows, see reviews in Dopazo (1993) and Pope (1994).<br />
<br />
<br />
PDF methods are based on the transport equation of the joint-PDF of the scalars.<br />
Denoting <math> P \equiv P(\underline{\psi}; x, t) </math> where<br />
<math> \underline{\psi} = ( \psi_1,\psi_2 ... \psi_N) </math> is the phase space for the reactive scalars<br />
<math> \underline{Y} = ( Y_1,Y_2 ... Y_N) </math>.<br />
The transport equation of the joint PDF is:<br />
<br />
:<math><br />
\frac{\partial <\rho | \underline{Y}=\underline{\psi}> P }{\partial t} + \frac{ <br />
\partial <\rho u_j | \underline{Y}=\underline{\psi}> P }{\partial x_j} =<br />
\sum^N_\alpha \frac{\partial}{\partial \psi_\alpha}\left[ \rho \dot{\omega}_\alpha P \right]<br />
- \sum^N_\alpha \sum^N_\beta \frac{\partial^2}{\partial \psi_\alpha \psi_\beta}<br />
\left[ <D \frac{\partial Y_\alpha}{\partial x_i} \frac{\partial Y_\beta}{\partial x_i} | \underline{Y}=\underline{\psi}> \right] P<br />
</math><br />
<br />
where the chemical source term is closed. Another term appeared on the right hand side which accounts for the effects of<br />
the molecular mixing on the PDF, is the so called "micro-mixing " term.<br />
Equal diffusivities are used for simplicity <math> D_k = D </math><br />
<br />
A more general approach is the velocity-composition joint-PDF<br />
with <math> P \equiv P(\underline{V},\underline{\psi}; x, t) </math>, where <br />
<math> \underline{V} </math> is the sample space of the velocity field <br />
<math> u,v,w </math>. This approach has the advantage of avoiding gradient-diffusion<br />
modelling. A similar equation to the above is obtained combining the momentum <br />
and scalar transport equation.<br />
<br />
<br />
<br />
<br />
The PDF transport equation can be solved in two ways: through a Lagrangian approach<br />
using stochastic methods or in a Eulerian ways using stochastic fields.<br />
<br />
==== Lagrangian ====<br />
<br />
The main idea of Lagrangian methods is that the flow can be represented by an <br />
ensemble of fluid particles. Central to this approach is the stochastic differential equations and in particular the [[Langevin equation]].<br />
<br />
==== Eulerian ====<br />
<br />
Instead of stochastic particles, smooth stochastic fields can be used<br />
to represent the [[probability density function ]] (PDF) of a scalar (or joint PDF) involved in transport (convection), diffusion<br />
and chemical reaction (Valino 1998).<br />
This method is purely Eulerian and offers implementations advantages compared to<br />
Lagrangian or semi-Eulerian methods.<br />
Transport equations for scalars are often easy to programme and normal<br />
CFD algorithms can be used<br />
(see [[Discretisation of convective term]])<br />
<br />
A new set of <math> N_s </math> scalar variables<br />
(the stochastic field <math> \xi </math>) is used to represent the<br />
PDF<br />
:<math><br />
P (\underline{\psi}; x,t) = \frac{1}{N} \sum^{N_s}_{j=1} \prod^{N}_{k=1} \delta \left[\psi_k -\xi_k^j(x,t) \right]<br />
</math><br />
<br />
===Other combustion models===<br />
<br />
<br />
==== MMC ====<br />
<br />
The Multiple Mapping Conditioning (MMC) (Klimenko and Pope 2003) is an<br />
extension of the [[#Conditional Moment Closure (CMC)]] approach combined with<br />
[[probability density function]] methods. MMC<br />
looks for the minimum set of variables that describes the particular turbulent combustion<br />
system.<br />
<br />
==== Fractals ====<br />
Derived from the [[#Eddy Dissipation Concept (EDC)]].<br />
<br />
== References ==<br />
<br />
*{{reference-paper|author=Dopazo, C,|year=1993|title=Recent development in PDF methods|rest=Turbulent Reacting Flows, ed. P. A. Libby and F. A. Williams }}<br />
*{{reference-paper|author=Kerstein, A. R.|year=1988|title=A linear eddy model of turbulent scalar transport and mixing|rest=Comb. Science and Technology, Vol. 60,pp. 391}}<br />
*{{reference-paper|author=Klimenko, A. Y., Bilger, R. W.|year=1999|title=Conditional moment closure for turbulent combustion|rest=Progress in Energy and Combustion Science, Vol. 25,pp. 595-687}}<br />
*{{reference-paper|author=Klimenko, A. Y., Pope, S. B.|year=2003|title=The modeling of turbulent reactive flows based on multiple mapping conditioning|rest=Physics of Fluids, Vol. 15, Num. 7, pp. 1907-1925}}<br />
*{{reference-paper|author=Kronenburg, A.,|year=2004|title=Double conditioning of reactive scalar transport equations in turbulent non-premixed flames|rest=Physics of Fluids, Vol. 16, Num. 7, pp. 2640-2648}}<br />
*{{reference-paper|author=Griffiths, J. F.|year=1994|title=Reduced Kinetic Models and Their Application to Practical Combustion Systems |rest=Prog. in Energy and Combustion Science,Vol. 21, pp. 25-107}}<br />
*{{reference-book|author=Peters, N.|year=2000|title=Turbulent Combustion|rest=ISBN 0-521-66082-3,Cambridge University Press}}<br />
*{{reference-book|author=Poinsot, T.,Veynante, D.|year=2001|title=Theoretical and Numerical Combustion|rest=ISBN 1-930217-05-6, R. T Edwards}}<br />
*{{reference-paper|author=Pope, S. B.|year=1994|title=Lagrangian PDF methods for turbulent flows|rest=Annu. Rev. Fluid Mech, Vol. 26, pp. 23-63}}<br />
*{{reference-paper|author=Westbrook, Ch. K., Dryer,F. L.,|year=1984|title=Chemical Kinetic Modeling of Hydrocarbon Combustion|rest=Prog. in Energy and Combustion Science,Vol. 10, pp. 1-57}}<br />
<br />
== External links and sources ==</div>Tsaadhttp://www.cfd-online.com/Wiki/File:SUMMARY_OF_COMBUSTION_MODELS.jpgFile:SUMMARY OF COMBUSTION MODELS.jpg2005-12-19T19:26:59Z<p>Tsaad: A summary of combustion models. An updated version of the original image in the Combustion section.</p>
<hr />
<div>A summary of combustion models. An updated version of the original image in the Combustion section.</div>Tsaadhttp://www.cfd-online.com/Wiki/User_talk:EngwareUser talk:Engware2005-12-19T19:25:04Z<p>Tsaad: E-Solutions</p>
<hr />
<div>== E-Solutions ==<br />
<br />
Hi Gordan,<br />
<br />
We appreciate your contributions to the CFDWiki. However, we found that the link you provided is not directly related to CFD material. It is directed towards energy conversion systems and overall system analysis, which is a different specialization by its own. Your site is very nice and the material you provide is of good reference for energy studies, thermodynamic assessment of power cycles etc... This is not a targeted topic by CFD. You are most welcome to contribute to the CFDWiki, however, we have to remain in the area of CFD.<br />
<br />
Best,<br />
<br />
Tony</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2005-12-19T19:02:37Z<p>Tsaad: /* Combustion */</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and ponctuation. You can also check out the [[History of CFD]] section where no CFD expertise is required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a broad range of time and length scales. A mathematical description of combustion is not always trivial, although some analytical solutions exist for simple situations of laminar flame. Such analytical models are usually restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/CombustionCombustion2005-12-19T17:36:39Z<p>Tsaad: celanup - still incomplete</p>
<hr />
<div>== What is combustion -- physics versus modelling ==<br />
<br />
Combustion phenomena consist of many physical and chemical processes which exhibit a <br />
broad range of time and length scales. A mathematical description of combustion is not <br />
always trivial, although some analytical solutions exist for simple situations of <br />
laminar flame. Such analytical models are usually restricted to problems in zero or one-dimensional space.<br />
<br />
Most problems in combustion invlove turbulent flows, gas and liquid <br />
fuels, and pollution transport issues (products of combustion as well as for example noise <br />
pollution). These problems require not only extensive experimental <br />
work, but also numerical modelling. All combustion models must be validated <br />
against the experiments as each one has its own drawbacks and limits. In this article, we will address the modeling fundamentals only.<br />
<br />
In addition to the flow parameters used in fluid mechanics,<br />
new dimensionless parameters are introduced, the most important of which are the [[Karlovitz number]] and the [[Damkholer number]] which represent ratios of chemical and flow time scales, and <br />
the [[Lewis number]] which compares the diffusion speeds of species.<br />
The combustion models are often classified selon their capability to deal with the different combustion regimes. <br><br />
[[Image:schemes.jpg]]<br />
<br />
== Reaction mechanisms ==<br />
<br />
Combustion is mainly a chemical process. Although we can, to some extent, <br />
describe a flame without any chemistry information, modelling of the flame <br />
propagation requires the knowledge of speeds of reactions, product concentrations, <br />
temperature, and other parameters. <br />
Therefore fundamental information about reaction kinetics is <br />
essential for any combustion model. <br />
A fuel-oxidizer mixture will generally combust if the reaction is fast enough to <br />
prevail until all of the mixture is burned into products. If the reaction <br />
is too slow, the flame will extinguish. If too fast, explosion or even <br />
detonation will occur. The reaction rate of a typical combustion reaction <br />
is influenced mainly by the concentration of the reactants, temperature, and pressure. <br />
<br />
A stoichiometric equation for an arbitrary reaction can be written as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\sum_{j=1}^{n}\nu' (M_j) = \sum_{j=1}^{n}\nu'' (M_j),<br />
</math></td></tr></table><br />
<br />
where <math> \nu </math> denotes the stoichiometric coefficient, and <math>M_j</math> stands for an arbitrary species. A one prime holds for the reactants while a double prime holds for the products of the reaction. <br />
<br />
The reaction rate, expressing the rate of disappearance of reactant <b>i</b>, is defined as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
RR_i = k \, \prod_{j=1}^{n}(M_j)^{\nu'},<br />
</math></td></tr></table><br />
<br />
in which <b>k</b> is the specific reaction rate constant. Arrhenius found that this constant is a function of temperature only and is defined as:<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
k= A T^{\beta} \, exp \left( \frac{-E}{RT}\right)<br />
</math></td></table><br />
<br />
where <b>A</b> is pre-exponential factor, <b>E</b> is the activation energy, and <math>\beta</math> is a temperature exponent. The constants vary from one reaction to another and can be found in the literature.<br />
<br />
Reaction mechanisms can be deduced from experiments (for every resolved reaction), they can also be constructed numerically by the '''automatic generation method''' (see [Griffiths (1994)] for a review on reaction mechanisms).<br />
For simple hydrocarbons, tens to hundreds of reactions are involved. <br />
By analysis and systematic reduction of reaction mechanisms, global reactions <br />
(from one to five step reactions) can be found (see [Westbrook (1984)]).<br />
<br />
== Governing equations for chemically reacting flows ==<br />
<br />
Together with the usual Navier-Stokes equations for compresible flow (See [[Governing equations]]), additional equations are needed in reacting flows.<br />
<br />
The transport equation for the mass fraction <math> Y_k </math> of <i>k-th</i> species is<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Y_k \right) +<br />
\frac{\partial}{\partial x_j} \left( \rho u_j Y_k\right) = <br />
\frac{\partial}{\partial x_j} \left( \rho D_k \frac{\partial Y_k}{\partial x_j}\right)+ \dot \omega_k<br />
</math><br />
<br />
<br />
where Ficks' law is assumed for scalar diffusion with <math> D_k </math> denoting the species difussion coefficient, and <math> \dot \omega_k </math> denoting the species reaction rate.<br />
<br />
A non-reactive (passive) scalar (like the mixture fraction <math> Z </math>) is goverened by the following transport equation<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Z \right) +<br />
\frac{\partial}{\partial x_j} \left( \rho u_j Z \right) = <br />
\frac{\partial}{\partial x_j} \left( \rho D \frac{\partial Z}{\partial x_j}\right)<br />
</math><br />
<br />
where <math> D </math> is the diffusion coefficient of the passive scalar.<br />
<br />
<br />
=== RANS equations ===<br />
<br />
In turbulent flows, [[Favre averaging]] is often used to reduce the scales (see [[Reynolds averaging]]) and the<br />
mass fraction transport equation is transformed to<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Y}_k }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Y}_k}{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D_k \frac{\partial Y_k} {\partial x_j} } -<br />
\overline{\rho} \widetilde{u''_i Y''_k } \right)<br />
+ \overline{\dot \omega_k}<br />
</math><br />
<br />
<br />
where the turbulent fluxes <math> \widetilde{u''_i Y''_k} </math> and reaction terms<br />
<math> \overline{\dot \omega_k} </math> need to be closed.<br />
<br />
The passive scalar turbulent transport equation is<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Z} }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Z} }{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D \frac{\partial Z} {\partial x_j} } -<br />
\overline{\rho} \widetilde{u''_i Z'' } \right)<br />
</math><br />
<br />
where <math> \widetilde{u''_i Z''} </math> needs modelling.<br />
<br />
In addition to the mean passive scalar equation,<br />
an equation for the Favre variance <math> \widetilde{Z''^2}</math> is often employed<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Z''^2} }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Z''^2} }{\partial x_j}=<br />
\frac{\partial}{\partial x_j}<br />
\left( \overline{\rho} \widetilde{u''_i Z''^2} \right) -<br />
2 \overline{\rho} \widetilde{u''_i Z'' }<br />
- \overline{\rho} \widetilde{\chi}<br />
</math><br />
<br />
where <math> \widetilde{\chi} </math> is the mean [[Scalar dissipation]] rate<br />
defined as <math> \widetilde{\chi} =<br />
2 D \widetilde{\left| \frac{\partial Z''}{\partial x_j} \right|^2 } </math><br />
This term and the variance diffusion fluxes needs to be modelled.<br />
<br />
=== LES equations ===<br />
The [[Large eddy simulation (LES)]] approach for reactive flows introduces equations for the filtered species mass fractions within the compressible flow field.<br />
Similar to the [[#RANS equations]], but using Favre filtering instead<br />
of [[Favre averaging]], the filtered mass fraction transport equation is<br />
<br />
:<math><br />
\frac{\partial \overline{\rho} \widetilde{Y}_k }{\partial t} +<br />
\frac{\partial \overline{\rho} \widetilde{u}_j \widetilde{Y}_k}{\partial x_j}=<br />
\frac{\partial} {\partial x_j} \left( \overline{\rho D_k \frac{\partial Y_k} {\partial x_j} } -<br />
J_j \right)<br />
+ \overline{\dot \omega_k}<br />
</math><br />
<br />
where <math> J_j </math> is the transport of subgrid fluctuations of mass fraction<br />
:<math><br />
J_j = \widetilde{u_jY_k} - \widetilde{u}_j \widetilde{Y}_k<br />
</math><br />
and has to be modelled.<br />
<br />
Fluctuations of diffusion coefficients are often ignored and their contributions<br />
are assumed to be much smaller than the apparent turbulent diffusion due to transport of subgrid fluctuations.<br />
The first term on the right hand side is then<br />
:<math><br />
\frac{\partial} {\partial x_j} <br />
\left(<br />
\overline{ \rho D_k \frac{\partial Y_k} {\partial x_j} }<br />
\right)<br />
\approx<br />
\frac{\partial} {\partial x_j} <br />
\left(<br />
\overline{\rho} D_k \frac{\partial \widetilde{Y}_k} {\partial x_j} <br />
\right)<br />
</math><br />
<br />
[[Category:Equations]]<br />
<br />
== Infinitely fast chemistry ==<br />
All combustion models can be divided into two main groups according to the <br />
assumptions on the reaction kinetics.<br />
We can either assume the reactions to be infinitely fast - compared to <br />
e.g. mixing of the species, or comparable to the time scale of the mixing <br />
process. The simple approach is to assume infinitely fast chemistry. Historically, mixing of the species is the older approach, and it is still in wide use today. It is therefore simpler to solve for [[#Finite rate chemistry]] models, at the overshoot of introducing errors to the solution.<br />
<br />
=== Premixed combustion ===<br />
Premixed flames occur when the fuel and oxidiser are homogeneously mixed prior to ignition. These flames are not <br />
limited only to gas fuels, but also to the pre-vaporised fuels.<br />
Typical examples of premixed laminar flames is bunsen burner, where <br />
the air enters the fuel stream and the mixture burns in the wake of the <br />
riser tube walls forming nice stable flame. Another example of a premixed system is the solid rocket motor where oxidizer and fuel and properly mixed in a gum-like matrix that is uniformly distributed on the periphery of the chamber.<br />
Premixed flames have many advantages in terms of control of temperature and <br />
products and pollution concentration. However, they introduce some dangers like the autoignition (in the supply system).<br />
<br />
[[Image:Premixed.jpg]]<br />
==== Turbulent flame speed model ====<br />
<br />
==== Eddy Break-Up model ====<br />
<br />
The Eddy Break-Up model is the typical example of '''mixed-is-burnt''' combustion model. <br />
It is based on the work of Magnussen, Hjertager, and Spalding and can be found in all commercial CFD packages. <br />
The model assumes that the reactions are completed at the moment of mixing, so that the reaction rate is completely controlled by turbulent mixing. Combustion is then described by a single step global chemical reaction<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
F + \nu_s O \rightarrow (1+\nu_s) P<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
in which <b>F</b> stands for fuel, <b>O</b> for oxidiser, and <b>P</b> for products of the reaction. Alternativelly we can have a multistep scheme, where each reaction has its own mean reaction rate.<br />
The mean reaction rate is given by<br />
<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
\bar{\dot\omega}_F=A_{EB} \frac{\epsilon}{k} <br />
min\left[\bar{C}_F,\frac{\bar{C}_O}{\nu},<br />
B_{EB}\frac{\bar{C}_P}{(1+\nu)}\right]<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
<br />
where <math>\bar{C}</math> denotes the mean concentrations of fuel, oxidiser, and products <br />
respectively. <b>A</b> and <b>B</b> are model constants with typical values of 0.5 <br />
and 4.0 respectively. The values of these constants are fitted according <br />
to experimental results and they are suitable for most cases of general interest. It is important to note that these constants are only based on experimental fitting and they need not be suitable for <b>all</b> the situations. Care must be taken especially in highly strained regions, where the ratio of <math>k</math> to <math>\epsilon</math> is large (flame-holder wakes, walls ...). In these, regions a positive reaction rate occurs and an artificial flame can be observed.<br />
CFD codes usually have some remedies to overcome this problem.<br />
<br />
This model largely over-predicts temperatures and concentrations of species like <i>CO</i> and other species. However, the Eddy Break-Up model enjoys a popularity for its simplicity, steady convergence, and implementation.<br />
<br />
==== Bray-Moss-Libby model ====<br />
<br />
=== Non-premixed combustion ===<br />
<br />
Non premixed combustion is a special class of combustion where fuel and oxidizer<br />
enter separately into the combustion chamber. The diffusion and mixing of the two streams<br />
must bring the reactants together for the reaction to occur.<br />
Mixing becomes the key characteristic for diffusion flames.<br />
Diffusion burners are easier and safer to operate than premixed burners.<br />
However their efficiency is reduced compared to premixed burners.<br />
One of the major theoretical tools in non-premixed combustion<br />
is the passive scalar [[mixture fraction]] <math> Z </math> which is the<br />
backbone on most of the numerical methods in non-premixed combustion.<br />
<br />
==== Conserved scalar equilibrium models ====<br />
The reactive problem is split into two parts. First, the problem of <i> mixing </i>, which consists of the location of the flame surface which is a non-reactive problem concerning the propagation of a passive scalar; And second, the <i> flame structure </i> problem, which deals with the distribution of the reactive species inside the flamelet.<br />
<br />
To obtain the distribution inside the flame front we assume it is locally one-dimensional and<br />
depends only on time and the scalar coodinate.<br />
<br />
We first make use of the following chain rules<br />
:<math><br />
\frac{\partial Y_k}{\partial t} = \frac{\partial Z}{\partial t}\frac{\partial Y_k}{\partial Z}<br />
</math><br />
<br><br />
:<math><br />
\frac{\partial Y_k}{\partial x_j} = \frac{\partial Z}{\partial x_j}\frac{\partial Y_k}{\partial Z}<br />
</math><br />
<br />
upon substitution into the species transport equation (see [[#Governing Equations for Reacting Flows]]), we obtain<br />
<br />
:<math><br />
\rho \frac{\partial Y_k}{\partial t} + Y_k \left[<br />
\frac{\partial \rho}{\partial t} + \frac{\partial \rho u_j}{\partial x_j}<br />
\right]<br />
+ \frac{\partial Y_k}{\partial Z} \left[<br />
\rho \frac{\partial Z}{\partial t} + \rho u_j \frac{\partial Z}{\partial x_j} -<br />
\frac{\partial}{\partial x_j}\left( \rho D \frac{\partial Z}{\partial x_j} \right)<br />
\right]<br />
=<br />
\rho D \left( \frac{\partial Z}{\partial x_j} \frac{\partial Z}{\partial x_j} \right) + \dot \omega_k<br />
<br />
</math><br />
<br />
The second and third terms in the LHS cancel out due to continuity and mixture fraction transport.<br />
At the outset, the equation boils down to<br />
<br />
:<math><br />
\frac{\partial Y_k}{\partial t} = \frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2} + \dot \omega_k<br />
</math><br />
<br />
where <math> \chi = 2 D \left( \frac{\partial Z}{\partial x_j} \right)^2 </math> is called the <b>scalar dissipation</b><br />
which controls the mixing, providing the interaction between the flow and the chemistry.<br />
<br />
If the flame dependence on time is dropped, even though the field <math> Z </math> still depends on it.<br />
<br />
:<math><br />
\dot \omega_k= -\frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2}<br />
</math><br />
<br />
If the reaction is assumed to be infinetly fast, the resultant flame distribution is in equilibrium.<br />
and <math> \dot \omega_k= 0</math>. When the flame is in equilibrium, the flame configuration <math> Y_k(Z) </math> is independent of strain.<br />
<br />
===== Burke-Schumann flame structure =====<br />
The Burke-Schuman solution is valid for irreversible infinitely fast chemistry.<br />
With areaction in the form of<br />
<table width="100%"><br />
<tr><td><br />
:<math><br />
F + \nu_s O \rightarrow (1+\nu_s) P<br />
</math></td><td width="5%"></td></tr></table><br />
<br />
If the flame is in equilibrium and therefore the reaction term is 0.<br />
Two possible solution exists, one with pure mixing (no reaction)<br />
and a linear dependence of the species mass fraction with <math> Z </math>.<br />
Fuel mass fraction<br />
:<math><br />
Y_F=Y_F^0 Z<br />
</math><br />
Oxidizer mass fraction<br />
:<math><br />
Y_O=Y_O^0(1-Z)<br />
</math><br />
Where <math> Y_F^0 </math> and <math> Y_O^0 </math> are fuel and oxidizer mass fractions<br />
in the pure fuel and oxidizer streams respectively.<br />
<br />
<br />
The other solution is given by a discontinuous slope at stoichiometric mixture fraction<br />
and two linear profiles (in the rich and lean side) at either side of<br />
the stoichiometric mixture fraction.<br />
Both concentrations must be 0 at stoichiometric, the reactants become products infinitely fast.<br />
<br />
:<math><br />
Y_F=Y_F^0 \frac{Z-Z_{st}}{1-Z_{st}}<br />
</math><br />
and oxidizer mass fraction<br />
:<math><br />
Y_O=Y_O^0 \frac{Z-Z_{st}}{Z_{st}}<br />
</math><br />
<br />
== Finite rate chemistry ==<br />
<br />
=== Premixed combustion ===<br />
<br />
==== Coherent flame model ====<br />
<br />
==== Flamelets based on G-equation ====<br />
==== Flame surface density model ====<br />
<br />
=== Non-premixed combustion ===<br />
<br />
==== Flamelets based on conserved scalar ====<br />
<br />
Peters (2000) define Flamelets as "thin diffusion layers embedded in a turbulent non-reactive flow field".<br />
If the chemistry is fast enough, the chemistry is active within a thin region<br />
where the chemistry conditions are in (or close to) stoichiometric conditions, the "flame" surface.<br />
This thin region is assumed to be smaller than Kolmogorov length scale and therefore the<br />
region is locally laminar. The flame surface is defined as an iso-surface of a certain scalar <math> Z </math>,<br />
mixture fraction in [[#Non premixed combustion]].<br />
<br />
The same equation use in [[#Conserved scalar models]] for equilibrium chemistry<br />
is used here but with chemical source term different from 0.<br />
<br />
:<math><br />
\frac{\partial Y_k}{\partial t} =<br />
\frac{\chi}{2} \frac{\partial ^2 Y_k}{\partial Z^2} + \dot \omega_k,<br />
</math><br />
can<br />
<br />
This approach is called the Stationary Laminar Flamelet Model (SLFM) and has the advantage that<br />
flamelet profiles <math> Y_k=f(Z,\chi)</math><br />
can be pre-computed and stored in a dtaset or file which is called a "flamelet library" with all the required complex chemistry.<br />
For the generation of such libraries ready to use software is avalable such as Softpredict's Combustion Simulation Laboratory COSILAB [http://www.softpredict.com] with its relevant solver RUN1DL, which can be used for a variety of relevant geometries; see various [http://www.softpredict.com/?page=989 publications that are available for download]. Other software tools include CHEMKIN [http://www.reactiondesign.com] for the creation of "flamelet libraries" from detailed chemistry, and KINetics [http://www.reactiondesign.com] for the integration of the libraries into CFD.<br />
<br />
===== Flamelets in turbulent combustion =====<br />
<br />
In turbulent flames the interest is <math> \widetilde{Y}_k </math>.<br />
In flamelets, the flame thickness is assumed to be much smaller than Kolmogorov scale<br />
and obviously is much smaller than the grid size.<br />
It is therefore needed a distribution of the passive scalar within the cell.<br />
<math> \widetilde{Y}_k </math> cannot be obtained directly from the flamelets library<br />
<math> \widetilde{Y}_k \neq Y_F(Z,\chi) </math>, where <math> Y_F(Z,\chi) </math> corresponds<br />
to the value obtained from the flamelets libraries.<br />
A generic solution can be expressed as<br />
:<math><br />
\widetilde{Y}_k= \int Y_F( \widetilde{Z},\widetilde{\chi}) P(Z,\chi) dZ d\chi<br />
</math><br />
where <math> P(Z,\chi) </math> is the joint [[Probability density function | Probability Density Function]] (PDF) of the mixture fraction<br />
and scalar dissipation which account for the scalar distribution inside the cell and "a priori"<br />
depends on time and space.<br />
<br />
The most simple assumption is to use a constant distribution of the scalar dissipation within the cell and<br />
the above equation reduces to<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) P(Z) dZ<br />
</math><br />
<br />
<math> P(Z) </math> is the PDF of the mixture fraction scalar and simple models (such as Gaussian or a [[beta PDF]])<br />
can be build depending only on two moments of the scalar<br />
mean and variance,<math> \widetilde{Z},Z''</math>.<br />
<br />
If the mixture fraction and scalar dissipation are consider independent variables,<math> P(Z,\chi) </math><br />
can be written as <math> P(Z) P(\chi)</math>. The PDF of the scalar dissipation is assumed to be log-normal with<br />
variance unity.<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) P(Z) P(\chi) dZ d\chi<br />
</math><br />
In [[Large eddy simulation (LES)]] context (see [[#LES equations]] for reacting flow),<br />
the [[probability density function]] is replaced by a [[subgrid PDF]] <math> \widetilde{P}</math>.<br />
The same equation hold by replacing averaged values with filtered values.<br />
:<math><br />
\widetilde{Y}_k= \int Y_F(\widetilde{Z},\widetilde{\chi}) \widetilde{P}(Z) \widetilde{P}(\chi) dZ d\chi<br />
</math><br />
The assumptions made regarding the shapes of the PDFs are still justified. In LES combustion the<br />
[[subgrid variance]] is smaller than RANS counterpart (part of the large-scale fluctuations are solved)<br />
and therefore the modelled PDFs are thinner.<br />
<br />
====== Unsteady flamelets ======<br />
<br />
==== Conditional Moment Closure (CMC)====<br />
In Conditional Moment Closure (CMC) methods we assume that the species mass fractions are all correlated with<br />
the mixture fraction (in non premixed combustion).<br />
<br />
From [[Probability density function]] we have<br />
:<math><br />
\overline{Y_k}= \int <Y_k|\eta> P(\eta) d\eta<br />
</math><br />
where <math> \eta </math> is the sample space for <math> Z </math>.<br />
<br />
CMC consists of providing a set of transport equations for the conditional moments which define the<br />
flame structure.<br />
<br />
Experimentally, it has been observed that temperature and chemical radicals are<br />
strong non-linear functions of mixture fraction. For a given species mass fraction we can decomposed<br />
it into a mean and a fluctuation:<br />
:<math><br />
Y_k= \overline{Y_k} + Y'_k<br />
</math><br />
The fluctuations <math> Y_k' </math> are usually very strong in time and space which makes the closure<br />
of <math> \overline{\omega_k} </math> very difficult.<br />
However, the alternative decomposition<br />
:<math><br />
Y_k= <Y_k|\eta> + y'_k<br />
</math><br />
where <math> y'_k </math> is the fluctuation around the conditional mean or the "conditional fluctuation".<br />
Experimentally, it is observed that <math> y'_k<< Y'_k </math>, which forms the basic assumption of the CMC method.<br />
Closures. Due to this property better closure methods can be used reducing the non-linearity <br />
of the mass fraction equations.<br />
<br />
The [[Derivation of the CMC equations]] produces the following CMC transport equation<br />
where <math> Q \equiv <Y_k|\eta> </math> for simplicity.<br />
:<math><br />
\frac{ \partial Q}{\partial t} + <u_j|\eta> \frac{\partial Q}{\partial x_j} =<br />
\frac{<\chi|\eta> }{2} \frac{\partial ^2 Q}{\partial \eta^2} + <br />
\frac{ < \dot \omega_k|\eta> }{ <\rho| \eta >}<br />
</math><br />
<br />
In this equation, high order terms in Reynolds number have been neglected.<br />
(See [[Derivation of the CMC equations]] for the complete series of terms).<br />
<br />
It is well known that closure of the unconditional source term<br />
<math> \overline {\dot \omega_k} </math> as a function of the<br />
mean temperature and species (<math> \overline{Y}, \overline{T}</math>) will give rise to large errors.<br />
However, in CMC the conditional averaged mass fractions contain more information and fluctuations around the mean are much smaller.<br />
The first order closure<br />
<math><br />
< \dot \omega_k|\eta> \approx \dot \omega_k \left( Q, <T|\eta> \right)<br />
</math><br />
is a good approximation in zones which are not close to extinction.<br />
<br />
===== Second order closure =====<br />
<br />
A second order closure can be obtained if conditional fluctuations are taken into account.<br />
For a chemical source term in the form <math> \dot \omega_k = k Y_A Y_B </math> with the rate constant in Arrhenius form<br />
<math> k=A_0 T^\beta exp [-Ta/T] </math><br />
the second order closure is (Klimenko and Bilger 1999)<br />
:<math><br />
< \dot \omega_k|\eta> \approx < \dot \omega_k|\eta >^{FO}<br />
<br />
\left[1+ \frac{< Y''_A Y''_B |\eta>}{Q_A Q_B}+ \left( \beta + T_a/Q_T \right)<br />
\left(<br />
\frac{< Y''_A T'' |\eta>}{Q_AQ_T} + \frac{< Y''_B T'' |\eta>}{Q_BQ_T}<br />
\right) + ...<br />
<br />
\right]<br />
<br />
</math><br />
<br />
where <math> < \dot \omega_k|\eta >^{FO} </math> is the first order CMC closure and<br />
<math> Q_T \equiv <T|\eta> </math>.<br />
When the temperature exponent <math> \beta </math> or <math> T_a/Q_T </math><br />
are large the error of taking the first order approximation increases.<br />
Improvement of small pollutant predictions can be obtained using the above reaction <br />
rate for selected species like CO and NO.<br />
<br />
<br />
===== Double conditioning =====<br />
<br />
Close to extinction and reignition. The conditional fluctuations can be very large<br />
and the primary closure of CMC of "small" fluctuations is not longer valid.<br />
A second variable <math> h </math> can be chosen to define a double conditioned mass fraction<br />
:<math><br />
Q(x,t;\eta,\psi) \equiv <Y_i(x,t) |Z=\eta,h=\psi ><br />
</math><br />
Due to the strong dependence on chemical reactions to temperature, <math> h </math><br />
is advised to be a temperature related variable (Kronenburg 2004).<br />
Scalar dissipation is not a good choice, due to its log-normal behaviour<br />
(smaller scales give highest dissipation). A must better choice is the sensible enthalpy<br />
or a progress variable.<br />
Double conditional variables have much smaller conditional fluctuations and allow<br />
the existence of points with the same chemical composition which can be fully burning<br />
(high temperature) or just mixing (low temperature). <br />
The range of applicability is greatly increased and allows non-premixed and premixed problems<br />
to be treated without ad-hoc distinctions.<br />
The main problem is the closure of the new terms involving cross scalar transport.<br />
<br />
The double conditional CMC equation is obtained in a similar manner than the conventional<br />
CMC equations<br />
<br />
===== LES modelling =====<br />
In a LES context a [[conditional filtering]] operator can be defined<br />
and <math> Q </math> therefore represents a conditionally filtered reactive scalar.<br />
<br />
=== Linear Eddy Model ===<br />
The Linear Eddy Model (LEM) was first developed by Kerstein(1988).<br />
It is an one-dimensional model for representing the flame structure in turbulent flows.<br />
<br />
In every computational cell a molecular, diffusion and chemical model is defined as<br />
<br />
:<math><br />
\frac{\partial}{\partial t} \left( \rho Y_k \right) =<br />
\frac{\partial}{\partial \eta} \left( \rho D_k \frac{\partial Y_k}{\partial \eta }\right)+ \dot \omega_k<br />
</math><br />
<br />
where <math> \eta </math>is a spatial coordinate. The scalar distribution obtained can be seen as a<br />
one-dimensional reference field between Kolmogorov scale and grid scales.<br />
<br />
In a second stage a series of re-arranging stochastic event take place.<br />
These events represent the effects<br />
of a certain turbulent structure of size <math> l </math>, smaller than the grid size at a location <math> \eta_0 </math><br />
within the one-dimensional domain. This vortex distort the <math> \eta </math> field obtain by the one-dimensional equation,<br />
creating new maxima and minima in the interval <math> (\eta_0, \eta + \eta_0) </math>.<br />
The vortex size <math> l </math> is chosen randomly based on the inertial scale range while<br />
<math> \eta_0 </math> is obtained from a uniform distribution in <math> \eta </math>.<br />
The number of events is chosen to match the turbulent diffusivity of the flow.<br />
<br />
=== PDF transport models ===<br />
<br />
[[Probability Density Function]] (PDF) methods are not exclusive to combustion, although they are particularly attractive to them. They provided more information than moment closures and they are used to compute inhomegenous turbulent flows, see reviews in Dopazo (1993) and Pope (1994).<br />
<br />
<br />
PDF methods are based on the transport equation of the joint-PDF of the scalars.<br />
Denoting <math> P \equiv P(\underline{\psi}; x, t) </math> where<br />
<math> \underline{\psi} = ( \psi_1,\psi_2 ... \psi_N) </math> is the phase space for the reactive scalars<br />
<math> \underline{Y} = ( Y_1,Y_2 ... Y_N) </math>.<br />
The transport equation of the joint PDF is:<br />
<br />
:<math><br />
\frac{\partial <\rho | \underline{Y}=\underline{\psi}> P }{\partial t} + \frac{ <br />
\partial <\rho u_j | \underline{Y}=\underline{\psi}> P }{\partial x_j} =<br />
\sum^N_\alpha \frac{\partial}{\partial \psi_\alpha}\left[ \rho \dot{\omega}_\alpha P \right]<br />
- \sum^N_\alpha \sum^N_\beta \frac{\partial^2}{\partial \psi_\alpha \psi_\beta}<br />
\left[ <D \frac{\partial Y_\alpha}{\partial x_i} \frac{\partial Y_\beta}{\partial x_i} | \underline{Y}=\underline{\psi}> \right] P<br />
</math><br />
<br />
where the chemical source term is closed. Another term appeared on the right hand side which accounts for the effects of<br />
the molecular mixing on the PDF, is the so called "micro-mixing " term.<br />
Equal diffusivities are used for simplicity <math> D_k = D </math><br />
<br />
A more general approach is the velocity-composition joint-PDF<br />
with <math> P \equiv P(\underline{V},\underline{\psi}; x, t) </math>, where <br />
<math> \underline{V} </math> is the sample space of the velocity field <br />
<math> u,v,w </math>. This approach has the advantage of avoiding gradient-diffusion<br />
modelling. A similar equation to the above is obtained combining the momentum <br />
and scalar transport equation.<br />
<br />
<br />
<br />
<br />
The PDF transport equation can be solved in two ways: through a Lagrangian approach<br />
using stochastic methods or in a Eulerian ways using stochastic fields.<br />
<br />
==== Lagrangian ====<br />
<br />
The main idea of Lagrangian methods is that the flow can be represented by an <br />
ensemble of fluid particles. Central to this approach is the stochastic differential equations and in particular the [[Langevin equation]].<br />
<br />
==== Eulerian ====<br />
<br />
Instead of stochastic particles, smooth stochastic fields can be used<br />
to represent the [[probability density function ]] (PDF) of a scalar (or joint PDF) involved in transport (convection), diffusion<br />
and chemical reaction (Valino 1998).<br />
This method is purely Eulerian and offers implementations advantages compared to<br />
Lagrangian or semi-Eulerian methods.<br />
Transport equations for scalars are often easy to programme and normal<br />
CFD algorithms can be used<br />
(see [[Discretisation of convective term]])<br />
<br />
A new set of <math> N_s </math> scalar variables<br />
(the stochastic field <math> \xi </math>) is used to represent the<br />
PDF<br />
:<math><br />
P (\underline{\psi}; x,t) = \frac{1}{N} \sum^{N_s}_{j=1} \prod^{N}_{k=1} \delta \left[\psi_k -\xi_k^j(x,t) \right]<br />
</math><br />
<br />
===Other combustion models===<br />
<br />
<br />
==== MMC ====<br />
<br />
The Multiple Mapping Conditioning (MMC) (Klimenko and Pope 2003) is an<br />
extension of the [[#Conditional Moment Closure (CMC)]] approach combined with<br />
[[probability density function]] methods. MMC<br />
looks for the minimum set of variables that describes the particular turbulent combustion<br />
system.<br />
<br />
==== Fractals ====<br />
Derived from the [[#Eddy Dissipation Concept (EDC)]].<br />
<br />
== References ==<br />
<br />
*{{reference-paper|author=Dopazo, C,|year=1993|title=Recent development in PDF methods|rest=Turbulent Reacting Flows, ed. P. A. Libby and F. A. Williams }}<br />
*{{reference-paper|author=Kerstein, A. R.|year=1988|title=A linear eddy model of turbulent scalar transport and mixing|rest=Comb. Science and Technology, Vol. 60,pp. 391}}<br />
*{{reference-paper|author=Klimenko, A. Y., Bilger, R. W.|year=1999|title=Conditional moment closure for turbulent combustion|rest=Progress in Energy and Combustion Science, Vol. 25,pp. 595-687}}<br />
*{{reference-paper|author=Klimenko, A. Y., Pope, S. B.|year=2003|title=The modeling of turbulent reactive flows based on multiple mapping conditioning|rest=Physics of Fluids, Vol. 15, Num. 7, pp. 1907-1925}}<br />
*{{reference-paper|author=Kronenburg, A.,|year=2004|title=Double conditioning of reactive scalar transport equations in turbulent non-premixed flames|rest=Physics of Fluids, Vol. 16, Num. 7, pp. 2640-2648}}<br />
*{{reference-paper|author=Griffiths, J. F.|year=1994|title=Reduced Kinetic Models and Their Application to Practical Combustion Systems |rest=Prog. in Energy and Combustion Science,Vol. 21, pp. 25-107}}<br />
*{{reference-book|author=Peters, N.|year=2000|title=Turbulent Combustion|rest=ISBN 0-521-66082-3,Cambridge University Press}}<br />
*{{reference-book|author=Poinsot, T.,Veynante, D.|year=2001|title=Theoretical and Numerical Combustion|rest=ISBN 1-930217-05-6, R. T Edwards}}<br />
*{{reference-paper|author=Pope, S. B.|year=1994|title=Lagrangian PDF methods for turbulent flows|rest=Annu. Rev. Fluid Mech, Vol. 26, pp. 23-63}}<br />
*{{reference-paper|author=Westbrook, Ch. K., Dryer,F. L.,|year=1984|title=Chemical Kinetic Modeling of Hydrocarbon Combustion|rest=Prog. in Energy and Combustion Science,Vol. 10, pp. 1-57}}<br />
<br />
== External links and sources ==</div>Tsaadhttp://www.cfd-online.com/Wiki/CodesCodes2005-12-19T16:07:39Z<p>Tsaad: deleted e-Solutions - Irrelevant</p>
<hr />
<div>An overview of both free and commercial CFD software.<br />
<br />
== Free codes ==<br />
<br />
This section lists codes that are in the public domain, and codes that are available under GPL, BSD or similar licenses.<br />
<br />
=== Solvers ===<br />
<br />
*[[Dolfyn]] -- [http://www.dolfyn.net/dolfyn/index_en.html dolfyn homepage]<br />
*[[FreeFEM]] -- [http://www.freefem.org FreeFEM homepage]<br />
*[[Gerris Flow Solver]] -- [http://gfs.sourceforge.net/ Gerris Flow Solver homepage]<br />
*[[NSC2KE]] -- [http://www-rocq1.inria.fr/gamma/cdrom/www/nsc2ke/eng.htm NSC2KE homepage]<br />
*[[OpenFlower]] -- [http://sourceforge.net/projects/openflower/ OpenFlower homepage]<br />
*[[OpenFOAM]] -- [http://www.openfoam.org/ OpenFOAM homepage]<br />
*[[PETSc-FEM]] -- [http://www.cimec.org.ar/petscfem PETSc-FEM homepage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[BAMG]]<br />
*[[Delaundo]]<br />
*[[Gmsh]] -- [http://www.geuz.org/gmsh/ Gmsh homepage]<br />
*[[Triangle]]<br />
<br />
=== Visualization ===<br />
<br />
*[[Gnuplot]] -- [http://www.gnuplot.info/ gnuplot homepage]<br />
*[[Mayavi]] -- [http://mayavi.sourceforge.net/ MayaVi homepage]<br />
*[[OpenDX]] <br />
*[[ParaView]] -- [http://www.paraview.org/HTML/Index.html ParaView homepage]<br />
*[[Vigie]] -- [http://www-sop.inria.fr/sinus/Softs/vigie.html Vigie homepage]<br />
*[[Visit]]<br />
*[[vtk]] -- [http://www.vtk.org vtk hompage]<br />
<br />
=== Miscellaneous ===<br />
<br />
*[[Engauge Digitizer]]<br />
*[[Ftnchek]]<br />
*[[g3data]] -- [http://beam.helsinki.fi/~frantz/software/g3data.php g3data homepage]<br />
*[[GIFMerge]] -- [http://www.the-labs.com/GIFMerge/ GIFMerge homepage]<br />
*[[Gifsicle]]<br />
<br />
== Commercial codes ==<br />
<br />
=== Solvers ===<br />
<br />
*[[ANSWER]] -- [http://www.acricfd.com/ ACRi's homepage]<br />
*[[CFDplusplus]] -- [http://www.metacomptech Metacomp Techonlogies' homepage]<br />
*[[CFD2000]] -- [http://www.adaptive-research.com/ Adaptive Research's homepage]<br />
*[[CFD-FASTRAN & CFD-ACE]] -- [http://www.esi-group.com/SimulationSoftware/advanced.html ESI Group's homepage]<br />
*[[CFX]] -- [http://www.ansys.com/ Ansys' homepage]<br />
*[[EFD]] -- [http://www.nika.biz/ NIKA's homepage]<br />
*[[FINE]] -- [http://www.numeca.be/ Numeca's homepage]<br />
*[[FIRE]] -- [http://www.avl.com/ AVL's homepage]<br />
*[[FLOW-3D]] -- [http://www.flow3d.com/ Flow Science's homepage]<br />
*[[FLOWVISION]] -- [http://www.fv-tech.com FlowVision's homepage]<br />
*[[FLUENT]] -- [http://www.fluent.com Fluent's homepage]<br />
*[[KINetics Reactive Flows]] -- [http://www.ReactionDesign.com Reaction Design's homepage]<br />
*[[PHOENICS]] -- [http://www.cham.co.uk CHAM's homepage]<br />
*[[STAR-CD]] -- [http://www.cd-adapco.com CD-adapco's homepage]<br />
*[[Turb'Flow]] -- [http://www.fluorem.com Fluorem's hompage]<br />
*[[FluSol]] -- [http://www.cfd-rocket.com FluSol's hompage]<br />
<br />
=== Grid generation ===<br />
<br />
*[[Gridgen]] -- [http://www.pointwise.com/ Pointwise's homepage]<br />
*[[GridPro]] -- [http://www.gridpro.com/ PDC's homepage]<br />
*[[Harpoon]] -- [http://www.ensight.com/ CEI's homepage]<br />
<br />
=== Visualization ===<br />
<br />
*[[EnSight]] -- [http://www.ensight.com/ CEI's homepage]<br />
*[[Fieldview]] -- [http://www.ilight.com/ Intelligent Light's homepage]<br />
*[[Tecplot]] -- [http://www.tecplot.com/ Tecplot's homepage]<br />
<br />
=== Systems ===<br />
<br />
*[[Flownex]] -- [http://www.flownex.com/ Flownex's homepage]<br />
<br />
== Online tools and services ==<br />
<br />
*[[CFDNet]] -- [http://www.cfdnet.com/ CFDNet homepage]</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2005-12-19T06:53:53Z<p>Tsaad: spelling</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and ponctuation. You can also check out the [[History of CFD]] section where no CFD expertise is required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consists of many physical and chemical processes with a broad range of time scales. Mathematical description of combustion is not always trivial. Analytical solutions exists only for basic situations of laminar flames and because of the assumptions necessary it is often restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaadhttp://www.cfd-online.com/Wiki/Main_PageMain Page2005-12-19T06:36:09Z<p>Tsaad: added a couple of lines to the introduction</p>
<hr />
<div>__NOTOC__<br />
{| cellpadding="5px" cellspacing="1px" border="0px" width="100%"<br />
|-<br />
|align="left" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-left:10px; padding-right:10px; padding-top:5px; padding-bottom:5px;"| Welcome to the Computational Fluid Dynamics Wiki, a project of ''CFD Online''. Free to all, intended to produce the most comprehensive and useful CFD resource available, CFD-Wiki is created and maintained by volunteers from around the world. Please join us and [[CFD-Wiki:Contribute something today|contribute]] something today! You can also help by [[CFD-Wiki:Donate texts|donating your reports and theses]], or by doing much need editing. You don't need to be a CFD Guru to help us. There are lots of sections that still require cleanup including spelling, grammar, and ponctuation. You can also check out the [[History of CFD]] section where no CFD expertise are required! <br />
Launched: November 20, 2005. We are currently working on<br />
[[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:Allpages|articles]].<br />
|align="left" valign="top" style="background-color:#FFFFE6; border:1px solid #D5D5BB; padding-top:0px; padding-bottom:0px;" nowrap|<br />
[[CFD-Wiki:Introduction|Introduction]]<br />[[Help:Contents|Help]]<br /> [[CFD-Wiki:FAQ|FAQ]]<br />[http://www.cfd-online.com/Forum/wiki.cgi Forum]''<br />
|}<br />
{| cellpadding="1px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="2" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
<br />
|-<br />
|align="left" width="70%" style="background-color:#F3FFFF; border-top:1px solid #ADB5B5; border-left:1px solid #ADB5B5; border-bottom:1px solid #ADB5B5;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
===[[Reference section]]===<br />
:[[Fluid dynamics]], [[Turbulence modeling]], [[Numerical methods | Numerics]], [[Meshing]], ...<br />
<br />
===[[Special topics]]===<br />
: [[Aero-acoustics and noise|Acoustics]], [[Combustion]], [[Parallel computing]], [[Turbulence]], ...<br />
<br />
===[[Application areas]]===<br />
: [[Aerospace]], [[Automotive]], [[Turbomachinery]], ...<br />
<br />
===[[Best practice guidelines]]===<br />
: [[Best practice guidelines for automotive CFD|Automotive]], [[Best practice guidelines for turbomachinery CFD |Turbomachinery]], [[Best practice guidelines for heat transfer simulations | Heat Transfer]], ...<br />
<br />
===[[Validation and test cases]]===<br />
: [[Validation and test cases#1-D test cases|1D Cases]], [[Validation and test cases#2-D test cases|2D Cases]], [[Validation and test cases#3-D test cases|3D Cases]], ...<br />
<br />
===[[Codes]]===<br />
: [[Codes#Free codes|Free codes]], [[Codes#Commercial codes|Commercial codes]], ...<br />
<br />
===[[Source code archive]]===<br />
: [[Source code archive - educational|Educational]], [[Source code archive - code snippets|Code snippets]], ...<br />
<br />
===[[History of CFD]]===<br />
: [[Historical perspective]], [[Hall of fame]], [[Famous achievements in CFD]], ...<br />
<br />
===[[FAQ's]]===<br />
: [[General CFD FAQ|General CFD]], [[Ansys FAQ|Ansys]], [[CD-adapco FAQ|CD-adapco]], [[Fluent FAQ|Fluent]], [[Numeca FAQ|Numeca]], [[CHAM FAQ|Phoenics]], [[CFD-Wiki:FAQ|CFD-Wiki]], ...<br />
<br />
|align="left" valign="top" style="background-color:#F3FFF3; border:1px solid #ADB5AD; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
<br />
===[[Previous featured articles|Featured article]]===<br />
<br />
[[Image:300x155px rotated and cropped combustion pic.gif]]<br />
<br />
==[[Combustion]]==<br />
<br />
Combustion phenomena consists of many physical and chemical processes with a broad range of time scales. Mathematical description of combustion is not always trivial. Analytical solutions exists only for basic situations of laminar flames and because of the assumptions necessary it is often restricted to ... ''[[Combustion|more]]'' <br />
<br />
<br />
''This article is a good example of the high quality texts that you will find in CFD-Wiki. It is an excellent introduction to anyone who wants to learn more about combustion. The article isn't finished yet, but feel free to correct and improve it yourself!''<br />
|}<br />
<br />
{| cellpadding="0px" cellspacing="0px" border="0px" width="100%"<br />
|-<br />
|align="center" colspan="3" style="padding-top:4px; padding-right:10px; padding-left:10px; padding-bottom:4px;" valign="top"|<br />
|-<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-left:1px solid #B5ADAD; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===About CFD-Wiki===<br />
[[CFD-Wiki:About|About]],<br />
[[CFD-Wiki:Introduction|Introduction]],<br />
[[CFD-Wiki:We need your help|Help us]],<br />
[[CFD-Wiki:Goals|Goals]]<br />
<br />
===Getting started===<br />
[[CFD-Wiki:Contribute something today|Getting started]],<br />
[[CFD-Wiki:Donate texts|Donate texts]],<br />
[[CFD-Wiki:Donated texts|Donated texts]],<br />
[[CFD-Wiki:Stub|Stubs]],<br />
[[CFD-Wiki:Sandbox|Sandbox]]<br />
<br />
===Help & resources===<br />
[[Help:Contents|Help]],<br />
[[CFD-Wiki:FAQ|FAQ]],<br />
[[CFD-Wiki:Community Portal|Community portal]],<br />
[http://www.cfd-online.com/Forum/wiki.cgi Forum]<br />
<br />
|align="left" width="35%" style="background-color:#FFF3F3; border-top:1px solid #B5ADAD; border-bottom:1px solid #B5ADAD;padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;" valign="top"|<br />
<br />
===Policies and guidelines===<br />
[[CFD-Wiki:Policy|Policy]],<br />
[[CFD-Wiki:Format and style guide|Style guide]]<br />
<br />
===Administration===<br />
[[CFD-Wiki:Administrators|Admins]],<br />
[[CFD-Wiki:Suggested administrators|New admins]],<br />
[[CFD-Wiki:Administration guide| Guide]],<br />
[[CFD-Wiki:Spam blacklist| Blacklist]]<br />
<br />
===Small print===<br />
[[CFD-Wiki:Copyrights|Copyrights]],<br />
[[CFD-Wiki:GNU Free Documentation License|License]],<br />
[[CFD-Wiki:General disclaimer|Disclaimer]]<br />
<br />
|align="left" valign="top" style="background-color:#F3F3FF; border:1px solid #ADADB5; padding-top:5px; padding-right:10px; padding-left:10px; padding-bottom:10px;"|<br />
===[[CFD-Wiki:Old project news|Project news]]===<br />
'''[[CFD-Wiki:20 November 2005|20 November 2005]]''': CFD-Wiki launched to the public --[[User:Jola|Jola]] 18:12, 19 November 2005 (MST)<br />
<br />
'''[[CFD-Wiki:14 November 2005|14 November 2005]]''': The public launch date of the CFD-Wiki has been set to November 20, 2005. --[[User:Jola|Jola]] 10:39, 14 November 2005 (MST)<br />
|}<br />
<br />
<br />
<br />
<br />
''"I consider it the obligation of scientists and intellectuals to ensure that their ideas are made accessible and thus useful to society instead of being mere playthings for specialists." '' --Bjarne Stroustrup, from "Design and Evolution of C++"</div>Tsaad