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