Cart3D Home
home news images pubs c3dTeam
whatIsCart3D?
surfaceModeling
meshGen?
flowSolvers?
overview
reorder
Input/Output files
running
Input/Output files
postprocess?
mailList?
betaTest?
licensing?


    Cart3D's Flow Solvers


Tell me a little about flowCart?
What is the difference between "flowCart" and "mpix_flowCart"?



Tell me a little about FlowCart?
LAV concept with grid fins, Mach 2flowCart/mpix_flowCart is the basic inviscid solver being released with Cart3D. It is a scalable, multilevel,  linearly-exact upwind solver and uses domain-decomposition to achieve very good scalability for both steady and time-dependent flows. On most modern machines it converges well over 1 million cells per-core in under 10 minutes. flowCart is very tightly integrated into Cart3D and all of our  automation tools are built around it. Since it is a multilevel code, it converges very quickly and includes our latest work on low-dissipation approaches, solid wall boundaries, mesh interfaces and limiters. Both the parallelization and multigrid are completely transparent to the user and are turned on by simple command line arguments to encourage their use.   

What is the difference between "flowCart" and "mpix_flowCart"
scalability OpenMP and MPI comparedIt's basically a choice between shared and distributed memory. Cart3D's default solver module is called "flowCart" which is a shared-memory build and can be run in parallel within a single compute node. "mpix_flowCart" is a distributed memory build. Both builds use the same strategy for domain-decomposition and have very similar scalability on most systems. So...which build should you use? We recommend all users start with flowCart, and then, after warming up, start experimenting with mpix_flowCart if they happen to be in a distributed computing environment. With multi-core CPUs, shared memory is more relevant than ever, but if you're in a cluster-computing environment or have access to large parallel systems, distributed memory is the fastest way to kill large problems. So, if you have a cluster of 8 machines, each of which has two 8-core cpu's (16 processing cores per cluster node), you can run flowCart on up to 16 threads in each box. If you need to run more threads, or if you need more memory than you have in a single box you can choose mpix_flowCart to distribute your job over multiple cluster nodes. flowCart has been run in shared memory on over 1000 cores here in NASA's Supercomputing division. We routinely run long, unsteady, distributed-memory simulations with mpix_flowCart on many thousands of cores.
(top)


Questions?   Visit Cart3D Discuss,   or  Contact Us
last update December 2024