![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Running flowCart
flowCart requires an input.cntl file, a mesh, and a Mesh.c3d.Info file to get running. If you want to map the solution back to the surface triangulation, then you'll also need to provide the configuration triangulation file which you used to create the mesh (in cubes). Meshes can be any one of the following:
flowCart is designed to allow user-selectable flux functions. Currently, van Leer, Colella'89 and HLLC (beta-test) are availible. Of these van Leer is the most well excercised, and is the most robust. Most users should choose it as their default. To do this use the FluxFun tag in the $_Solver_Control_Information category of the input control file and set it to "1". Alternatively, you can Starting with verions v1.3, flowCart
has a new "robust mode" of operation. In general, the code is very
robust running with the standard Runge-Kutta (RK) scheme sketched in
the sample input.cntl file, This
scheme works great most of the time, but its a compromise between
robustness and speed. As is clear from the RK tags, typically you can
get away with only evaluating the gradient and limiters at the first
stage of the scheme, saving this work on subsequent stages. In
taking this shortcut, we give up some of the remarkable positivity
property of some flux-vector-splittings. By being more careful -
evaluating the gradient at every stage in the RK scheme, and
re-evaluating it during multigrid restrictions, the scheme can be made extremely robust.
To invoke "robust mode" simply set up your RK scheme in the input.cntl file to evaluate the gradient (and limiter) at every stage in the RK, like this: Use "robust mode" sparingly. Nearly all calculations will run with the standard scheme (which is about 50% cheaper). Virtually all the simulations that you'll find on this website were run with the standard scheme. top Starting with Cart3D_v1.3 the limiters have been
completely re-coded to be better behaved than in earlier distributions.
They are now linearity preserving regardless of mesh stretching, and
there is a choice of 5 of them. Having said that, you should almost always use limiter 2
(van Leer). This is the most aggressive smooth limiter and is not
excessively dissipative - especially in the k-exact implementation in flowCart. Furthermore, its among
the fastest to compute. The limiter choices are (in order of increasing
dissipation): (0) no limiter, (1) Barth-Jespersen (2) van Leer, (3) sin
limiter, (4) van
Albada (5) Minmod. To understand the differences between them,
Look at the figure below. The plot on the left shows the limiter value (0-1) vs. the normalized acceleration or deceleration of the data. (sketch on the left). Phi = 1 means "no limiting". The parameter f is equivalently either del+/delC or del-/delC. The Barth-Jespersen (BJ) limiter essentially follows the monotonicity boundary for a 2nd order monotone scheme, so you can think of this as an effective "upper bound" for the limiter value. More aggressive, and you're not TVD. Below this curve, and you're limiting more than is strictly necessary. All the limiters go through Phi=0 at f=0.5. This says that they recommend no limiting when the data is linear, which is necessary for a 2nd order scheme. ![]() Basically, we have BJ as the most aggressive, and minmod as the most dissipative. Everybody else falls in between. This graph helps you understand how much dissipation you're buying when you choose something other than "-limiter 1" on the command line, or in input.cntl. About the only time you should even consider something else is for high mach number cases since the more aggressive limiters may "over compress" the shocks leading to excessive "staircasing". I've made a small quicktime movie comparing the "sin limiter" to Barth-Jespersen. (The "sin limiter" is in green, and BJ is shown with the red line.) Notice how, in an effort to be smooth, the sin limiter retards the slope pre-emptively as u_i approaches either of its neighbors. Van Albada is even more dissipative, and you can see that it gives up its slope substantially more quickly than sin(). BJ, or course, holds onto its slope as long as it can without overshoots, but the transitions are abrupt. (top)
1. When you run a flowCart simulation, a checkpoint file is automatically produced (you can suppress this with the "-no_ckpt" command line option, if you konw you dont want to restart). This checkpoint file is automatically named using the scheme ckPtFileName = check.[nCycles], so if you ran 150 cycles the restart file would be named "check.00150". You can use this file to restart the calculation by soft-linking the special name "Restart.file" to the checkpoint file, and invoking the "-restart" command line flag. e.g.
last update Jul 2004, M. Aftosmis |
||||||||||||||||||||||||||||||||||||||||||||||||