Input file: Snodes.i
Code reference: subroutine node_allocations in file moz.grids.lib.f
Function: The input file Snodes.i is a plain text file which defines a number of templates for different types of "nodes" (see Glossary for definition of "node" in the context of Mozart). These definitions are used by Mozart to allocate memory for the "node". Snodes.i consists of a series of template definitions. Each template definition contains the following variables:
Variable(s) |
Description |
itempr |
Template number - a number which identifies this template |
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] |
|
idoc |
Number of lines documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
ipmode |
Number of processor to execute this template If ipmode > 0, then ipmode = number of the processor which should execute this template (i.e. allocate memory for this type of "node"). If ipmode = 0, then all processors will execute this template. This is known as "peer mode". |
idoc |
Number of lines of documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
node_i mesh_i |
node_i = node number for which this template applies mesh_i = mesh number for which this template applies If node_i = 0, the subroutine node_allocation will use the value of node_j which was passed as an argument when node_allocation was called. If mesh_i = 0, the subroutine node_allocation will use the value of mesh_j which was passed as an argument when node_allocation was called.. |
node_topology_type node_sdim node_nx node_ny node_nz node_nextra node_amidnodes maxlnodes i_linkedmesh node_matrix_type |
node_topology_type = 1 for tensor product spatial dimension of node [cf. tdim which is target dimension of node] number of points in the node, in the x dimension number of points in the node, in the y dimension number of points in the node, in the z dimension number of extra points in a node maximum number of midpoints in this node maximum number of nodes that you want to link to this node if i_linkedmesh > 0, allocate meshes linked to node (see node_nmeshes) if node_matrix_type=0, will have named arrays for fields; i.e. field names like node_x, node_y, node_vx, etc. if node_matrix_type = 1, all fields will be in node_sources |
idoc |
Number of lines of documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
ilines ich |
number of lines to skip over if this processor is not using this template variable used for debugging - must be present |
node_nsources |
number of additional arrays to allocate |
?? variable name(s) ?? 60 integers which have the value of 0 or 1 |
If the n'th integer = 1, then the n'th field is allocated for this "node" If the n'th integer = 0, no memory is allocated for the n'th field NOTE: the 51st integer and the 52nd integer are special. If the 51st integer is 1, then each of the additional arrays (node_nsources of them) are allocated separately. If the 52nd integer is 1, then one block of memory is allocated to store all of the node_nsources additional arrays. |
mesh_nsources mesh_acells |
number of elemental cell fields?? maximum number of cells (elements) |
nr8b ni4b4 |
size of the r8 buffer (array) - this should be at least as large as the maximum number of points in a "node", since it must be able to hold an entire field. size of i4 buffer |
Example file:
1 ! # template PQ4-E ALLOCATION 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 53 51 0 0 0 5 0 0 0 !nodoc 9 12345 ! skip next if not right template check 1 ! nsources ? E 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 !6 60000 ! msource me ! this may be alteratively done in Smeshes 3000 500 ! # r8 buffer i4 buffer 2 ! # template PQ4-E-G ALLOCATION 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 53 51 0 0 0 5 0 0 0 !nodoc 9 34523 ! skip next if not right template check 1 ! nsources ? E 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 !6 60000 ! msource me ! this may be alteratively done in Smeshes 500 500 ! # r8 buffer i4 buffer 3 ! # template L or matrix node allocation 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 961 11 0 0 0 5 0 1 ! a node matrix 12x80x80 on 8 procs 0 !nodoc 9 34578 ! skip next if not right template check 8 ! nsources ? L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 !6 60000 ! msource me ! this may be alteratively done in Smeshes 500 500 ! # r8 buffer i4 buffer 102 ! # template (TRANSFER) matrix node allocation 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 0 0 0 32000 0 5 0 1 ! a node matrix 12x80x80 on 8 procs 0 !nodoc 9 34578 ! skip next if not right template check 4 ! nsources ? L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 !6 60000 ! msource me ! this may be alteratively done in Smeshes 40000 500 ! # r8 buffer i4 buffer 10 ! # template local node allocation 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 0 0 0 20 0 0 0 1 ! a local node matrix 0 !nodoc 9 34578 ! skip next if not right template check 26 ! nsources ? see your favorite patchwork : e.g. moz.AIM2s.S.FADP.0.f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 6 1 !6 60000 ! msource me ! this may be alteratively done in Smeshes 0 0 ! # r8 buffer i4 buffer 11 ! # template integration node 0 !nodoc 0 !nodoc 0 ! peer mode --> 0 !nodoc 0 0 ! node mesh 0 !nodoc 1 2 0 0 0 20000 0 2 0 1 ! 0 !nodoc 9 34578 ! skip next if not right template check 1 ! nsources ? L 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 !6 60000 ! msource me ! this may be alteratively done in Smeshes 0 0 ! # r8 buffer i4 buffer 0 ! end template