
General Remarks#:The blocking file describes a multi-block decomposition of a CAD part. Although the blocking is multiblock the format of the blocking file is essentially an unstructured hexa mesh with several hex elements grouped together to form larger blocks. The main topological entities stored are vertices and hexahedra. No edges or faces are required for a valid definition although they may be present to indicate the association of edges and faces to CAD geometry. MATERIALS For each surface in the tetin file (CAD part) this is a record of the name of the surface and the parameters driving the mesh size. FAMILIES For each family just its name . The projection flag is 1 if the mesh associated to this family should be projected to the surfaces in the family. 0 if they should remain unprojected. The ordering of the families defines a family ident running from 0. This ident is used in many places in the blocking file. SHARED_WALLS An entry here indicates that the faces between volume_family1 and volume_family2 should be projected to surface_family. If surface_family is "ORFN" the faces should not be projected. PREPOINTS number_of_points ident should match the ident given in the NODES section. COMPOSITE_CURVES number_of_curves ident should match the ident given in the NODES section and the EDGE_CURVES section. BOUNDARY_FAMILY 0 0 0 0 0 0 Pretty much not used. DIMENSION geometry geometry_dimension mesh mesh_dimension third third_dimension For a volume mesh geometry_dimension is 3 and mesh_dimension is 3 third_dimension is 2. For a 2-D mesh geometry_dimension is 2 and mesh_dimension is 2 and third_dimension is 2. For a surface mesh in 3-D: geometry_dimension is 3 and mesh_dimension is 2 and third_dimension is explaned here. Each element GRID coordinate direction number_of_stations NODES The node numbers should be >= 0 and unique. They do not need to be consecutive or in any order. x is a placeholder for a no longer used value. Boundary mask is no longer used and may be left as 0. Dimension 0 indicates association to a prescribed point (ident is the same as ident in the PREPOINTS section). Dimension 1 indicates association to a curve (ident is the same as ident in the COMPOSITE_CURVES section). Dimension 2 indicates association to a surface family (ident is same as the ident in the FAMILIES section). EDGE_CURVES no_interpolate node_nums An edge curve is a piecewise linear ( or smooth spline is the s option is present) curve along an edge of the blocking. The number of lines between { and } per curve is n_intermediate_points + 1. The first line does not have x y z coordinates since there is 1 more interval than intermediate point. In the blocking internally the edge corresponds to 1 or more edges of hexahedra. The number of intermediate points is unrelated to the number of nodes in the blocking corresponding to the edge. The first two nodes define a unique edge. (The edge is also defined by the two nodes on the other side, which are the same nodes if the edge only has 2 nodes). Edges start out as a straight line between their endpoints and don't show up in the EDGE_CURVES section. So the EDGE_CURVE section can easily be empty. If the user splits and edge or projects it to a curve then an entry is made. If the edge is projected to a curve then the number of intermediate points is zero and one line shows up describing the projection of the one interval. The segment dimension would be 1 and the segment_ident would be the ident of a curve from the curve section. If the curve has been split, the number of intermediate points is > 0 and the number of lines is > 1 and the coordinates of the intermediate points are given. If the edge curve has been linked to another edge this is given by link1 and link2. Factor is the factor which multiplies the shape of the source edge. GRID_ELEMENTS marked - a bit indicating if the hexa has been marked for some kind of operation, like making an o-grid. Starting with version 4.3 bit 0 of marked is whether or not the element is marked. output_block_number - an integer identifying the output block to which the hexa belongs. If each hexa had its own output block number each subface would be a complete face. More interesting blockings can be made by merging two blocks together. This is done simply by assigning them the same output_block_number. material_id - the number of the family for the hexa. All hexas in a block or output block should have the same material. n1 ... n8 the number of the nodes of the hexa. The nodes are given in array order. ni and nj are connected by an edge if i and j differ by 1 bit. block_number - the same idea as output_block_number but the user can switch between the two and see two different groupings of the same mesh. equivalence_class(1 2 3) - the three equivalence classes for the hexa. class one is for edges 0-1 2-3 4-5 6-7 face1_projection face2_projection ... - Optional fields, Either there are six of them or none. 0 indicates that the projection should be determined be the materials of the neighboring hexas. If they are different the face goes to the closes surface. If they are the same the face is unprojected. -1 indices project to any surface (even if the materials are the same on both sides) and display/output shell elements. -2 means do not project (even if the materials differ) and do not display/output shell elements. -3 means do not project but do display/output shell elements. If the dimension in the hexa runs from 0 to 2 the the number of a face is 2*dim + hi , where hi = 0 for the low face and 1 for the hi face. dimension_i_refinement - If there is refinement in this block this is it. Either there are 3 fields or none. For refinement > 1 an integer is given. If the refinement is < 1 the value is printed as 1/n . DEFAULT_BUNCHING_LAW law_name Law name is one of: EDGE_RATIOS |