Difference between revisions of "Contrib multiSolver/Post processing"

From OpenFOAMWiki
m (moved Contrib multiSolver/multiPost to Contrib multiSolver/Post processing: Renamed application for which this page was named)
Line 1: Line 1:
'''multiPost''' is '''multiSolver''''s post processing tool 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.
 
== Syntax ==
 
== Syntax ==
<tt>multiPost -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]</tt>
+
<tt>multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]</tt>
  
 
== -command ==
 
== -command ==
Line 13: Line 13:
 
Takes no options.  Giving options will produce an error.
 
Takes no options.  Giving options will produce an error.
  
  multiPost -list
+
  multiSolver -list
  
 
=== load ===
 
=== load ===
Line 26: Line 26:
 
* <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.
 
* <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.
  
  multiPost -load all
+
Load all data:
Load all data.
+
  multiSolver -load all
  
multiPost -load icoFoam -global
 
 
Load all data from icoFoam solverDomain, using globalTime.
 
Load all data from icoFoam solverDomain, using globalTime.
 +
multiSolver -load icoFoam -global
  
multiPost -load scalarTransportFoam 1 2 5:9 -noPurge
+
Load all data from scalarTransportFoam, superLoops 1, 2, and 5 through 9, but do not delete the <tt>case/time</tt> directories first:
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 ===
 
=== purge ===
 
Purges the data specified in <tt>options</tt>.
 
Purges the data specified in <tt>options</tt>.
  
multiPost -purge root
+
Delete all the <tt>case/time</tt> directories:
Delete all the <tt>case/time</tt> directories.
+
multiSolver -purge root
  
multiPost -purge '5:9'
+
Delete superloops 5 through 9 in all solverDomains:
Delete superloops 5 through 9 in all solverDomains.
+
multiSolver -purge '5:9'
  
multiPost -purge all
+
Delete all data in all solverDomains (except for initial directories):
Delete all data in all solverDomains (except for initial directories).
+
multiSolver -purge all
  
 
=== set ===
 
=== set ===
Sets the case directory to a given solverDomain.  That is, any dictionary that changes content is swapped 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.
+
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.
 
Set can only take a single solverDomain in options.  Any superLoop specifications, or additional solverDomain names will result in error.
Line 80: Line 80:
 
e.g.:
 
e.g.:
  
  multiPost -load all
+
  multiSolver -load all
  multiPost -purge root
+
  multiSolver -purge root
  
 
== Examples ==
 
== Examples ==
 
Show all available data:
 
Show all available data:
  
:<tt>multiPost -list</tt>
+
:<tt>multiSolver -list</tt>
  
 
Load all available data:
 
Load all available data:
  
:<tt>multiPost -load all</tt>
+
:<tt>multiSolver -load all</tt>
  
 
Load all data from solverDomain <tt>icoFoam</tt>:
 
Load all data from solverDomain <tt>icoFoam</tt>:
  
:<tt>multiPost -load icoFoam</tt>
+
:<tt>multiSolver -load icoFoam</tt>
  
 
Load all data from superLoops 8 and 9 from all solverDomains:
 
Load all data from superLoops 8 and 9 from all solverDomains:
  
:<tt>multiPost -load '8 9'</tt>
+
:<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.
 
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>multiPost -load 'scalarTransportFoam 4 6:9' -noPurge
+
:<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:
 
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>multiPost -load 'icoFoam scalarTransportFoam 4 5 7:9' -global
+
:<tt>multiSolver -load 'icoFoam scalarTransportFoam 4 5 7:9' -global
  
 
Delete all <tt>case/time</tt> directories:
 
Delete all <tt>case/time</tt> directories:
  
:<tt>multiPost -purge root</tt>
+
:<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:
 
Delete all <tt>time</tt> directories in <tt>case/multiSolver/allSolverDomains/allSuperLoops</tt>, but do not delete any <tt>initial</tt> directories:
  
:<tt>multiPost -purge all</tt>
+
:<tt>multiSolver -purge all</tt>
  
 
Delete superLoops 5, 6, 7, 8, and 9 from all solverDomains:
 
Delete superLoops 5, 6, 7, 8, and 9 from all solverDomains:
  
:<tt>multiPost -purge '5:9'</tt>
+
:<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:
 
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>multiPost -purge 'icoFoam -1'</tt>
+
:<tt>multiSolver -purge 'icoFoam -1'</tt>
  
 
Set the case directory to <tt>scalarTransportFoam</tt>'s settings:
 
Set the case directory to <tt>scalarTransportFoam</tt>'s settings:
  
:<tt>multiPost -set scalarTransportFoam</tt>
+
:<tt>multiSolver -set scalarTransportFoam</tt>

Revision as of 13:51, 6 April 2011

multiSolver has a post processing tool with the same name, which is required to make data available to the standard post processors.

1 Syntax

multiSolver -command 'options' [-global] [-local] [-noPurge] [-noSet] [-noStore]

2 -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

2.1 list

Takes no options. Giving options will produce an error.

multiSolver -list

2.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

2.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

2.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.

3 '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.

3.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.

3.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.

3.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

4 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 <tt>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