|
|
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. | + | This project has migrated over to '''github'''. |
| | | |
− | == Overview ==
| + | '''''[http://github.com/Marupio/multiSolver/wiki Click here for the new website.]''''' |
− | 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);
| + | http://github.com/Marupio/multiSolver/wiki |
− | * <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 ==
| + | |
− | <tt>multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]</tt>
| + | |
− | | + | |
− | == -command ==
| + | |
− | Choose one of:
| + | |
− | * '''list''' - list data available
| + | |
− | * '''load''' - copy specified data to <tt>case/time</tt>
| + | |
− | * '''purge''' - delete specified data
| + | |
− | * '''set''' - change case directory to match supplied solver domain
| + | |
− | | + | |
− | === list ===
| + | |
− | Takes no options. Giving options will produce an error.
| + | |
− | | + | |
− | multiSolver -list
| + | |
− | | + | |
− | === load ===
| + | |
− | Loads the data specified in <tt>options</tt>. Additional options:
| + | |
− | | + | |
− | * <tt>-global, -local</tt> - By default, <tt>load</tt> 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.
| + | |
− | | + | |
− | * <tt>-noPurge</tt> - By default, <tt>load</tt> will purge the <tt>case/time</tt> directories before copying the new data in. This option disables this behaviour.
| + | |
− | | + | |
− | * <tt>-noSet</tt> - By default, if all the specified load data is from a single solverDomain, <tt>load</tt> will automatically <tt>set</tt> the case directory to this solverDomain. This option disables this behaviour.
| + | |
− | | + | |
− | * <tt>-noStore</tt> - 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 <tt>multiSolver</tt> 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 <tt>case/time</tt> directories first:
| + | |
− | multiSolver -load 'scalarTransportFoam 1 2 5:9' -noPurge
| + | |
− | | + | |
− | === purge ===
| + | |
− | Purges the data specified in <tt>options</tt>.
| + | |
− | | + | |
− | Delete all the <tt>case/time</tt> 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
| + | |
− | | + | |
− | === 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 <tt>case/time</tt> directory as its <tt>startFrom</tt>. 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.
| + | |
− | | + | |
− | == '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 <tt>-list</tt>.
| + | |
− | | + | |
− | === 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.
| + | |
− | | + | |
− | === 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.
| + | |
− | | + | |
− | === Special words ===
| + | |
− | There are two special words reserved for some of the commands:
| + | |
− | | + | |
− | * '''all''' - indicates all solverDomains and all superLoops. Useable by <tt>-load</tt> and <tt>-purge</tt>.
| + | |
− | * '''root''' - indicates all <tt>case/time</tt> directories. Useable by <tt>-purge</tt> only.
| + | |
− | | + | |
− | e.g.:
| + | |
− | | + | |
− | multiSolver -load all
| + | |
− | multiSolver -purge root
| + | |
− | | + | |
− | == Examples ==
| + | |
− | Show all available data:
| + | |
− | | + | |
− | :<tt>multiSolver -list</tt>
| + | |
− | | + | |
− | Load all available data:
| + | |
− | | + | |
− | :<tt>multiSolver -load all</tt>
| + | |
− | | + | |
− | Load all data from solverDomain <tt>icoFoam</tt>:
| + | |
− | | + | |
− | :<tt>multiSolver -load icoFoam</tt>
| + | |
− | | + | |
− | Load all data from superLoops 8 and 9 from all solverDomains:
| + | |
− | | + | |
− | :<tt>multiSolver -load '8 9'</tt>
| + | |
− | | + | |
− | Load all data from superLoops 4, 6, 7, 8, and 9 from solverDomain <tt>scalarTransportFoam</tt>, but do not delete any existing <tt>case/time</tt> directories.
| + | |
− | | + | |
− | :<tt>multiSolver -load 'scalarTransportFoam 4 6:9' -noPurge</tt>
| + | |
− | | + | |
− | 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>
| + | |
− | | + | |
− | Delete all <tt>case/time</tt> directories:
| + | |
− | | + | |
− | :<tt>multiSolver -purge root</tt>
| + | |
− | | + | |
− | Delete all <tt>time</tt> directories in <tt>case/multiSolver/allSolverDomains/allSuperLoops</tt>, but do not delete any <tt>initial</tt> directories:
| + | |
− | | + | |
− | :<tt>multiSolver -purge all</tt>
| + | |
− | | + | |
− | Delete superLoops 5, 6, 7, 8, and 9 from all solverDomains:
| + | |
− | | + | |
− | :<tt>multiSolver -purge '5:9'</tt>
| + | |
− | | + | |
− | This instruction says to delete the <tt>initial</tt> directory from solverDomain <tt>icoFoam</tt>, but the <tt>initial</tt> directory is never deleted, therefore nothing is done:
| + | |
− | | + | |
− | :<tt>multiSolver -purge 'icoFoam -1'</tt>
| + | |
− | | + | |
− | Set the case directory to <tt>scalarTransportFoam</tt>'s settings:
| + | |
− | | + | |
− | :<tt>multiSolver -set scalarTransportFoam</tt>
| + | |