4. DATA INPUT

FRIC2D input files consists of five parts of data: constants, observation lines, boundary conditions, fracture conditions, and fault conditions.

Contents include:
 
4.1 Constants
 
4.1.1 Titles
 
4.1.2 Rock Properties
4.1.3 Symmetry
4.1.4 Gravitational Stresses
4.1.5 Number of Observation and Boundary Lines
4.1.6 Option Comands
4.1.7 End
4.2 Observation Lines
4.3 Boundary Conditions
4.4 Fracture Conditions
4.5 Fault Conditions
4.6 Example


4.1 Constants

FRIC2D 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 FRIC2D constant and value is its assigned value. A FRIC2D constant is either a parameter that controls program execution or a physical quantity with a value that is not a function of position. There must always be at least one space on either side of equal sign ( =) in order for FRIC2D to parse the input file correctly. The following is a list of the constants that the user should provide for running FRIC2D:

  1. titles;
  2. rock properties;
  3. symmetry;
  4. gravity stresses;
  5. number of observation lines;
  6. number of boundary lines;
  7. option commands.

4.1.1 Titles

There are two titles. Title1 is used to define the "Problem title", and title2 is used to specify the "Problem subtitle". They are text strings and need to be quoted. The default values of title1 and title2 are space " ".

   title1 = " Problem title (a string) " 
 

and

   title2 = " Problem sub-title (a string) " 
 

For example, titles for hydraulic fracturing stress measurement in San Francisco, USA can be given as follows:

   title1 = "Hydraulic fracturing stress measurement"
   title2 = "in San Francisco, California, USA" 
 

4.1.2 Rock Properties

Four material parameters of the rock mass should be provided. Young's modulus, e, should be given in MPa. Poisson's ratio, pr, is a dimensionless parameter. Fracture toughness for mode I loading, K1c, should be given in MPa sqrt(m). The tensile strength of the rock should be provided in MPa

e = Young's modulus, in MPa
pr = Poisson's ratio
K1c = Fracture toughness for mode I loading, in MPa sqrt(m)
tensileStrength = Tensile Strength MPa

For example, granite's properties are:

Young's modulus, e= 50000.0 MPa;
Poisson's ratio, pr= 0.2;
Fracture toughness for mode I loading, K1c= 2.5 MPa sqrt(m);
Tensile Strength = 20 MPa;

They can be given as follows:

     e = 50000.0 
     pr = 0.2 
     K1c = 2.5 
     tensileStrength= 20
 

4.1.3 Symmetry

If symmetry conditions exist for a given problem, the amount of input data for the problem can be reduced. ksym is a parameter that specifies the kind of symmetry to be used. Five kinds of symmetry are defined in FRIC2D:

ksym=1 means that no symmetric condition is to be imposed;
ksym=2 means that a line parallel to the y axis (x=xsym) is a line of symmetry;
ksym=3 means that a line parallel to the x axis (y=ysym) is a line of symmetry;
ksym=4 means that both the lines x=xsym and y=ysym are lines of symmetry;
ksym=5 means that the problem is anti-symmetric with respect to the point (xsym,ysym).

If symmetry is used, the line (or point) of symmetry must be included after the ksym condition. If no symmetry is used, ksym=1, some provisions should be made to prevent rigid body motion.

4.1.4 Lithospheric Stresses

The gravitational forces within the body will influence deformation of frictional fault elements. The frictional slip along faults depends on the overbuden pressure acting across faults. FRIC2D version 2.0 can accomodate a variety of gravitational stress fields including lithostatic or bilateral constraint. (See Section 2.4)

FRIC2D input files include a flag variable, gravity, which indicate whether gravitational stresses should be included, a kratio parameter for specifiying horizontal:vertical gravity stress and a rock density (kg/m^3), density).

gravity = apply gravitational stress? 0=no, 1=yes
kratio = horizontal:vertical gravitation stress
density = density of rock kg/m^3

For a sedimentary rock under bilateral constraint (with n=0.2) the variables can be specified as follows:

     gravity = 1 
	 kratio	= 0.25  
     density = 2600.0
 

4.1.5 Number of Observation and Boundary Lines

Observation points are specified points within the region of interest where displacement and stress are to be computed. The number of observation lines used to specify the observation points is called nolines in FRIC2D input files.

nolines = number of observation lines used to specify the observation points

The boundary for a problem is approximated by nblines straight line segments in FRIC2D input files.

nblines = number of boundary lines used to approximate the boundary

Fractures and faults are not considered to be boundaries.

4.1.6 Option Commands

There are several parameters to set the calculation and output options in FRIC2D:

nsteps is the number of steps in which the loading should be monotonically applied.
niters is the number of iterations that the user wishes to perform.
pdfiter determines when to print the computed data from the pdfiterth iteration.
bdata determines whether or not to print boundary data: no if bdata=0; yes if bdata=1.
fdata determines whether or not to print fracture data: no if fdata=0; yes if fdata=1.
faultData determines whether or not to print faultdata: no if faultData=0; yes if faultData=1.
odata determines whether or not to print observation line data: no if odata=0; yes if odata=1.
tolerance determines when frictional slip has converged (See section 2.6.2)

Since the frictional slip on the fault elements is inleastic the resulting deformation will depend on the loading path. To minimize this path dependency it is recommended that the loads on the boundaries of the problem be applied monotonically. As the number of loading steps, nsteps, increases the loading will more closely approximate a monotonically increasing load.

The iteration number, niters, governs the number of increments of fracture growth. (See Section 2.7.1) Similarly, pdfiters lists the iterations that should be printed in the output file. If the are 5 iterations of fracture growth, perhaps the only data of interest are the first and fifth; 1 and 5 can be listed here (separated by spaces)and then will be printed to the file.

4.1.7 End

The input of constants must be terminated by a new line, "end".


4.2 Observation Lines

FRIC2D is typically used to calculate the displacement vector components or stress tensor components at discrete points in an elastic body. An observation line defines a series of regularly-spaced observation points and instructs FRIC2D to calculate the components at these points. Observation lines are defined in the second part of FRIC2D input files. There is no limit to the number of observation lines that can be defined.

Since the displacements are discontinuous across fractures, and the strains and stresses are singular at fracture tips, you should avoid placing the observation points on a fracture or at a fracture tip. If an observation point is placed within one element length of a boundary element no output will be given for that point. The stresses and displacement within one element length of a boundary elements are unreliable since they capture the local singularity of the element tips rather than the stress field of the deformed body.

The position and orientation of an observation line is determined by the global coordinates of its two endpoints, (xbeg, ybeg) and (xend, yend). Equal-spaced points are distributed along the observation line and numpb is the number of such points between the two endpoints. Observation linedata should be input in following form:

     xbeg   ybeg   xend   yend   numpb 
 

For example, an observation line is determined by two points A and B and 10 observation points are distributed along it (see Figure 4.1). Then numpb= 8. The data for this observation line can be given as follows:

      *xbeg   ybeg   xend   yend   numpb
      -10.0   0.0    10.0    5.0     8 
 

The asterisk(*) at the front of the variable line indicates to FRIC2D that this is a comment line and doesn't contain input data. It is useful to leave these comment lines in the input file so that it is easier for users to read.


4.3 Boundary Conditions

In FRIC2D, the boundary of the problem is approximated by nblines straight line segments, joined end to end. Each straight line segment is divided into num boundary elements (see figure 4.2). The element locations are specified by giving the global coordinates of the beginning point, (xbeg, ybeg), and end point, (xend, yend), of the line, and the value of num. The computer program then numbers the boundary elements and computes their midpoint coordinates, lengths and orientations.

In FRIC2D, the boundary values of the problem which are defined by their normal and shear components, bvs and bvn, can be either tractions or displacements. They can be defined by a variable kode:

kode=1 means that shear traction, ts, and normal traction, tn, are prescribed;
kode=2 means that shear displacement, us, and normal displacement, un, are prescribed;
kode=3 means that shear displacement, us, and normal traction, tn, are prescribed;
kode=4 means that shear traction, ts, and normal displacement, un, are prescribed.

The units should be MPa for traction boundary conditions, and meter for displacement boundary conditions. There are two sets of bvs and bvn. One set corresponds to the static loading on the boundary. This is loading that is constant as other loads are monotonically applied (e.g. remote horizontal compression). The other set is of boundary conditions are those that are applied monotonically with nsteps number of steps. A line of boundary data should be input in following form:

                                         STATIC    MONOTONIC
     num  xbeg  ybeg  xend  yend  kode  bvs  bvn   bvs  bvn 
 

For example, a boundary line divided into 5 elements is acted on by fluid pressure of -10.0 MPa that we wish to increment (see Figure 4.3). For this example, the elements are positive when the line is traversed from Point B to point A. Since boundary shear and normal traction components are prescribed, kode should be 1. The static boundary conidtions are both zero since we want to increment the fluid pressure. The monotonic shear traction component bvs=0.0 MPa, and the monotonic normal traction component is equal to fluid pressure bvn=-10.0 MP. The boundary conditions for this line can given as follows:

     *                                    STATIC    MONOTONIC
     *num  xbeg  ybeg  xend  yend  kode  bvs  bvn   bvs   bvn 
      5    2.0   1.0   5.0   2.0   1    0.0   0.0   0.0   -10.0
 


4.4 Fracture Conditions

In FRIC2D input files, the last part contains fracture and fault conditions. It must come after the boundary line data. For fractures the first line of each fracture has the word "fracture" followed by the fracture name and two flags which state which tips are allowed to propagate. The second line describes the straight line segment. The input of fracture data in the second line is similar to the one for boundary conditions. Each fracture is divided into num elements.

The element locations are specified by giving the global coordinates of the beginning point, (xbeg, ybeg), and end point, (xend, yend), of the fracture, and the value of num. The computer program then numbers the elements and computes their midpoint coordinates, lengths and orientations. The boundary conditions on fractures can be defined by either tractions or displacements. The meaning of the parameter kode is the same as the one used in defining the boundary conditions.

Fracture data should be input in following form (two lines of data for each fracture):

     fracture  title  tip1_prop?  tip2_prop?   STATIC    MONOTONIC
     num   xbeg   ybeg   xend   yend   kode   bvs  bvn   bvs  bvn
 

For example, fracture f1 exists for a problem (see Figure 4.4). Fracture, f1, is acted on by fluid pressure of -8.0 MPa and is divided into 10 elements. We wish to increase the fluid pressure incrementally. Fracture f1 may propagate from either end. The boundary values for these two fractures can given as follows:

     *fracture  title  tip1_prop?  tip2_prop?   STATIC    MONOTONIC
     *num   xbeg   ybeg   xend   yend   kode   bvs  bvn   bvs  bvn
     fracture      f1      yes         yes 
     10     -2.0    3.0   3.0     3.0    1     0.0  0.0   0.0  -8.0
 

If the fracture is kinked then multiple segments can be prescribed for a single fracture by listing addition 'num xbeg ybeg xend yend kode bvs bvn' lines. For each new fracture there must be a blank line and then a new 'fracture title tip1_prop? tip2_prop?' line within the input file.


4.5 Fault Conditions

In FRIC2D, frictional interfaces (faults) are assigned in the same manner as fractures. The first line of each fault has the word "fault" followed by the fault's name and three flags which state if and where secondary opening-mode fractures are allowed to develop. The second line describes the first straight line segment.

The element locations are specified by giving the global coordinates of the beginning point, (xbeg, ybeg), and end point, (xend, yend), of the fault, and the value of num. The computer program then numbers the elements and computes their midpoint coordinates, lengths and orientations. The boundary conditions on faults are be defined by the elastic shear and normal stiffnesses, stiffS and stiffN, the interface cohesion, cohes, and the friction coefficient of the fault interface, friction.

Fault data should be input in following form (at least two lines of data for each fault):

     fault  name   grow_tails?  from_end1?   from_end2?   
     num   xbeg  ybeg  xend  yend  stiffS  stiffN  cohes  friction
 

For example, fault f1 exists for a problem (see Figure 4.4). The boundary values can given as follows:

     *fault  name   grow_tails?  from_end1?   from_end2?   
     *num   xbeg  ybeg  xend  yend  stiffS  stiffN  cohes  friction
     fault      1       yes          no        yes 
     10    -2.0   3.0   3.0   3.0    1e5    1e5      0.0     0.65
 

If the fault is kinked then multiple segments can be prescribed for a single fault by listing additional 'num xbeg ybeg xend yend stiffS stiffN cohes friction' lines. For each new fracture there must be a blank line and then a new 'fault name grow_tails? from_end1? from_end2' line within the input file.


4.6 Example

To illustrate the preparation of the input files for solving specific problems using FRIC2D, we consider the problem shown in Figure 4.4. There are horizontal two faults each with heterogeneous friction and a kinked joint with zero tractions. These faults and joint are subjected to vertical compression at the boundaries of the problem.

************************************************************************************** 
 

This is an input file for the program FRIC2D. It calculates the stresses and displacements in a body with two faults and one kinked crack.

Note: The boundary conditions in the input file below are not well-formulated, they do not limit lateral or vertical rigid body translation of the block. Consequently, the diaplacemetns reported in the output file (see chapter 5) are large.


*************************************************************************
*------------------------------------------------------------------------
* PROBLEM VARIABLES: This section lists the problem variables. The 
* variables may occur in any order. * Comments are allowed at the end 
* of each line. 
*------------------------------------------------------------------------
 
*Titles
title1	= "Splay crack growth along two faults;
title2	= "with a nearby kinked fracture;
 
*Rock Properties
pr	= 0.2		*(possion's ratio)
e	= 10000		*(young's modulus MPa)
k1c	= 2.5		*(mode I fracture toughness, MPa*m^1/2)
tensileStrength = 10	*(tensile strength of material)
 
*Symmetry
ksym = 1        *(symmetry: 1. none; (xsym, ysym) ignored) 
                *( 2. xsym is a line of symmetry) 
                *( 3. ysym is a line of symmetry) 
                *( 4. xsym & ysym are lines of symmetry) 
                *( 5. (xsym, ysym) is a point of antisymmetry) 
 
 
*Gravitational stresses
gravity = 0		*(apply gravity stress 0=no, 1=yes)
kratio  = 0.25       *(horizontal:vertical gravitation stress)
density = 2600.0	*(density of rock kg/m^3)
 
*Number of Observation Lines and Boundary Lines
nolines = 5		*(number of observation lines)
nblines	= 4		*(number of boundary lines)
 
*Options Commands
nsteps	= 2		*(number of loading steps)
niters	= 1		*(number of iterations)
pdfiter	= 1  		*(print data from iteration *s..)
bdata	= 0		*(print data along boundaries	0=no 1=yes)
fdata	= 1		*(print data along (new fractures	0=no 1=yes)
faultData = 1		*(print data along faults 0=no 1=yes)
odata	= 1		*(print observation line data	0=no 1=yes)
tolerance = 0.001
 
end	*(terminate list)
 
 
*------------------------------------------------------------------------ 
* OBSERVATION LINES: This section lists the data for observation lines. 
* It must come after the variable list. 
*------------------------------------------------------------------------ 
*xbeg	ybeg	xend	yend	numpb
-8	-15	 -8	15	7
-4	-15	 -4	15	7
-0	-15	  0	15	7
4	-15	  4	15	7
8	-15	  8	15	7
 
 
*-----------------------------------------------------------------------
* BOUNDARY LINES: This section lists the data for boundary lines. It 
* must come after * the observation * lines section. 
* The variable kode indicates what kind of boundary conditions are given. 
*      kode    bvs    bvn 
*       1    stress  stress 
*       2     disp    disp 
*       3     disp   stress 
*       4    stress   disp 
*------------------------------------------------------------------------ 
*						STATIC		MONOTONIC
*num	xbeg	ybeg	xend	yend	knode	bvs	bvn	bvs	bvn
*---	----	----	----	----	-----	---	---	---	---
10	-20.0	-20.0	-20.0	20.0	1	0 	0	0.0	0.0
10	-20.0	20.0	20.0	20.0	1	0 	-5 	0.0	0.0
10	20.0	20.0	20.0	-20.0	1	0 	0 	0.0	0.0
10	20.0	-20.0	-20.0	-20.0	1	0 	-5 	0.0	0.0
 
 
*----------------------
*Fault Conditions
*----------------------
*fault	name	grow_cracks?	from_end1?	from_end2?
*num	xbeg	ybeg	xend	yend	stiffS	stiffN	cohes	friction
*----	----	----	----	----	------	------	-----	--------
fault	first	no	no	no
5	-10	-10	0	-10	1e5	1e5	0.0	0.4
5	0	-10	10	-10	1e5	1e5	0.0	0.8
 
fault	second	yes	no	no
5	-10	10	0	10	1e5	1e5	0.0	0.8
5	0	10	10	10	1e5	1e5	0.0	0.4
 
*----------------------
*Fracture Conditions
*----------------------
*fracture	name		from_end1?	from_end2?
*						STATIC		MONOTONIC
*num	xbeg	ybeg	xend	yend	kode	bvs	bvn	bvs	bvn
*----	----	----	----	----	----	------	----	-----	--------
fracture	crack	yes	yes
10	-5	-5	0	0	1	0.0	0.0	0.0	0.0
5	0	0	0	5	1	0.0	0.0	0.0	0.0
 
 


Go to Chapter 1 , 2 , 3 , or 5