Poly3d Input File Format Frantz Maerten, www.igeoss.com Version 1.0 2005, May 9th Contents 1 Conventions 2 1.1 Global coordinate system: global....................... 2 1.2 Element coordinate system: elocal...................... 2 1.3 Element Boundary conditions......................... 2 1.4 User coordinate system............................. 3 1.5 Units....................................... 3 1.6 Comments.................................... 3 1.7 Line continuation................................ 4 1.8 Half-space surface................................ 4 2 Poly3D input file 5 2.1 Section Constants............................... 5 2.2 Section User Coordinate Systems...................... 9 2.3 Section Regular Observation Grids..................... 10 2.4 Section Vertices/Objects/Elements..................... 11 3 Examples 13 3.1 One crack.................................... 13 3.2 Two cracks................................... 14 1
1 Conventions 1.1 Global coordinate system: global On startup, Poly3D pre-defines a global, right-handed coordinate system (x g, y g, z g ) in which x g points East, y g points North, and z g points up. For half-space problems, the origin is located at the earth s surface. The Poly3D name for default global coordinates is global. 1.2 Element coordinate system: elocal All polygonal elements in Poly3D belong to an object. An object is simply a collection of elements that represents a particular physical feature, such as a fault, that you are attempting to model. An object may contain just one element, or it may contain many. In Poly3D a polygonal element is defined by first defining a series of vertices and then specifying the order in which they are connected to produce the element. All of the vertices must lie in the same plane. Although an element itself has zero thickness, displacements are discontinuous when passing through the element from one side to the other. The vector which describes the displacement discontinuity from one side of the element to the other is called the Burgers vector. Obviously, the direction of the Burgers vector obtained depends on which side of the element is taken as the reference. The Burgers vector, b, measures the displacement of the positive (+) side of the element relative to it s negative (-) side. Whenever a new element is defined, Poly3D links to it a local coordinate system (x e, y e, z e ). You may use this coordinate system to specify boundary conditions on the element and to display element information. The element coordinates are defined as follows: Each element has linked to it an element coordinate system (x e, y e, z e ) with origin at the element center. Relative to the horizontal x e y e plane, x e points down-dip. z e is identical to element normal, n. y e points along strike in the direction given by the vector cross product z e x e. For horizontal elements, x e and y e point East and North if z e points up or West, and South if z e points down. The Poly3D name for element coordinates is elocal. 1.3 Element Boundary conditions The exact boundary conditions on a polygonal element, e, are given by the components of the uniform displacement discontinuity as measured by the Burgers vector (b e x, b e y, b e z). Approximate boundary conditions may be given by the components of traction (t e x, t e y, t e z) acting at the center of the element surface. Mixed boundary conditions (e.g. (t e x, t e y, b e z)) are also allowed. Because the tractions acting on an element surface to produce a uniform displacement discontinuity are non-uniform, particularly near its edges, stress components are evaluated at the element center (centroid) and used to define the approximate traction boundary condition. Experience with dislocation modeling in two- and three-dimensions 2
(Crouch and Starfield, 1983; Jeyakumaran et al., 1992) has demonstrated that the errors introduced by evaluating tractions in this manner typically are small, especially when many elements are used to model a fracture, fault, or void. In order to calculate displacements, strains, and stresses in the elastic body, Poly3D must know the complete Burgers vector, b, for each polygonal element. When only displacement discontinuity boundary conditions are given for each element, Poly3D can calculate the elastic fields directly by superposition. However, whenever a traction boundary condition t e i is specified, Poly3D must first determine the corresponding (unknown) Burgers vector component, b e i. Each traction boundary condition leads to one equation giving the traction, t e i, at the center of element e induced by the remote stress plus the displacement discontinuities (b x, b y, b z ) on all elements and one unknown, b e i. If the total number of traction boundary conditions specified on all polygonal elements is N, Poly3D must solve a system of N linear equations for the N unknown Burgers vector components. Displacement, strains, and stresses at any point in the elastic body are then calculated by superposition. 1.4 User coordinate system Global and element coordinates are defined automatically by Poly3D. In many cases, it will be convenient to define additional right-handed coordinate systems of your own. These user coordinate systems (x u, y u, z u ) may have any origin and orientation you choose. 1.5 Units Poly3D assumes dimensionally consistent units for physical quantities with dimensions of length or stress. Thus if you use kilometers for any quantity with dimensions of length (e.g. a coordinate position), you must use kilometers for all quantities with dimensions of length (e.g. displacement discontinuity). Likewise, if you use MPa for any quantity with dimensions of stress (e.g. a traction boundary condition), you must use MPa for all quantities with dimensions of stress (e.g. Young s modulus). Since stress implicitly includes length units these units must also be dimensionally consistent (e.g. Pa and m, KPa and Km). Strain is a dimensionless quantity. It should be specified in units of strain (not micro-strains, etc.) Angles should be specified in degrees. 1.6 Comments Comments may be inserted anywhere in the input file using the comment character, *. 3
1.7 Line continuation Some lines in Poly3D input files require a large number of columns to specify the required data. Computer or terminal screens with fixed 80-character widths may be unable to display long input lines without wrapping part of the text back to the lefthand margin. Because files with wrapped text are often difficult to read, Poly3D provides a line continuation character, \. 1.8 Half-space surface The earth s surface can be treated as a traction-free boundary (σ 33 = σ 31 = σ 32 = 0). This free surface boundary condition affects the distribution of stresses, strains, and displacements in the upper crust. Free surface effects are included in all Poly3D calculations unless the constant, half space, is set to "no". There are two reasons why you may want to do this: 1. You are solving a whole-space problem in solid mechanics unrelated to the earth sciences. 2. The geologic structures you are modeling and observation grids you define are buried very deeply relative to their length scale. Because fewer calculations are required, setting half space to no may noticeably reduce the run-time required to complete Poly3D problems. Of course, increased execution speed is not a valid reason for ignoring half-space effects. 4
2 Poly3D input file Poly3D input files are divided into four main sections, each terminated by an end statement. Sections have to be declared in the following order: 1. Constants 2. User coordinate systems 3. Observation Grids 4. Vertices/Objects/Elements 2.1 Section Constants Poly3D input files begin with a series of 3-word assignment statements. Each assignment statement has the form name = value where name is the name of a Poly3D constant and value is its assigned value. If the value is omitted, as in name = the default or previously assigned value of the constant is unchanged. A Poly3D constant is either (i) a parameter that controls program execution or (ii) a physical quantity who s value is not a function of position. The folowing tables enumerate the defined constants, their default values, units and comments: 5
Name Default Units Description title1 N/A Problem title (string) title2 N/A Problem subtitle (string) Table 1: Problem Titles Name Default Units Description half space yes N/A Include Half-Space effect null value -999.0 N/A Null value to use for observation points directly below a vertex check cond number yes N/A Check matrix condition number? print elt geom yes N/A Print element geometries? elt geom csys global N/A Name of coord system to use when printing element geometry Table 2: Options Name Default Units Description shear mod (none) stress units Shear modulus psn ratio (none) dimensionless Poisson s ratio youngs mod (none) stress units Young s modulus bulk mod (none) stress units Bulk modulus lame lambda (none) dimensionless Lame s Lambda Table 3: Eslatic Constants. You must specify two and only two. 6
Name Default Units Description rem bc type stress N/A Remote BC type (stress or strain) s11r 0.0 stress/strain units σ 11 or ɛ 11 s22r 0.0 stress/strain units σ 22 or ɛ 22 s33r* 0.0 stress/strain units σ 33 or ɛ 33 s12r 0.0 stress/strain units σ 12 or ɛ 12 s13r* 0.0 stress/strain units σ 13 or ɛ 13 s23r* 0.0 stress/strain units σ 23 or ɛ 23 Table 4: Remote Boundary Conditions (Global coordinates). * these components must be zero for half-space problem) The format of this section is defined as follow: * Section 1: CONSTANTS * * =================== * Titles of the model * =================== title1 = title2 = * ==================================== * Elastic constants (define only two!) * ==================================== shear_mod = psn_ratio = youngs_mod = bulk_mod = lame_lambda = * ================= * Remote definition * ================= rem_bc_type = stress/strain s11r = 0 s22r = 0 s33r = 0 s12r = 0 s13r = 0 s23r = 0 * ======= * Options * ======= 7
half_space = yes check_cond_num = yes print_elt_geom = yes elt_geom_csys = global null_value = -999 end * (of the section 1: Constants) 8
2.2 Section User Coordinate Systems You can create user coordinate-systems within previously defined parent coordinate systems. Parameters are: 1. the name of the new coordinate system, 2. name of its parent, 3. its location in its parent, 4. the orientation of its axis determined by three angles, one about each axis of the parent, 5. the order in which the rotations are to be applied (123, 321, 132, 312, etc.) The format of this section is defined as follow: * Section 2: USER COORDINATE SYSTEMS * name parentcsys x y z rotx roty rotz rotorder end * (of the section 2: User Coordinate Systems) 9
2.3 Section Regular Observation Grids You can define as many observation grids as you want. The definition is composed of 15 parameters maximum. These parameters are: 1. the name of the observation grid, 2. its dimension (0, 1, 2 or 3), 3. the output parameters to compute (combination of d, e, s, pe and ps), 4. the coordinate system in which the grid is located, 5. the coordinate system used to print observation point positions, 6. the coordinate system used to print the calculated displacements, strains and stresses, 7. the first point location defining the observation grid, 8. the second point defining the observation grid, the number of points along each axis. For 0D observation, you only specify: name dim out obscsys outptscsys outparamcsys x1 y1 z1 For 1D observation grid, you only specify: name dim out obscsys outptscsys outparamcsys x1 y1 z1 x2 y2 z2 n For 2D and 3D observation grid, you must specify all parameters. Note that for 2D observation grid, one of nx, ny and nz must be set to 1. name dim out obscsys outptscsys outparamcsys x1 y1 z1 x2 y2 z2 nx ny nz Output parameter (out) is a concatenation of the following strings: 1. d displcacement vector 2. e strain tensor 3. s stress tensor 4. pe principal strain tensor 5. ps principal stress tensor The format of this section is defined as follow: * Section 3: OBSERVATION GRIDS * name dim out obscsys outptscsys outparamcsys x1 y1 z1 x2 y2 z2 nx ny nz end * (of the section 3: Regular Observation Grids) 10
2.4 Section Vertices/Objects/Elements In this last section, you specify the object definition. For a given object, vertices must be described first, then the object (one line), and then the elements. If you have more than one object, you repeat this sequence. Vertex definition starts whith the v letter, object definition starts with the o letter and elements starts with the e letter. 1. Vertices parameters are: (a) the v letter, (b) the name of the vertex, (c) its parent coordinate system where it is defined, (d) its position within its parent coordinate system. v name parentcsys x y z 2. Object parameters are: (a) the o letter, (b) its name, (c) the parameters to compute (combinaison of b for Burgers s vector, and t for tractions), (d) the output coordinate system. o name ouputs outcsys 3. Element parameters are: (a) the e letter, (b) its dimension (number of vertices making the element, must be at least 3), (c) the boundary condition coordinate system, (d) the boundary condition type (combination of letters t for traction and b for Burgers s vector), (e) the boundary condition values for the 3 axis of the element, (f) the name of the vertices making this element. e dim BcCsys BcType bcx bcy bcz v1 v2 v3 The format of this section is defined as follow: * SECTION 4: POINTS/OBJECTS/ELEMENTS/VERTICES * *----------------------------------------------------------- 11
* VERTICES *----------------------------------------------------------- v name parentcsys x y z *----------------------------------------------------------- * OBJECT *----------------------------------------------------------- o name outputs outcsys *----------------------------------------------------------- * ELEMENTS * prefix: e * definition: nbrvert(3) BCcsys BCtype BC1 BC2 BC3 v1 v2 v3 *----------------------------------------------------------- e dim BcCsys BcType bcx bcy bcz v1 v2 v3 end * (of the section 4: Vertices/Objects/Elements) Defining more than one object results in the following declaration: * SECTION 4: POINTS/OBJECTS/ELEMENTS/VERTICES * * Define the first object * ----------------------- v v1 global 0. 0. 0.... o "f1" d global e 3 elocal ttb 0. 0. 0. v1 v2 v3... * Define the second object * ----------------------- v w1 global 0. 0. 0.... o "f2" e 3 elocal ttb 0. 0. 0. w1 w2 w3... end * (of the section 4: Vertices/Objects/Elements) 12
3 Examples 3.1 One crack Defines a crack f made of one triangular element defined in a user coordinate system named csys1, subject to an extensional remote stress along East/West in a whole-space. Element is free to slip, and cannot open or close. Defines four observation grids, one for each dimension (0D, 1D, 2D and 3D). * Section 1: CONSTANTS * title1 = title2 = shear_mod = psn_ratio = 0.25 youngs_mod = 1.e3 bulk_mod = lame_lambda = rem_bc_type = stress s11r = 1. s22r = s33r = s12r = s13r = s23r = half_space = no check_cond_num = no print_elt_geom = no elt_geom_csys = global null_value = -999. end * terminate the section * Section 2: USER COORDINATE SYSTEMS * csys1 global 10. 10. 0. 0. 45. 0. 123 13
end * terminate the section * Section 3: OBSERVATION GRIDS * obs 0 pe global global global -5. -5. 0. obs 1 dps global global global -5. -5. 0. 5. 5. 0. 10 obs 2 de global global global -5. -5. 0. 5. 5. 0. 10 10 1 obs 3 epe global global global -5. -5. 0. 5. 5. -10. 10 5 7 end * terminate the section * Section 4: POINTS/OBJECTS/ELEMENTS/VERTICES * v 0 csys1 0. 0. 0. v 1 csys1 1. 0. 0. v 2 csys1 0.5 1. 0. o "f" bt global e 3 elocal ttb 0. 0. 0. 0 1 2 end * terminate the section 3.2 Two cracks * Section 1: CONSTANTS * title1 = title2 = shear_mod = psn_ratio = 0.25 youngs_mod = 1.e3 bulk_mod = lame_lambda = rem_bc_type = stress s11r = 1. s22r = s33r = s12r = s13r = s23r = 14
half_space = no check_cond_num = no print_elt_geom = no elt_geom_csys = global null_value = -999. end * terminate the section * Section 2: USER COORDINATE SYSTEMS * csys1 global 10. 10. 0. 0. 45. 0. 123 end * terminate the section * Section 3: OBSERVATION GRIDS * obs 0 pe global global global -5. -5. 0. obs 1 dps global global global -5. -5. 0. 5. 5. 0. 10 obs 2 de global global global -5. -5. 0. 5. 5. 0. 10 10 1 obs 3 epe global global global -5. -5. 0. 5. 5. -10. 10 5 7 end * terminate the section * Section 4: POINTS/OBJECTS/ELEMENTS/VERTICES * v 0 csys1 0. 0. 0. v 1 csys1 1. 0. 0. v 2 csys1 0.5 1. 0. o "f1" bt global e 3 elocal ttb 0. 0. 0. 0 1 2 v 3 global 0. 0. 0. v 4 global 1. 0. 0. v 5 global 0.5 1. 0. o "f2" bt global e 3 elocal ttb 0. 0. 0. 3 4 5 15
end * terminate the section 16