Input file: nodelines.i
Code reference: subroutine nodelines, subroutine Nnodeline_xy in file moz.grids.lib.f
Function: nodelines.i is a plain text file which defines nodelines; i.e. a set of interfaces in the Eulerian grid. [need better definition of "nodeline"; need a definition of "interface".]
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 |
Processor mode number If ipmode > 0, then ipmode = number of the processor which should execute this template. 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] |
|
nodeline_i mesh_i |
nodeline_i = nodeline number for which this template applies mesh_i = mesh number for which this template applies |
ilines |
number of lines to skip over if this processor is not using this template |
nodeline_type |
type of nodeline; 1 = tensor product |
nodeline_nx nodeline_nheight |
number of nodes on each interface [ IMPORTANT: this must match with the nx of your Eulerian grid! ] number of interfaces |
[line of integers, nodeline_nheight of them] |
each of these integers defines the row in the Eulerian grid which corresponds to each interface; i.e. the first integer is the row number for the first interface; the second integer is the row number of the second interface; and so on. |
idoc |
Number of lines of documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
node_i nodeline_xor nodeline_yor nodeline_glength nodeline_gheight |
number of the node (as defined in Synode.01.i) that you are going to transform x origin of nodeline y origin of nodeline global length of nodeline global height of nodeline |
idoc |
Number of lines of documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
The following input lines are repeated nodeline_nheight times; i.e. you need one set of these input lines for each nodeline. |
|
ifct nvs |
function type used to shape this nodeline [need list of function types here...] number of parameters that define the function type |
idoc |
Number of lines of documentation which follow. (This gives the user another comment section.) |
[idoc lines of documentation] |
|
xtemp(i), i=1,nvs |
parameters for the function specified in ifct above NOTE: The functions for the nodelines will define a delta y, not an absolute y, to be applied to the corresponding row in the Eulerian grid when used for doing a geometric transform of the E grid. |
Example file:
1 ! nodeline template 0 !nodoc 0 !nodoc 0 !peer mode --> 31 ! nskip 0 !nodoc 1 0 ! nodeline mesh 0 !nodoc 1 ! type (1=tp) 53 3 !nx nh 1 15 51 ! ih note: nodeline_node makes nodes/interface 1 earlier than 2 etc 1 !doc node_i ... deformation of mesh xo yo gl gh 1 0. 0. 8. 1. 1 ! doc for each interface in order : 10 12 ! fct type ----------> interface # 1 (iy=1) # parms needed 4 ! doc 2 half gaussians : C1: if(X.ge.p1)Y=p5+p4*dexp(-((X-p2)**p6)/p3) C2: if(X.le.p7)Y=p11+p10*dexp(-((p8-X)**p12)/p9) notice the reversal of sign enter p(i),i=1,12 2. 2. .2 .0 0. 1. 2. 2. .4 .0 0. 1. 2 5 ! fct type ----------> interface # 2 (iy=15) # parms needed 3 ! doc 1 cos : C1: if(X.ge.p(1))Y=p(5)+p(4)*dcos(2.d0*piv*(X-p(2))/p(3)) enter p(i),i=1,5 -1 0. .2 .0 0.0 0 15 ! fct type ----------> interface # 3 (iy=51) # parms needed=3+4*nsegments 4 ! doc 0 piecewise linear : C1: for X in [p(1),p(2)] linear interpolations in p(3) segments each segment entered (consecutively in p as ) ...xleft,yleft,xright,yright... enter 3+4*npoints values . repeat values for left right matching -10 10. 3 -1. 0. 1. 0. 1. 0. 2. 0. 2. 0. 9. 0. 0 !end template