1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Main Page

From cloudflu

(Difference between revisions)
Jump to: navigation, search
(Why Linux only?)
Line 76: Line 76:
=== Why Linux only? ===
=== Why Linux only? ===
* OpenFOAM runs only under Linux
* OpenFOAM runs only under Linux
* Provides the best support for scripting functionality
* Provides the best support for scripting
=== Why Amazon? ===
=== Why Amazon? ===

Revision as of 10:55, 10 February 2011

Copyright © 2010 Alexey Petrov

Developers: Alexey Petrov, Andrey Simurzin

License: Apache License, Version 2.0

The Apache Software Foundation


It might be funny, but from time to time every CFD engineer has to to solve a real-world case.

The real-world, means that the detailisation scale of the problem should be very precise; no toys or models are anymore acceptable. In order to handle such type of calculations an engineer has to use a high performance computing resources (cluster). And there could arise the following difficulties that can defeat even desire to deal with real-world, namely:

  • organization (engineer) has no access to a cluster (to buy and maintain it - costs a lot);
  • engineer has to be trained in advance to be able to install and run his applications in the cluster environment.
A computational fluid dynamics (CFD) visualization for a yacht. The simulation was comprised of 1 billion individual cells


So, if you are limited in hardware resources and use OpenFOAM (R) as the primary solver framework the presented solution matches your goals. CloudFlu library aims to overcome the entrance barrier for high performance parallel computing and make the real-world case analysis available for engineers, in the following ways:

  • using cloud computing capacities
    • acquire as much computing resources as it is necessary
    • pay exactly for the time it is necessary to run the corresponding calculations
    • no headache for hardware maintenance, upgrading and software licensing
  • seamless integration with cloud
    • to run the calculations an engineer does not need to learn or exercise anything special
    • case definition stays the same as in case of a local run
    • solver definition could be sent directly to the cloud to perform the calculation
    • focusing on a particular CFD library (OpenFOAM) streamlines user interface.

Important : This solution will work only if the engineering problem could be solved in a parallel way (through decomposition of the initial problem into a number of smaller sub-problems). Each properly defined OpenFOAM based solver supports parallelization feature from the beginning.

Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like the electricity grid


To implement pay as you go model of access to a cluster CloudFlu library uses resources of cloud computing provider (Amazon EC2). So, the price for the cluster usage is defined by Amazon. For example, running of High-CPU On-Demand Instance, that can be described as

  • Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (8 virtual cores);
  • 7 GB RAM;
  • 1690 GB HDD.

for one day will cost just about $15.

User, as well, can acquire as many instances as he needs to define the most suitable balance between the time he gets the results and the money he needs to pay.

Since CloudFlu library uses cloud computing advantages for its implementation, there are other expenses to be taken into consideration, namely:

  • data transferring, which is "$0.00 per GB, for first 1 GB per month";
  • data storage, which is "$0.150 per GB, for first 50 TB / month of storage used".

So, if the "weight" of the cases is less than 1 GB, just add another $1 to the final price.

The beauty of these numbers is not the only that it is cheap, but mostly, because a user does not need pay when he does not use.

pay as you go


CloudFlu library defines its user interface through the corresponding command-line utilities. These utilities could be combined in different ways (like usual Linux commands) to effectively reach user defined goals. CloudFlu user scenarios can be easily automated and integrated into the existing engineering environment.

Why OpenFOAM?

  • Can effectively run its calculations on cluster
    (supports parallelization technology on the core level)
  • The most capable open-source CFD package
  • Has excellent support for custom solver definition

Why Linux only?

  • OpenFOAM runs only under Linux
  • Provides the best support for scripting

Why Amazon?

In short, it is the only cloud computing provider which delivers cluster computing instances.

Why Python?

  • Commonly used by engineers
  • Easy to learn, use and advance
  • A lot of scientific and engineering related libraries available
kings way


A usual OpenFOAM calculation scenario in CloudFlu terms looks like the following:

  • starting a cluster (if you already started a cluster you can just use it by its identifier);
    a_cluster_id=`cloudflu-cluster-start` && echo ${a_cluster_id}
  • booking a study (a symbolical name for the data channel which will be used to pass output solver results from the cluster) :
    a_study_name=`cloudflu-study-book` && echo ${a_study_name}
  • starting a solver :
    cloudflu-solver-start --study-name=${a_study_name} --cluster-id=${a_cluster_id} --case-dir="~/cloudflu-examples/custom"
  • downloading / post-processing of the output results :
    cloudflu-solver-process --study-name=${a_study_name} --output-dir='damBreak.out'

Actually, that is all!

Nothing exceptional that you need to learn and understand.

For more details see Crash Course.

let's look into details

Competitive analysis

There are at least two applications that aim almost the same goal - cluster computing, namely

  • StarCluster - is a utility for creating and managing computing clusters hosted on Amazon's Elastic Compute Cloud (EC2).
    • Has the following advantage
      • It is a blooming project with active community and highly educated advisors
    • And disadvantages.
      • It is too general - does not provide ready to use OpenFOAM environment
      • Misses the first and the last steps in the typical user scenario, namely data transferring to and from cluster
  • ec2cluster - is a web console (including corresponding web API), that launches clusters on Amazon EC2 for parallel processing.
    • Has the following advantages
      • Incorporates data transferring functionality
      • Has a web browser based GUI
    • And disadvantages
      • Is too general - does not provide ready to use OpenFOAM environment
      • The project is no more in active state (obsolete)
reality check

CloudFlu way

  • Focusing on OpenFOAM functionality
  • Incorporating data transferring functionality
  • Keeping users far away from the cloud specific details
  • Seamless integration with cloud:
    • adaptive solver use-case decomposition;
    • remote compilation and running user-defined solvers
  • Full-featured command-line user interface
CloudFlu way

Download Installation Guide Documentation Forum Your Ideas GuestBook Bug Tracker Feature Request Project Start Page
Personal tools