Input file: Synode.01.i
Code reference: subroutine U1grids in moz.servers.lib0.f
Function: Synode.01.i is a file which tells Mozart which grids to set up for a model run. It is read when the user chooses the button "Synodes" in the interactive menu of Mozart.
Format:
|
Variable(s) |
Description |
|
idoc |
Number of lines of documentation which follow. Mozart will read and discard the next idoc lines. This allows a user to provide some comments in the input file which will be ignored by Mozart. |
|
[idoc lines of documentation] |
|
|
The next set of lines are repeated for each template that is defined. |
|
|
itype
infi
|
"pipeline" template number. This number will choose a particular "recipe" for setting up a grid, in terms of specifying a particular set of templates for the node allocation (see Snodes.i), mesh allocation (see Smeshes.i), geometry (see Gnodes.i), nodelines (see nodelines.i), and geometric transforms (see GTnodes.i) If itype=0, this ends the input of the templates.
infi = 0 means use default files (i.e. Snodes.i, Smeshes.i, Gnodes.i, nodelines.i, GTnodes.i) for information when creating grids infi = 1 means read the information in this file (i.e. Synode.01.i) |
|
idoc |
Number of lines of documentation which follow. Mozart will read and discard the next idoc lines. This allows a user to provide some comments in the input file which will be ignored by Mozart. |
|
[idoc lines of documentation] |
|
|
nxi nyi nzi nexti mxi myi mzi mexti |
node nx node ny node nz node nextra mesh nx mesh ny mesh nz mesh nextra |
|
iUi iUr |
number of integer parameters to read number of real parameters to read |
|
if iUi > 0, there should be a line of iUi integers |
Integer parameters |
|
if iUr > 0, there should be a line of iUr integers |
Real parameters |
|
This is the end of the repeated section. |
|
|
itype |
Description |
Node template |
Mesh template |
Geometry template |
Nodeline template |
Geometric transform template |
|---|---|---|---|---|---|---|
|
1 |
PQ4 Eulerian grid |
1 |
1 |
1 |
1 |
1 |
|
2 |
ghost Eulerian grid |
2 |
2 |
0 |
0 |
0 |
|
3 |
PQ4 Lagrangian grid |
3 |
3 |
3 |
0 |
0 |
|
5 |
SQ4 Eulerian grid |
5 |
5 |
5 |
0 |
0 |
|
6 |
SQ4 Lagrangian grid |
6 |
6 |
6 |
0 |
0 |
|
7 |
HST6 Eulerian grid |
7 |
7 |
7 |
0 |
0 |
|
8 |
HST6 Lagrangian grid |
8 |
8 |
8 |
0 |
0 |
|
9 |
local Eulerian node |
9 |
0 |
0 |
0 |
0 |
|
10 |
local (Lagrangian?) node |
10 |
0 |
0 |
0 |
0 |
|
11 |
integration node |
11 |
0 |
0 |
0 |
0 |
|
20 |
node links |
n/a |
n/a |
n/a |
n/a |
n/a |
|
102 |
ghost Eulerian node matrix |
102 |
102 |
0 |
0 |
0 |
Example file:
22 ! doc (#lines to skip for documentation) - I need to modify the code for xml style io streams
<doc>
this file is an example showing how to use nodes.
it is interpreted by the grid server:
------------------------------------------------
moz.servers.lib0.f > U1grids
------------------------------------------------
nodes are here numbered in the order of their creation which is
at the discretion of the user.
Each template corresponds to a 'prepared receipe' for either
-creations of nodes (most often)
-operations on nodes (routines exist but i have had insufficient time to
hook (all of) them here. )
just follow the model to augment /dig-in mozart
here, we :
<define an eulerian node (#1) >
<define a transfer node (#102) for buffering communications >
<define a lagrangian node (#3) >
<define a local node (#10) >
<define an integration node (#11) >
<link nodes to the eulerian node (#20) >
</doc>
1 0 ! NODE-template (#1) = E PQ4
0 !nodoc
0 0 0 0 0 0 0 0
0 0
102 0 ! NODE-template (#102) = TRANSFER
0 !nodoc
0 0 0 0 0 0 0 0
0 0
3 0 ! NODE-template (#3) = matrix node
0 !nodoc
0 0 0 0 0 0 0 0
0 0
10 0 ! NODE-template (#10) = local node
0 !nodoc
0 0 0 0 0 0 0 0
0 0
11 0 ! NODE-template (#11) = integration node
0 !nodoc
0 0 0 0 0 0 0 0
0 0
20 0 ! NODE-template (#20) = link node to nodes
0 !nodoc
4 !doc
<doc>
#node #nodes_linked_to_node (=list length). first is a local node
nextline: list of nodes
</doc>
1 2
4 5
0 0 ! NODE-template #0 terminates
0 !doc