Viewfactor > Data File Specifications > 9.2 VFINDAT (Input Data File)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
9.2 VFINDAT (Input Data File)
This file contains the data describing the model for which viewfactors are to be calculated. It is identified by the $IN_FILE: keyword in the Viewfactor command file. Its default name is VFINDAT. This file is currently a sequential, formatted (ascii) file. We may optionally provide this file in sequential, unformatted (binary) form sometime in the future to better accommodate large models.
The file contains comments, keyword lines, and numeric data.
Comments are blank lines or lines where the first nonblank character is *. Comments may not immediately precede or be interspersed with numeric data. Comments may immediately precede any keyword line.
Keyword lines consist of a keyword which may be followed by data as described in more detail below. All keyword lines are required and must be in the order shown. The number of occurrences permitted for different keywords is described in more detail below. The valid keywords and order are:
$TITLE:
$SIZE:
$SYM:
$ENDSYM:
$NODES:
$ENDNODES:
$ENCL:
$ENDENCL:
$EOF:
Leading blanks may precede comments and keywords. Comments and keyword lines are read by a FORTRAN '(A)' format into a buffer 132 characters long. Thus, comments and keyword lines (including leading blanks) should not exceed 132 characters.
Numeric data is associated with keywords and may occur on the keyword line or on line(s) immediately following the keyword line. Note that comments are not permitted immediately preceding or interspersed with numeric data. Numeric data is in a fixed format which will be described in detail (see Examples, 133).
Examples
Here are two examples of model input files:
Example 1
 
Example 2
 
Detailed Descriptions
$TITLE
The first noncomment line must be:
$TITLE: title
Multiple $TITLE: lines are allowed, but they must all occur before the $SIZE: line. Comments between multiple $TITLE: lines are allowed.
$SIZE
The $SIZE: card must be the next noncomment line. One and only one $SIZE: line is allowed. The format is:
Parameter
Description
DimCode
Code identifying geometric space of the model,
-2 = Axisymmetric RZ,
2 = 2-D XY,
3 = 3-D XYZ;
#Node
Number of nodes in this model (before symmetry operations);
#Encl
Number of enclosures in this model (before symmetry operations);
MaxNod#
Maximum node ID referenced in the model (before symmetry operations).
$SYM and $ENDSYM
The $SYM: card must be the next noncomment line. The format is:
Parameter
Description
#SymObj
Number of symmetry objects defining symmetry operations for this model. The present maximum allowed value is 4.
Immediately following and with no interspersed comments is the symmetry object numeric data, which is read by:
READ( LU,'( 3 (E20.10) )',IOSTAT = IOS, END = 1, ERR = 1 ),
$ ( ( ( SYMOBJ( K, J, I ), K = 1, 3 ), J = 1, 5 ), I = 1, #SymObj
The contents of SYMOBJ( 1:3, 1:5, I ) are:
This is repeated #SymObj times.
 
The symmetry operations are performed in order of increasing index I.
Depending on the value of Type, the data for each symmetry object has different meanings.
 
For IFIX( Type ) = 1 this is a reflection in 2-D XY or RZ space about a line. The line is defined by two distinct points, (X1,Y1) and (X2,Y2), on the line All other subarray elements should be set to 0.0.
For IFIX( Type ) = 2 this is a reflection in 3-D XYZ space about a plane defined by three distinct points, (X1,Y1,Z1), (X2,Y2,Z2), and (X3,Y3,Z3), all on the plane and not colinear. All other subarray elements should be set to 0.0.
 
For IFIX( Type ) = 3, this is a rotation about an axis and is valid in 2-D XY and 3-D XYZ spaces. The positive axis of rotation by the right-hand rule is the vector from (X1,Y1,Z1) to (X2,Y2,Z2) and should have nonzero length. For 2-D XY space, this axis must be perpendicular to the XY-plane. The model will be replicated #Rot times by successively rotating #Rot times the model existing before any of these rotations (but including that created by previous symmetry operations) Rot_Angle degrees about the axis of rotation. All other subarray elements should be set to 0.0.
All other values of IFIX(Type) result in a fatal error in P/VF. Only certain combinations of symmetry object types are valid. The valid combinations depend on the model space, as identified by DimCode. In general, symmetry object validity is not checked by P/VF.
For 2-D RZ space (DimCode = -2), the only valid symmetry object is Type = 1 (line) and this line must be perpendicular to the Z-axis. Only one such symmetry object is permitted in 2-D RZ space.
For 2-D XY space (DimCode = 2), only types 1 (line) and 3 (rotation) are valid. Not more than one type 3 object is permitted. Not more than two type 1 objects are permitted. Type 1 objects should be in the XY-plane. Type 3 objects should be perpendicular to the XY-plane. If there are two type 1 objects, they should be mutually perpendicular.
For 3-D XYZ space (DimCode = 3), only symmetry object types 2 (plane) and 3 (rotation) are valid. Not more than one type 3 object is permitted. Not more than three type 2 objects are permitted. Two or more type 2 objects must be mutually perpendicular.
Comments may follow the symmetry object data, but may not occur between the $SYM: keyword line and the end of the symmetry object numeric data.
The next required keyword line is $ENDSYM:. This line contains no other data. If there are no symmetry objects, the $SymObj is zero and the required data is:
$SYM: 0
$ENDSYM:
 
$NODES and $ENDNODES
Next comes the node data. The required keyword is $NODES: with no other data on this line. Immediately following, with no interspersed comments is #Node (from the $SIZE: data line) lines of node data in I10, 3(E20.10) format as:
NodeID
x-coordinate
y-coordinate
z-coordinate
for 3-D XYZ and 2-D XY, or as:
NodeID
r-coordinate
z-coordinate
dummy
for 2-D RZ.
Unused coordinate fields should be set to 0.0. A fatal error will occur if #Node and the number of data lines do not match.
Comments may follow the data.
The next keyword line after the node numeric data is $ENDNODES:, with no other data on the line. One and only one occurrence of $NODES: and $ENDNODES: is allowed.
The next keyword line is:
$ENCL:
Enc1ID
#Surf
 
with format blanks, A10, 2I10.
Parameter
Description
EnclID
The ID number of this enclosure.
#Surf
Number of surfaces in this enclosure.
Immediately following, and with no interspersed comments, is the surface data for the #Surf surfaces. A fatal error will occur if the #Surf and the number of surface data do not match. The format and meaning of the surface data is:
( 7 ( I10 ) ), ( SurAtt( J ), J = 1, MaxAtt )
Parameter
Description
MaxAtt
Maximum number of surface attributes supported = 14;
SurAtt
Array of surface attributes whose elements are:
( 1 ) = Surface ID number,
( 2 ) = Surface configuration (6=RZ bar, 7=XY bar, 13=3-D tri, 16=3-D quad),
( 3 ) = Surface order (1=linear),
( 4 ) = Number of real data values associated with this surface,
( 5 ) = Number of nodes associated with this surface,
( 6 ) = ID number of the element for which this surface is a face,
( 7 ) = ID number of the element face this surface represents,
( 8 ) = Participating media node number for this surface,
( 9 ) = Ambient radiation node number for this surface,
 
( 10 ) = User ID (UID in Patran Thermal) for material properties,
( 11 ) = Obstruction flag (0=this surface will be checked for obstructing the view between other surface pairs, not 0= this surface will not be checked for obstructing the view between other surface pairs.
( 12 ) = Convex Surface ID (surfaces with identical nonzero values here cannot see each other due to being on the same convex surface,
( 13 ) = Dynamic Flag, Not currently used,
( 14 ) = Patran Set ID,
followed by
( 4 ( E20.10 ) ), ( SurDat( J ) , J = 1, SurAtt( 4 ) )
SurDat
Real data associated with the surface (presently none is required);
followed by
( 8 ( I10 ) ), ( SurNod( J ), J = 1, SurAtt( 5 ) )
SurNod
List of node IDs associated with the surface and in the order specified for the corresponding Patran elements.
This pattern is repeated for each surface in the enclosure. Comments may follow the last line of the last surface data.
The next keyword line is $ENDENCL: with no data.
The pattern:
is repeated for any additional enclosures. The number of enclosure data sets should equal the #Encl data from the $SIZE: line. This is not a fatal error here since discrepancies will not be detected until the enclosures have been processed (viewfactors calculated). A warning message will be issued and attempts to create resistors for the viewfactor data may have undesirable results.
$EOF
The last keyword line is $EOF: with no data. Comments may follow the $EOF: line.