Difference between revisions of "Contrib multiSolver/Post processing"
Line 1: | Line 1: | ||
'''multiSolver''' has a post processing tool with the same name, which is required to make data available to the standard post processors. | '''multiSolver''' has a post processing tool with the same name, which is required to make data available to the standard post processors. | ||
+ | |||
+ | == Overview == | ||
+ | OpenFOAM is hard-coded to look for data in the <tt>case/[time]</tt> directories. In order to post-process (including sampling, and data conversion) the data needs to be there. To accomplish this, [[Contrib_multiSolver/Post processing|a post processing utility]] is available. Typing the command <tt>multiSolver</tt> in the terminal accesses this. It has four main commands: | ||
+ | |||
+ | * <tt>-load</tt> - copy data files from their storage location to <tt>case/time</tt> (i.e. load the data for post-processing); | ||
+ | * <tt>-purge</tt> - delete data files; | ||
+ | * <tt>-list</tt> - display the contents found in the case directory storage location; and | ||
+ | * <tt>-set</tt> - make the case directory appear as required for the given solver name. | ||
+ | |||
== Syntax == | == Syntax == | ||
<tt>multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]</tt> | <tt>multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]</tt> | ||
Line 106: | Line 115: | ||
Load all data from superLoops 4, 5, 7, 8 and 9 from solverDomains <tt>icoFoam</tt> and <tt>scalarTransportFoam</tt>, but force the directory names to globalTime: | Load all data from superLoops 4, 5, 7, 8 and 9 from solverDomains <tt>icoFoam</tt> and <tt>scalarTransportFoam</tt>, but force the directory names to globalTime: | ||
− | :<tt>multiSolver -load 'icoFoam scalarTransportFoam 4 5 7:9' -global | + | :<tt>multiSolver -load 'icoFoam scalarTransportFoam 4 5 7:9' -global</tt> |
Delete all <tt>case/time</tt> directories: | Delete all <tt>case/time</tt> directories: |
Revision as of 16:39, 1 July 2011
multiSolver has a post processing tool with the same name, which is required to make data available to the standard post processors.
Contents
1 Overview
OpenFOAM is hard-coded to look for data in the case/[time] directories. In order to post-process (including sampling, and data conversion) the data needs to be there. To accomplish this, a post processing utility is available. Typing the command multiSolver in the terminal accesses this. It has four main commands:
- -load - copy data files from their storage location to case/time (i.e. load the data for post-processing);
- -purge - delete data files;
- -list - display the contents found in the case directory storage location; and
- -set - make the case directory appear as required for the given solver name.
2 Syntax
multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]
3 -command
Choose one of:
- list - list data available
- load - copy specified data to case/time
- purge - delete specified data
- set - change case directory to match supplied solver domain
3.1 list
Takes no options. Giving options will produce an error.
multiSolver -list
3.2 load
Loads the data specified in options. Additional options:
- -global, -local - By default, load will copy by localTime, unless the times overlap, in which case it loads by globalTime. These options force it to load by the specified time.
- -noPurge - By default, load will purge the case/time directories before copying the new data in. This option disables this behaviour.
- -noSet - By default, if all the specified load data is from a single solverDomain, load will automatically set the case directory to this solverDomain. This option disables this behaviour.
- -noStore - By default, if any storeFields exist, they will be copied into every time directory in which they are missing - this is for ease of post-processing. This option disables this copying, leaving only the data that actually exists in the multiSolver directory.
Load all data:
multiSolver -load all
Load all data from icoFoam solverDomain, using globalTime.
multiSolver -load icoFoam -global
Load all data from scalarTransportFoam, superLoops 1, 2, and 5 through 9, but do not delete the case/time directories first:
multiSolver -load 'scalarTransportFoam 1 2 5:9' -noPurge
3.3 purge
Purges the data specified in options.
Delete all the case/time directories:
multiSolver -purge root
Delete superloops 5 through 9 in all solverDomains:
multiSolver -purge '5:9'
Delete all data in all solverDomains (except for initial directories):
multiSolver -purge all
3.4 set
Sets the case directory to a given solverDomain. That is, all multiDicts are changed to the correct solverDomain; and a controlDict is written. The controlDict doesn't have all the data for the given solverDomain, but it (importantly) points to the first case/time directory as its startFrom. paraFoam uses this to initialize.
Set can only take a single solverDomain in options. Any superLoop specifications, or additional solverDomain names will result in error.
4 'options'
The options to the command. If the options have whitespace characters (i.e. are more than 1 word), they must be enclosed in apostrophes. Options come in two parts: solverDomains, followed by superLoops. Each can have any number of entries, including zero, but options cannot be empty unless using -list.
4.1 solverDomainNames
A simple word list, space delimited. List any solverDomains you want to load data from. e.g.:
scalarTransportFoam icoFoam customSolver
or
icoFoam
Omitting solverDomainNames indicates that *all* solverDomains will be used.
4.2 superLoop numbers
A space delimited number list in any order. Can include ranges using a : character. A value of -1 indicates the initial directory. e.g.:
3 5 6 9:12
or
-1 5
Omitting superLoop numbers entirely indicates that *all* superLoops will be used.
4.3 Special words
There are two special words reserved for some of the commands:
- all - indicates all solverDomains and all superLoops. Useable by -load and -purge.
- root - indicates all case/time directories. Useable by -purge only.
e.g.:
multiSolver -load all multiSolver -purge root
5 Examples
Show all available data:
- multiSolver -list
Load all available data:
- multiSolver -load all
Load all data from solverDomain icoFoam:
- multiSolver -load icoFoam
Load all data from superLoops 8 and 9 from all solverDomains:
- multiSolver -load '8 9'
Load all data from superLoops 4, 6, 7, 8, and 9 from solverDomain scalarTransportFoam, but do not delete any existing case/time directories.
- multiSolver -load 'scalarTransportFoam 4 6:9' -noPurge
Load all data from superLoops 4, 5, 7, 8 and 9 from solverDomains icoFoam and scalarTransportFoam, but force the directory names to globalTime:
- multiSolver -load 'icoFoam scalarTransportFoam 4 5 7:9' -global
Delete all case/time directories:
- multiSolver -purge root
Delete all time directories in case/multiSolver/allSolverDomains/allSuperLoops, but do not delete any initial directories:
- multiSolver -purge all
Delete superLoops 5, 6, 7, 8, and 9 from all solverDomains:
- multiSolver -purge '5:9'
This instruction says to delete the initial directory from solverDomain icoFoam, but the initial directory is never deleted, therefore nothing is done:
- multiSolver -purge 'icoFoam -1'
Set the case directory to scalarTransportFoam's settings:
- multiSolver -set scalarTransportFoam