Weierstrass p: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Addbot
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q2555242
Fixed an outdated link in the references.
 
Line 1: Line 1:
{{Use dmy dates|date=July 2013}}
Wilber Berryhill is the title his parents gave him and he completely digs that name. The favorite hobby for him and his children is fashion and he'll be starting some thing else along with it. Alaska is exactly where he's always been residing. Distributing manufacturing has been his profession for some time.<br><br>Look at my web blog :: psychic readings online ([http://kjhkkb.net/xe/notice/374835 read this article])
{{Infobox Software
| name                  = OpenFOAM
| logo                  =
| screenshot            = [[File:Screenshot OpenFOAM-2.1.x gnome-terminal.png|200px]]
| caption                = OpenFOAM running in a [[Terminal emulator|terminal]]
| author                = Henry Weller
| developer              = The OpenFOAM Team
| released              = 10 December 2004
| latest release version = 2.2.2
| latest release date    = 14 October 2013
| operating system      = [[Unix]]/[[Linux]]
| genre                  = [[Computational fluid dynamics]], [[Simulation software]]
| license                = [[GNU General Public License]]
| website                = [http://www.openfoam.org www.openfoam.org]
}}
 
'''OpenFOAM (Open source Field Operation And Manipulation)''' is a [[C++]] toolbox for the development of customized [[numerical analysis|numerical solvers]], and pre-/post-processing utilities for the solution of [[continuum mechanics]] problems, including [[computational fluid dynamics]] (CFD).  The code is released as free and open source software under the [[GNU General Public License]].  It is maintained by The OpenFOAM Foundation,<ref>[http://www.openfoam.org/ The OpenFOAM Foundation homepage]</ref> which is sponsored by the [[ESI Group]], the owner of the trademark to the name '''OpenFOAM'''.
 
==History==
 
The original development of OpenFOAM started in the late 1980s at [[Imperial College]], London, to develop a more powerful and flexible general simulation platform than the de facto standard at the time, [[FORTRAN]]. This led to the choice of [[C++]] as programming language, due to its highest modularity and object oriented features. The predecessor, FOAM, was sold by UK company Nabla Ltd. before being released as open source in 2004.<ref>[http://www.openfoam.org/download/history.php OpenFOAM Release History]</ref> On 15 August 2011, [[OpenCFD]] announced its acquisition by [[Silicon Graphics International]] (SGI).<ref>{{cite web|url=http://www.sgi.com/company_info/newsroom/press_releases/2011/august/opencfd.html |title=Press Releases: SGI Acquires OpenCFD Ltd., the Leader In Open Source Computational Fluid Dynamics (CFD) Software |publisher=SGI |date= |accessdate=2012-12-18}}</ref> On September 12, 2012, the ESI Group announced the acquisition of OpenFOAM Ltd from SGI.<ref>{{cite web|url=http://www.esi-group.com/corporate/finance/news/financial-press-release/acquisiton-of-opencfd-ltd-the-leader-in-open-source-software-in-computional-fluid-dynamics |title=Acquisition of OpenCFD Ltd., The leader in Open Source software in Computational Fluid Dynamics |publisher=ESI Group |date=2012-09-11 |accessdate=2012-12-18}}</ref>
 
== Distinguishing features ==
 
=== Syntax ===
 
One distinguishing feature of OpenFOAM is its syntax for tensor operations and [[partial differential equation]]s that closely resembles the equations being solved.  For example the equation<ref>[http://www.openfoam.com/features/creating-solvers.php Creating solvers in OpenFOAM ]</ref>
 
: <math> \frac{\partial \rho \mathbf{U}}{\partial t} + \nabla \cdot\phi\mathbf{U} - \nabla \cdot\mu\nabla\mathbf{U} = - \nabla p </math>
 
is represented by the code
 
<source lang = "cpp">
solve
(
    fvm::ddt(rho,U)
  + fvm::div(phi,U)
  - fvm::laplacian(mu,U)
    ==
  - fvc::grad(p)
);
</source>
 
This syntax, achieved through the use of [[object oriented programming]] and [[operator overloading]], enables users to create custom solvers with relative ease.  However, code customization becomes more challenging with increasing depth into the OpenFOAM library, owing to a lack of documentation, and heavy use of [[template metaprogramming]].
 
=== Extensibility ===
 
Users can create custom objects, such as boundary conditions or turbulence models, that will work with existing solvers without having to modify or recompile the existing source code.  OpenFOAM accomplishes this by combining [[factory method pattern|virtual constructors]] with the use of simplified base classes as [[interface (computing)|interfaces]].  As a result, this gives OpenFOAM good [[extensibility]] qualities. OpenFOAM refers to this capability as ''run-time selection''<ref>[http://openfoamwiki.net/index.php/OpenFOAM_guide/runTimeSelection_mechanism OpenFOAM's ''run-time selection mechanism'' explained]</ref>
 
==Structure of OpenFOAM==
 
OpenFOAM is constituted by a ''large base library'', which offers the core capabilities of the code:
 
* Tensor and field operations
* Discretization of partial differential equations using a human-readable syntax
* Solution of linear systems<ref>[http://www.openfoam.com/features/linear-solvers.php Linear system solvers in OpenFOAM]</ref>
* Solution of ordinary differential equations<ref>[http://www.openfoam.com/features/ODE-solvers.php Ordinary differential equation solvers in OpenFOAM]</ref>
* Automatic parallelization of high-level operations
* Dynamic mesh<ref>[http://www.openfoam.com/features/mesh-motion.php Dynamic mesh in OpenFOAM]</ref>
* General physical models
** Rheological models<ref>[http://www.openfoam.com/features/transport.php Rheological models in OpenFOAM]</ref>
** Thermodynamic models and database<ref>[http://www.openfoam.com/features/thermophysical.php Thermophysical models in OpenFOAM]</ref>
** Turbulence models<ref>[http://www.openfoam.com/features/turbulence.php Turbulence models in OpenFOAM]</ref>
** Chemical reaction and kinetics models<ref>[http://www.openfoam.com/features/reaction-kinetics.php Chemical reactions and kinetics models in OpenFOAM]</ref>
** [[Lagrangian particle tracking]] methods<ref>[http://www.openfoam.com/features/lagrangian.php Lagrangian particle tracking in OpenFOAM]</ref>
** Radiative heat transfer models
** Multi-reference frame and single-reference frame methodologies
 
The capabilities provided by the library are then used to develop ''applications''. Applications are written using the high-level syntax introduced by OpenFOAM, which aims at reproducing the conventional mathematical notation. Two categories of applications exist:
 
* Solvers: they perform the actual calculation to solve a specific continuum mechanics problem
* Utilities: they are used to prepare the mesh, set-up the simulation case, process the results, and to perform operations other than solving the problem under examination
 
Each application provides specific capabilities: for example the application called ''blockMesh'' is used to generate meshes from an input file provided by the user, while another application called ''icoFoam'' solves the Navier-Stokes equations for an incompressible laminar flow.
 
Finally, a set of third-party packages are used to provide parallel functionality (i.e.[[OpenMPI]]) and graphical post-processing ([[ParaView]]).
 
==Capabilities==
 
OpenFOAM solvers include:<ref>[http://www.openfoam.com/features/ OpenFOAM features]</ref>
[[File:Screenshot OpenFOAM smallPoolFire2D ParaView 3.12.0.png|350px|thumb|Simulation of burning [[Methane]]. The [[Graphical user interface]] is [[ParaView]].]]
 
* Basic CFD solvers
* Incompressible flow with RANS and LES capabilities<ref>[http://www.openfoam.com/features/standard-solvers.php#incompressibleFlowSolvers OpenFOAM incompressible flow solvers]</ref>
* Compressible flow solvers with RANS and LES capabilities<ref>[http://www.openfoam.com/features/standard-solvers.php#compressibleFlowSolvers OpenFOAM Compressible flow solvers]</ref>
* Buoyancy-driven flow solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#heatTransferSolvers OpenFOAM buoyancy-driven flow solvers]</ref>
* DNS and LES
* Multiphase flow solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#multiphaseFlowSolvers Multiphase flow solvers]</ref>
* Particle-tracking solvers
* Solvers for combustion problems<ref>[http://www.openfoam.com/features/standard-solvers.php#combustionSolvers OpenFOAM solvers for combustion]</ref>
* Solvers for conjugate heat transfer<ref>[http://www.openfoam.com/features/standard-solvers.php#heatTransferSolvers OpenFOAM solvers for conjugate heat transfer]</ref>
* Molecular dynamics solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#MDSolvers OpenFOAM molecular dynamics solvers]</ref>
* Direct Simulation Monte Carlo solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#DSMCSolvers OpenFOAM Direct Simulation Monte Carlo solvers]</ref>
* Electromagnetics solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#electromagneticsSolvers OpenFOAM Electromagnetics solvers]</ref>
* Solid dynamics solvers<ref>[http://www.openfoam.com/features/standard-solvers.php#stressAnalysisSolvers OpenFOAM solid dynamics solvers]</ref>
 
In addition to the standard solvers, [[#Syntax|OpenFOAM's syntax]] lends itself to the easy creation of custom solvers.
 
OpenFOAM utilities are subdivided into:
 
* Mesh utilities
** Mesh generation: they generate computational grids starting either from an input file (blockMesh), or from a generic geometry specified as STL file, which is meshed automatically with hex-dominant grids (snappyHexMesh)
** Mesh conversion: they convert grids generated using other tools to the OpenFOAM format
** Mesh manipulation: they perform specific operations on the mesh such as localized refinement, definition of regions, and others
* Parallel processing utilities: they provide tools to decompose, reconstruct and re-distribute the computational case to perform parallel calculations
* Pre-processing utilities: tools to prepare the simulation cases
* Post-processing utilities: tools to process the results of simulation cases, including a plugin to interface OpenFOAM and [[ParaView]].
* Surface utilities
* Thermophysical utilities
 
== License ==
 
OpenFOAM is free and open source software, released under the [[GNU General Public License]] version 3.<ref>[http://www.openfoam.org/licence.php OpenFOAM Licensing Page]</ref>
 
== Advantages and disadvantages ==
 
=== Advantages ===
* Friendly syntax for partial differential equations
* Unstructured polyhedral grid capabilities
* Automatic parallelization of applications written using OpenFOAM high-level syntax
* Wide range of applications and models ready to use
* Commercial support and training provided by the developers
* No license costs
 
=== Disadvantages ===
* Absence of an integrated [[graphical user interface]] (stand-alone Open Source and proprietary options are available)
* The Programmer's guide does not provide sufficient details, making the learning curve very gradual
* The lack of maintained documentation makes it difficult for the new users
 
== Forks and adaptations ==
 
=== Free software ===
 
* '''blueCFD''' is a [[cross compiler|cross-compiled]] version of OpenFOAM that runs on Windows operating systems, and is derived from '''OpenFlow'''. The package also includes additional tools and functionality useful for OpenFOAM.  It is produced by blueCAPE.<ref>[http://joomla.bluecape.com.pt/ blueCAPE's homepage]</ref>
* '''FreeFOAM'''<ref>[http://freefoam.sourceforge.net/ FreeFOAM Home Page]</ref> is geared towards freeing OpenFOAM from its system dependence, making it more portable and user-friendly for installation. The project closely tracks the official releases from OpenCFD and does not include additional functionality. [[CMake]] is used as a build system.
* '''HELYX-OS<ref>[http://sourceforge.net/projects/helyx-os/ HELYX-OS Project Homepage]</ref>''' is an Open Source preprocessing [[Graphical user interface|Graphical User Interface (GUI)]], for meshing and case setup, designed to work with the latest version of OpenFOAM® released by [[ESI Group]]. The GUI is maintained by Engys Ltd<ref name="ENGYS">[http://engys.com/ Engys Ltd]</ref> using Java+VTK and delivered to the public under the [[GNU General Public License]].
* '''OpenFlow''' is a source code patch developed by Symscape for a [[cross compiler|cross-compiled]] distribution of OpenFOAM that runs on Windows operating systems.  The OpenFOAM components in blueCFD are derived from the OpenFlow source code.<ref>[http://www.symscape.com/product/openflow OpenFlow source code patch]</ref>
* '''OpenFOAM-extend'''<ref>[http://www.extend-project.de/ OpenFOAM-extend Project Home Page]</ref> is maintained by Wikki Ltd.<ref>[http://www.wikki.co.uk/ Wikki Ltd].</ref>  This fork has a large repository of ''community-generated contributions'', much of which can be installed into the official version of '''OpenFOAM''' with minimal effort.<ref>[http://openfoamwiki.net/index.php/Main_ContribSolvers Solvers], [http://openfoamwiki.net/index.php/Main_ContribUtilities Utilities], and [http://openfoamwiki.net/index.php/Main_ContribOther Other contributions]</ref>  It is developed in parallel to the official version of '''OpenFOAM''', incorporating its latest versions, although these are released one or two years later.
*'''SwiftBlock<ref>[http://openfoamwiki.net/index.php/SwiftBlock SwiftBlock project homepage]</ref>''' is an Open Source preprocessing [[Graphical user interface|Graphical User Interface]] for the OpenFOAM® meshing utility blockMesh.  SwiftBlock was originally developed by Karl-Johan Nogenmyr<ref name="SWIFTSNAPBLOCK">[http://www.cfd-online.com/Forums/openfoam-meshing/100604-swiftsnap-swiftblock-guis-openfoams-meshers.html#post357462 Original SwiftSnap and SwiftBlock announcement]</ref> and is an add-on to [[Blender 3D]].
*'''SwiftSnap<ref>[http://openfoamwiki.net/index.php/Contrib/SwiftSnap SwiftSnap project homepage]</ref>''' is an Open Source preprocessing [[Graphical user interface|Graphical User Interface]] for the OpenFOAM® meshing utility snappyHexMesh.  SwiftSnap was originally developed by Karl-Johan Nogenmyr<ref name="SWIFTSNAPBLOCK" /> and is an add-on to [[Blender 3D]].
 
=== Software available for purchase ===
 
*'''Caedium''' is a unified simulation environment produced by '''[[Symscape]]'''.  The Caedium RANS Flow add-on<ref>[http://www.symscape.com/product/rans Caedium RANS Flow add-on]</ref> provides a [[graphical user interface]] for OpenFOAM case setup, solution steering, and post processing.
*'''Ciespace CFD''' is a web-based modeling and simulation environment produced by Ciespace Corporation.<ref>[http://www.ciespace.com/applications/ciespace-cfd/ Ciespace CFD Product Page]</ref>  The application includes a [[graphical user interface]] front-end for OpenFOAM, pre-processing mesh tools, and a collaborative workflow management system that runs from a web browser.
*'''CastNet''' is a proprietary modelling and simulation environment produced by DHCAE Tools.<ref>[http://www.dhcae-tools.com/ DHCAE Tools homepage]</ref>  The application includes a [[graphical user interface]] front-end for OpenFOAM.
*'''HELYX<ref>[http://engys.com/products/helyx/ HELYX Graphical User Interface]</ref>''' is a fully integrated software suite with proprietary preprocessing [[Graphical user interface|Graphical User Interface (GUI)]], for meshing and case setup, designed to work with an enhanced version of OpenFOAM® that is fully documented, supported, and maintained by Engys Ltd.<ref name="ENGYS" />
*'''ICON FOAMpro CFD''' is maintained by '''ICON Process & Consulting Ltd'''.<ref>[http://www.iconcfd.com/services/foampro ICON FOAMpro Process]</ref>  It is developed mostly around automotive applications through collaboration with the Volkswagen Group,<ref>[http://papers.sae.org/2009-01-0333 ICON VWG SAE paper]</ref> and Ford Motor Co.<ref>[http://papers.sae.org/2011-01-0163 ICON FORD SAE paper]</ref>  This fork includes ''community-generated content'' as well as ''ICON-specific developments''.
 
== Alternative software ==
 
=== Free and open-source software ===
* [[Stanford University Unstructured]] (GPL)<ref>[http://su2.stanford.edu/ SU<sup>2</sup> homepage]</ref>
* [[Code Saturne]] (GPL)
* FreeCFD<ref>[http://www.freecfd.com/ FreeCFD homepage]</ref>
* [[Gerris_(software)|Gerris Flow Solver]]<ref>[http://gfs.sf.net/ Gerris homepage]</ref>
* OpenFVM<ref>[http://sourceforge.net/projects/openfvm/ OpenFVM homepage]</ref>
* Palabos Flow Solver<ref>[http://www.palabos.org Palabos homepage]</ref>
* CLAWPACK<ref>[depts.washington.edu/clawpack]</ref>
* [[deal.II]]<ref>[http://www.dealii.org, deal.II homepage]</ref>
 
=== Proprietary software ===
* [[Comsol|COMSOL Multiphysics]]
* [[Altair Engineering]] Acusolve
* [[ADINA| ADINA CFD]]
* [[ANSYS]] CFX
* [[ANSYS]] Fluent
* Azore <ref>[http://www.azoretechnologies.com/ Azore Technologies, LLC Home Page]</ref>
* [[Pumplinx]]
* [[CD-adapco#STAR-CCM+|STAR-CCM+]]
* [[KIVA (software)]]
* [[RELAP5-3D]]
* [[PowerFlow]]
* [[FOAMpro]]
* Cradle <ref>[http://www.cradle-cfd.com/ Software Cradle Co., Ltd. Home Page]</ref> SC/Tetra <ref>[http://www.cradle-cfd.com/products/sctetra/index.html SC/Tetra Page]</ref>
* Cradle scSTREAM <ref>[http://www.cradle-cfd.com/products/stream/index.html/ scSTREAM Page]</ref>
* Cradle Heat Designer <ref>[http://www.cradle-cfd.com/products/heatdesigner/index.html/ Heat Designer Page]</ref>
 
==References==
{{reflist|colwidth=30em}}
 
==External links==
 
=== Official resources ===
* [http://www.openfoam.com Official OpenFOAM web site]
* [http://www.openfoam.com/docs/ OpenFOAM official documentation]
* [http://www.openfoam.com/mantisbt/main_page.php OpenFOAM bug-reporting system]
 
=== Community resources ===
* [http://www.cfd-online.com/Forums/openfoam/ OpenFOAM Forum at CFD Online]
* [http://openfoamwiki.net/index.php/Main_Page OpenFOAM wiki]
* [http://foamcfd.org/ FOAM CFD web site], by one of the original developers of the code, who is not associated with OpenCFD.
* [http://blog.sina.com.cn/openfoamresearch/ A Blog about OpenFOAM in Chinese]
 
=== Other resources ===
* [http://www.wolfdynamics.com/training/training-with-openfoam%C2%AE.html Comprehensive introductory course on OpenFOAM]: basics, parallel/GPU computing, tutorials.
 
{{Numerical analysis software}}
{{CAE software}}
 
{{DEFAULTSORT:Openfoam}}
[[Category:Computational fluid dynamics]]
[[Category:Fluid dynamics]]
[[Category:Computational science]]
[[Category:Free science software]]
[[Category:Scientific simulation software]]
[[Category:2004 software]]

Latest revision as of 05:57, 11 August 2014

Wilber Berryhill is the title his parents gave him and he completely digs that name. The favorite hobby for him and his children is fashion and he'll be starting some thing else along with it. Alaska is exactly where he's always been residing. Distributing manufacturing has been his profession for some time.

Look at my web blog :: psychic readings online (read this article)