6 automatic rezoning - missouri s&tweb.mst.edu/~norbert/ge5471/assignments/assign 1 - flac...

24
AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING 6.1 Introduction When FLAC is run in large strain mode, the grid may become distorted to such an extent that the simulation halts with a “bad geometry” error message. The objective of automatic rezoning logic is to map the existing stresses, velocities and displacements onto a new, more regular, grid, so that the run can continue. Because interpolation is used in the re-mapping, some smearing and accuracy- loss is inevitable. In order to minimize these effects, the stresses are re-mapped for each subzone separately: thus, the overlap of a new subzone with each of the old subzones is performed in order to obtain a properly weighted estimate of the stress tensor in the new subzone. A progressively wider local search of possible overlaps is performed, in order to minimize search time and ensure that it is a linear process (time proportional to the number of zones). 6.2 Main Features In designing the automatic-rezoning logic, it is recognized that any FLAC model always uses some type of grid generator devised by the user. This may be as simple as a series of commands (e.g., GENERATE and INITIAL commands), or may be as complicated as a multi-line FISH function that produces a grid to conform to desired boundary shapes. Thus, the logic repeatedly invokes the user’s grid generator within the rezone logic. When a REZONE command is issued, the following actions occur: 1. The model state is saved in a temporary area of memory. Specifically, subzone stresses, gridpoint velocities and displacements, material properties, fluid properties and pore pressure (if CONFIG gwflow is specified), temperature and thermal properties (if CONFIG thermal is specified) are saved. In addition, various conditions, such as fix flags, are saved. 2. A user-defined FISH function is called (from within the rezone logic). It is the task of this function to create a new grid. Even if the “grid generator” is a simple set of commands, these commands are embedded in the FISH function. (For technical reasons, a special form of embedding commands in a FISH function must be used; this is described below.) The form of the new grid is unrestricted, but normally it will be a version of the original grid that conforms to the new boundary geometry. 3. Stresses, velocities and displacements are mapped from the old grid to the new grid. In the rezoning logic, zone variables such as stress components are mapped, based on area overlapping fractions. For example, in the illustrative case shown in Figure 6.1, dash lines represent the new mesh, and solid lines define the old mesh. For the zone indicated by dash lines, its zone variables (e.g., stress components) are derived from the overlapping zones using area fractions (i.e., A1-A6) as the weighting factors. For nodal variables, such as velocity and displacement at a gridpoint in the new mesh, values are interpolated from the triangular subzone within which the gridpoint is located. The weighting factors are determined by the distance to each of the gridpoints of the host FLAC Version 6.0

Upload: hoangquynh

Post on 10-Jun-2018

246 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 1

6 AUTOMATIC REZONING

6.1 Introduction

When FLAC is run in large strain mode, the grid may become distorted to such an extent that thesimulation halts with a “bad geometry” error message. The objective of automatic rezoning logic isto map the existing stresses, velocities and displacements onto a new, more regular, grid, so that therun can continue. Because interpolation is used in the re-mapping, some smearing and accuracy-loss is inevitable. In order to minimize these effects, the stresses are re-mapped for each subzoneseparately: thus, the overlap of a new subzone with each of the old subzones is performed in orderto obtain a properly weighted estimate of the stress tensor in the new subzone. A progressivelywider local search of possible overlaps is performed, in order to minimize search time and ensurethat it is a linear process (time proportional to the number of zones).

6.2 Main Features

In designing the automatic-rezoning logic, it is recognized that any FLAC model always uses sometype of grid generator devised by the user. This may be as simple as a series of commands (e.g.,GENERATE and INITIAL commands), or may be as complicated as a multi-line FISH function thatproduces a grid to conform to desired boundary shapes. Thus, the logic repeatedly invokes theuser’s grid generator within the rezone logic. When a REZONE command is issued, the followingactions occur:

1. The model state is saved in a temporary area of memory. Specifically, subzone stresses,gridpoint velocities and displacements, material properties, fluid properties and porepressure (if CONFIG gwflow is specified), temperature and thermal properties (if CONFIGthermal is specified) are saved. In addition, various conditions, such as fix flags, aresaved.

2. A user-defined FISH function is called (from within the rezone logic). It is the task of thisfunction to create a new grid. Even if the “grid generator” is a simple set of commands,these commands are embedded in the FISH function. (For technical reasons, a specialform of embedding commands in a FISH function must be used; this is described below.)The form of the new grid is unrestricted, but normally it will be a version of the originalgrid that conforms to the new boundary geometry.

3. Stresses, velocities and displacements are mapped from the old grid to the new grid.In the rezoning logic, zone variables such as stress components are mapped, based onarea overlapping fractions. For example, in the illustrative case shown in Figure 6.1,dash lines represent the new mesh, and solid lines define the old mesh. For the zoneindicated by dash lines, its zone variables (e.g., stress components) are derived fromthe overlapping zones using area fractions (i.e., A1-A6) as the weighting factors. Fornodal variables, such as velocity and displacement at a gridpoint in the new mesh, valuesare interpolated from the triangular subzone within which the gridpoint is located. Theweighting factors are determined by the distance to each of the gridpoints of the host

FLAC Version 6.0

Page 2: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 2 Theory and Background

subzone, as demonstrated in Figure 6.2. Such an interpolation scheme satisfies forceand moment equilibrium. A detailed description of gridpoint weighting can be found inSection 1.4.1.2 in Structural Elements.

Figure 6.1 Zone variable mapping

Figure 6.2 Gridpoint variable mapping

4. Advection of properties and state variables (e.g., plastic strains) is performed. Materialproperties are mapped as zone variables. This mapping is similar to that for stresscomponents, except that stress components are re-mapped using subzone overlappingfractions, while material properties are re-mapped using full zone overlapping fractions.

FLAC Version 6.0

Page 3: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 3

For integer-type properties, such as table number and plasticity indicator, a majority ruleis adopted to determine the value for the new zone.

5. Histories used in rezoning are coordinate-based. Absolute locations (in x-y space) ofgridpoint/zone histories are now stored and their indices in i-j space updated accordingto their absolute locations during the rezoning operation.

6. For dynamic simulations, the subzone masses are recalculated from the updated density.Simple tests show that momentum is conserved reasonably well.

Normally a series of alternating STEP and REZONE commands will be issued (e.g., from a loopwithin a controlling FISH function). The rezoning logic can also be invoked automatically when a“bad geometry” error occurs by using the SET rez func command.

At present, the rezone logic is not general: it does not recognize all features offered in FLAC. Supportof such features will be added gradually over time. In particular, the logic excludes axisymmetry,interfaces, attach, multistepping and FISH models. Further, only one material model can be usedin a rezoning run at present.

FLAC Version 6.0

Page 4: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 4 Theory and Background

6.3 Input Instructions for Automatic Rezoning

6.3.1 FLAC Commands

The following commands are provided to perform automatic rezoning during a FLAC run:

REZONE <keyword value> . . .

This command given without arguments invokes rezoning. The following keywordsmay also be given to set rezoning characteristics:

set keyword

history

Location-based history advection is activated.

method name

The “grid generator” FISH function to be called within a rezoneepisode is specified. A function of the given name must exist.

separate

By default, each subzone receives weighted stresses from all old sub-zones that it overlaps. This results in some sharing (and smearing) ofstress components between overlays (which are normally kept sepa-rate). This command forces subzones of a particular overlay to receivenew stresses only from the same overlay in the old grid.

smooth from i1,j1 to i2, j2

A surface range that will be subjected to a smoothing process is spec-ified. The smoothing process consists of setting the coordinate ofeach surface gridpoint to the average of the three local gridpoints (thetarget gridpoint and its left and right neighbors).

surface from i1,j1 to i2, j2 table n <seq ns>

A surface range is specified. The table keyword specifies a tablenumber to which the list of surface coordinates is written. This tablemay then be used by the user-defined FISH function to constrain theboundary of the new grid. If more than one surface is involved in therezoning operation, the optional keyword seq is required to specifythe sequence number (from 1 to 20) for each surface.

FLAC Version 6.0

Page 5: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 5

SET rez func name

The “grid generator” FISH function that is invoked automatically when a “bad ge-ometry” error occurs is specified. A function of the given name must exist.

6.3.2 FISH Intrinsic Function

The following FISH intrinsic function is provided to perform automatic rezoning during a FLACrun:

rez exe(s)

The intrinsic function rez exe (which always returns zero) causes the command con-tained in the given string, s, to be executed. Note that COMMAND . . . END COMMANDmust not be used in a FISH function invoked within the rezoning logic (i.e., a func-tion specified by the REZONE set method command). The commands that may beexecuted by rez exe( ) are limited to INITIAL, GENERATE, MODEL, PROPERTY andAPPLY. If the string cannot fit on one line of FISH code, then it must be composedof separate concatenated sub-strings stored as a symbol (which is then given as theargument to rez exe( ) instead of being given directly as a quoted string).

FLAC Version 6.0

Page 6: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 6 Theory and Background

6.4 A Simple Rezoning Demonstration

The automatic-rezoning capability is demonstrated for the case of a simple slope geometry. Theslope is shown in Figure 6.3. The cohesive strength of the slope material is reduced to zero so thatthe slope fails. When run in large-strain mode, the run stops with a “bad geometry” error messageafter approximately 2000 calculation steps.

FLAC (Version 6.00)

LEGEND

22-Feb-08 13:10 step 1588 -3.333E+00 <x< 6.333E+01 -2.333E+01 <y< 4.333E+01

Grid plot

0 2E 1

-1.500

-0.500

0.500

1.500

2.500

3.500

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.3 Simple slope – initial geometry

The data file for this model, including the rezoning facility, is listed in Example 6.1. The modelis first stepped to an equilibrium state with a high cohesive strength assigned to the material. Thecohesion is then set to zero, and the large-strain calculation mode is invoked.

Automatic rezoning is implemented via the user-defined FISH function doStage slope. Thisfunction first calls the user-defined FISH function slopeRezone with the command

rezone set method slopeRezone

slopeRezone is a simple grid generator composed of four commands:

def slopeRezoneoo = rez exe(’gen 0 0 0 20 60 20 60 0’)oo = rez exe(’mod mohr’)oo = rez exe(’gen tab 5’)oo = rez exe(’mod null reg 1 20’)

FLAC Version 6.0

Page 7: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 7

end

The model surface is identified in doStage slope, and the table which will contain the list ofsurface coordinates is specified (id = 5) with the command

rezone set surf from 1,11 to 61,21 tab 5

Then, a smoothing process is invoked to smooth the model surface with the command

rezone set smooth from 1,11 to 61,21

The rezoning logic is implemented with the command

rezone

and then cycling is continued with the command

step continue

doStage slope is invoked automatically when a “bad geometry” error occurs by giving thecommand

set rez func doStage slope

Note that MOVIE commands are provided in the Example 6.1 data file in order to create a movie fileof the distorting grid. The final shape of the slope after 10,000 steps is shown in Figure 6.4:

FLAC (Version 6.00)

LEGEND

22-Feb-08 13:10 step 11588 -3.333E+00 <x< 6.333E+01 -2.333E+01 <y< 4.333E+01

Grid plot

0 2E 1

-1.500

-0.500

0.500

1.500

2.500

3.500

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.4 Simple slope – geometry after 10,000 steps

FLAC Version 6.0

Page 8: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 8 Theory and Background

Example 6.1 Automatic rezoning of a simple slope

grid 60 20m mohrprop dens 2000 bulk 2e8 sh 1e8 fric 10 coh 1e20 tens 1e20 notnulltable 1 0 10 20 10 30 20 60 20gen tab 1mod null reg 1 20fix x y j=1fix x i=1fix x i=61set grav 10solvesave slope1.sav;ini xv 0 yv 0 xdis 0 ydis 0prop coh 0set largedef doStage slope

commandunmarkrez set method=slopeRezonerez set surf from 1,11 to 61,21 tab 5rez set smooth from 1,11 to 61,21rezonestep continue

endCommandenddef slopeRezone

oo = rez exe(’gen 0 0 0 20 60 20 60 0’)oo = rez exe(’mod mohr’)oo = rez exe(’gen tab 5’)oo = rez exe(’mod null reg 1 20’)

endset rez func doStage slope;plot gridmovie onmovie step on 200;step 10000save slope2.savret

FLAC Version 6.0

Page 9: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 9

6.5 Example Applications

6.5.1 Failure of a Benched Slope

A two-bench slope excavated in sensitive clay fails when the excavation level reaches 19 m depth.The initial geometry of the slope at this excavation depth is shown in Figure 6.5. A closeup viewof the slope is shown in Figure 6.6.

The properties of the clay are as follows:

mass density (ρ) 2000 kg/m3

bulk modulus (K) 1.7 MPa

shear modulus (G) 0.625 MPa

initial cohesion (c) 50 kPa above 19 m depth

70 kPa below 19 m depth

The clay exhibits a softening response under load. The behavior is simulated by using the strain-softening constitutive model (MODEL ss) with the cohesion of the clay above the 19 m depth,degrading from 50 kPa to 5 kPa as a function of plastic shear strain.

The data file for this model is listed in Example 6.2. An in-situ stress state is applied first, prior toexcavation, with the vertical stress conforming to gravitational loading and the ratio of horizontalto vertical stress equal to 0.65. Stresses are initialized using the FISH function inistress. Theexcavation is then made instantaneously (with the MODEL null command). The slope begins to fail.If the model is run without automatic rezoning, a “bad geometry” error occurs in zones at the toeof the slope after approximately 450 steps.

Automatic rezoning is added to the model via the user-defined FISH function rezone, listed inExample 6.3. The rezoning operation involves four steps:

1. The gridpoints along the slope surface are stored in a table using the REZONE set surfacefrom ... to ... table ... command. Table 4 is designated to store the gridpoint data.

2. A new mesh is generated using the user-defined FISH function remesh. The slopesurface is redefined in the new mesh by using the FISH function gentab4 to nullzones above the surface defined by table 4. The slope surface is also smoothed with theREZONE set smooth command.

3. The rezoning logic is activated with the REZONE command to re-map zone and gridpointvalues onto the new mesh.

4. The calculation stepping is continued.

The rezone function is executed whenever the “bad geometry” error occurs by giving the com-mand SET rez zone rezone before beginning the calculation.

FLAC Version 6.0

Page 10: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 10 Theory and Background

FLAC (Version 6.00)

LEGEND

4-Mar-08 11:21 step 2544 -2.389E+01 <x< 5.389E+01 3.811E+01 <y< 1.159E+02

cohesion 5.000E+04 7.000E+04

0.400

0.500

0.600

0.700

0.800

0.900

1.000

1.100

(*10^2)

-1.500 -0.500 0.500 1.500 2.500 3.500 4.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.5 Benched slope – initial slope geometry

FLAC (Version 6.00)

LEGEND

4-Mar-08 12:25 step 2544 -1.000E+00 <x< 2.600E+01 6.400E+01 <y< 9.100E+01

Grid plot

0 5E 0

6.500

7.000

7.500

8.000

8.500

9.000

(*10^1)

0.250 0.750 1.250 1.750 2.250(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.6 Benched slope – closeup view

FLAC Version 6.0

Page 11: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 11

Example 6.2 Benched slope

grid 200,56gen -20.0,70.0 -20.0,84.0 50.0,84.0 50.0,70.0model sstable 3 -100,75 0,75 5,75 7.5,80 11.5,80 12.5,82 14.4,82 15.5,84 100,84gen tab 3prop dens 2000prop bulk 1.7e6 shear 0.625e6prop cohesion = 45e3 ctab 99 j=21,56table 99 0 50e3 0.05 5e3prop cohesion 70e3 ctab 100 j=1,20table 100 0 70e3 0.02 70e3set gravity 10def inistress

loop i (1,izones)loop j (1,jzones)

if model(i,j) # 1depth = 82. - y(i,j)sy = -1. * 2000. * 10. * depthsyy(i,j) = sysxx(i,j) = sy * 0.65szz(i,j) = sy * 0.65

endifendloop

endloopendinistressfix x i 1fix x y j 1fix x i 201hist 999 unbalsolvesave bench1.savset largemodel null region 1,56fix x y i 1call rezone.fissave bench2.savset rez func rezoneset geom 0.21step 25000save bench3.sav

FLAC Version 6.0

Page 12: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 12 Theory and Background

Example 6.3 Benched slope function

def rezonecommand

unmarkrez set surfac from 1,21 to 201,57 table 4rez set meth= remeshrez set smooth from 1,21 to 201,57rezonestep continue

endcommandend;def gentab4loop ii (1,izones)

loop jj (1,jzones)if model(ii,jj) # 1

x = (x(ii,jj)+x(ii+1,jj)+x(ii,jj+1)+x(ii+1,jj+1))/4.y = (y(ii,jj)+y(ii+1,jj)+y(ii,jj+1)+y(ii+1,jj+1))/4.yt = table(4, x)if y > yt

oo = rez exe(’model null i=ii j=jj’)endif

endifendloop

endloopend;def remesh

oo=rez exe(’gen -20.0,70.0 -20.0,84.0 50.0,84.0 50.0,70.0’)oo=rez exe(’model ss’)gentab4

end

The failed slope geometry at the final equilibrium state is shown in Figure 6.7. A contour plot ofcohesion at this state is given in Figure 6.8, and indicates the failure surface that has developed.

FLAC Version 6.0

Page 13: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 13

FLAC (Version 6.00)

LEGEND

4-Mar-08 16:30 step 27544 -2.389E+01 <x< 5.389E+01 3.811E+01 <y< 1.159E+02

Grid plot

0 2E 1

0.400

0.500

0.600

0.700

0.800

0.900

1.000

1.100

(*10^2)

-1.500 -0.500 0.500 1.500 2.500 3.500 4.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.7 Final state of failed bench slope

FLAC (Version 6.00)

LEGEND

5-Mar-08 9:19 step 27544 -2.389E+01 <x< 5.389E+01 3.811E+01 <y< 1.159E+02

cohesion -1.00E+04 0.00E+00 1.00E+04 2.00E+04 3.00E+04 4.00E+04 5.00E+04 6.00E+04 7.00E+04

Contour interval= 1.00E+04Boundary plot

0 2E 1

0.400

0.500

0.600

0.700

0.800

0.900

1.000

1.100

(*10^2)

-1.500 -0.500 0.500 1.500 2.500 3.500 4.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.8 Contour plot of cohesion for failed bench slope

FLAC Version 6.0

Page 14: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 14 Theory and Background

6.5.2 Punch Problem

A rigid punch is driven at a constant velocity into a cohesive, frictionless material. When run inlarge-strain calculation mode, a “bad geometry” error occurs after driving the punch 2.1 m into thematerial (approximately 10,000 steps). The automatic-rezoning logic allows the punch to be drivenalmost entirely through the material. The mesh is automatically re-created when a “bad geometry”condition is encountered, by invoking the rezoning logic.

The initial grid is shown in Figure 6.9. The model is 55 m wide and 30 m deep. The punch area is5 m wide at the top of the model. A constant velocity (denoted by the vectors in the figure) of 2 ×10−4 m/step is specified to apply the loading over the punch area. The model has roller boundaryconditions on the sides, and is fixed in both directions at the base.

Note that the model is symmetric about a vertical line through the center of the punch, and theFLAC model could be reduced to half of the model shown in Figure 6.9. The whole model is runto illustrate the use of multiple tables to define the surface geometry when rezoning.

FLAC (Version 6.00)

LEGEND

25-Feb-08 14:08 step 0 -3.056E+00 <x< 5.806E+01 -1.556E+01 <y< 4.556E+01

Grid plot

0 1E 1

Velocity vectors

max vector = 2.000E-04

0 5E -4

-1.000

0.000

1.000

2.000

3.000

4.000

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.9 FLAC grid with constant-velocity punch

FLAC Version 6.0

Page 15: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 15

The data file for this problem is listed in Example 6.4. The vertical velocity is applied and the modelis first run for 4000 steps before the rezoning logic is invoked. The distorted grid at this stage isshown in Figure 6.10.

Example 6.4 Punch problem

grid 55 30mod mohrprop dens 1000 bulk 2e8 sh 1e8 coh 1e5 tens 1e10fix x i=1fix x y j=1fix x i=56fix x y i=26,31 j=31ini yvel -2e-4 i=26,31 j=31save punch a.sav;set large ncw=100step 2000save punch b.sav;step 2000save punch c.sav;def iniSetupwidth = 55.0ntab1 = 1ntab2 = 2nz1 = jzonesnz1p1 = nz1 + 1irmax = igpjrmax = jgpjlmax = jgpendiniSetup;call doStage punch.fisdoStage punchsave punch d.sav;step 100000save punch e.savret

FLAC Version 6.0

Page 16: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 16 Theory and Background

FLAC (Version 6.00)

LEGEND

3-Mar-08 14:39 step 4000 -3.056E+00 <x< 5.806E+01 -1.544E+01 <y< 4.567E+01

X-displacement contours -4.00E-01 -2.00E-01 0.00E+00 2.00E-01 4.00E-01

Contour interval= 2.00E-01Velocity vectorsmax vector = 2.013E-04

0 5E -4

Grid plot

0 1E 1

-1.000

0.000

1.000

2.000

3.000

4.000

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.10 x-displacement contours and velocity vectors after driving thepunch 0.8 m – before rezoning

In order to continue the run when a “bad geometry” error occurs, a new mesh is generated by usingthe user-defined FISH function doStage punch, listed in Example 6.5. The rezoning processconsists of four steps:

1. The gridpoints associated with the model surface are stored in tables using the REZONEset surface from ... to ... table ... seq ... command. Two tables are created: table 1 storesthe gridpoints from the upper-left corner of the model to the left boundary gridpoint ofthe punch; and table 2 stores the gridpoints from the right boundary gridpoint of thepunch to the upper-right corner.

2. A new mesh is generated using the user-defined FISH function footRezone with anew surface defined by tables 1 and 2. The mesh is also scanned to remove zones abovethe new surface.

3. The rezoning logic is activated with the REZONE command to re-map zone and gridpointvalues onto the new mesh.

4. The punch velocity loading is fixed again and the calculation stepping is continued.

The doStage punch function is executed whenever the “bad geometry” error occurs, by issuingthe command

set rez func doStage punch

FLAC Version 6.0

Page 17: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 17

Example 6.5 Punch rezoning functions

def doStage punchcommand

unmarkrez set surf from 1,jlmax to 26,nz1p1 tab ntab1 seq 1rez set surf from 31,nz1p1 to irmax,jrmax tab ntab2 seq 2rez set meth=footRezonerezonefree x y i 2 55 j 2 31fix x y i 26,31 j=nz1p1step continue

endCommandend;def footRezone

h1 = y(26,nz1+1)tbs2 = table size(ntab2)h2 = 0.0loop n (1,tbs2)

h2 = max(h2,ytable(ntab2,n))endLoopnz1 = int(h1 * float(jzones) / h2)hinc = h1 / float(nz1)ytop = float(jzones) * hincnz1p1 = nz1 + 1nztop = jzonesoo = rez exe(’gen 0,0 0,ytop width,ytop width,0’)oo = rez exe(’mod mohr’)oo = rez exe(’mod null i 26,30 j nz1p1,nztop’)oo = rez exe(’gen tab ntab1’)oo = rez exe(’gen tab ntab2’)loop i (1,26)

loop j (nz1+1,jzones)if model(i,j) # 1

xcen = (x(i,j)+x(i+1,j)+x(i,j+1)+x(i+1,j+1))/4.0ycen = (y(i,j)+y(i+1,j)+y(i,j+1)+y(i+1,j+1))/4.0if ycen > table(ntab1,xcen)

ii = ijj = joo = rez exe(’mod null i=ii j=jj’)

endifendif

endLoopendLoop

FLAC Version 6.0

Page 18: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 18 Theory and Background

loop i (31,izones)loop j (nz1+1,jzones)

if model(i,j) # 1xcen = (x(i,j)+x(i+1,j)+x(i,j+1)+x(i+1,j+1))/4.0ycen = (y(i,j)+y(i+1,j)+y(i,j+1)+y(i+1,j+1))/4.0if ycen > table(ntab2,xcen)

ii = ijj = joo = rez exe(’mod null i=ii j=jj’)

endifendif

endLoopendLoopjlmax = jgpsection

loop j (1,jzones)if model(1,j) = 1

jlmax = jexit section

endifendLoop

endSectiony(igp,jrmax) = table(ntab2,x(igp,jrmax))jrmax = jgpsection

loop j (1,jzones)if model(izones,j) = 1

jrmax = jexit section

endifendLoop

endSectiony(igp,jrmax) = table(ntab2,x(igp,jrmax))

endset rez func doStage punch

Figures 6.11 and 6.12 display the distorted grid after driving the punch 13.8 m and 24.8 m, respec-tively, into the mesh.

FLAC Version 6.0

Page 19: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 19

FLAC (Version 6.00)

LEGEND

25-Feb-08 15:08 step 69000 -3.056E+00 <x< 5.806E+01 -1.410E+01 <y< 4.701E+01

X-displacement contours -2.00E+00 -1.50E+00 -1.00E+00 -5.00E-01 0.00E+00 5.00E-01 1.00E+00 1.50E+00 2.00E+00

Contour interval= 5.00E-01Grid plot

0 1E 1

Velocity vectorsmax vector = 2.063E-04

0 5E -4

-0.500

0.500

1.500

2.500

3.500

4.500

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.11 x-displacement contours and velocity vectors after driving thepunch 13.8 m

FLAC (Version 6.00)

LEGEND

25-Feb-08 15:07 step 124000 -3.056E+00 <x< 5.806E+01 -1.357E+01 <y< 4.754E+01

X-displacement contours -3.00E+00 -2.00E+00 -1.00E+00 0.00E+00 1.00E+00 2.00E+00 3.00E+00

Contour interval= 1.00E+00Grid plot

0 1E 1

Velocity vectorsmax vector = 2.648E-04

0 5E -4

-0.500

0.500

1.500

2.500

3.500

4.500

(*10^1)

0.500 1.500 2.500 3.500 4.500 5.500(*10^1)

JOB TITLE : .

Itasca Consulting Group, Inc. Minneapolis, MN 55401

Figure 6.12 x-displacement contours and velocity vectors after driving thepunch 24.8 m

FLAC Version 6.0

Page 20: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 20 Theory and Background

6.6 Accuracy and Zoning Sensitivity

The accuracy of the rezoning logic and the sensitivity of the logic to zone density is tested in thefollowing sections.

6.6.1 Accuracy

A simple 2 × 2 uniform square grid is used to verify the correctness of implementation of therezoning logic. As illustrated in Figure 6.13, each zone has a size of unity, but different density (e.g.,1000 at (1,1), 2000 at (1,2), 3000 at (2,1) and 4000 at (2,2)) before rezoning. The y-displacement ofthe top gridpoints (j = 3) and middle gridpoints (j = 2) are also initialized to different values (1e-3at j = 2, 2e-3 at j = 3). In the rezoning operation, the line of i = 2 is translated in the x-direction byα (= 0.2), and the line of j = 2 is translated in the y-direction by β (= 0.3) to form a new grid. There-meshing logic is then invoked to map zone quantities and interpolate gridpoint quantities fromthe old grid to the new grid. The data file is listed in Example 6.6.

The comparison made in FISH function check shows that the expected mapped values of densityin zones (1,1) and (2,1) and vertical displacement at gridpoint (2,2) exactly match the actual valuesprovided by FLAC.

Figure 6.13 Rezoning of a 2 × 2 grid: solid lines are the original grid, anddashed lines are the new grid. The original and new grids sharethe same boundary.

FLAC Version 6.0

Page 21: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 21

Example 6.6 Accuracy test

newdef const

; propd11 = 1000.d12 = 2000.d21 = 3000.d22 = 4000.yd2 = 1e-3yd3 = 2e-3; geomx1 = 0.x2 = 2.y1 = 0.y2 = 2.alpha = 0.2beta = 0.3

endconst

grid 2 2model elasticprop dens d11 i 1 j 1prop dens d12 i 1 j 2prop dens d21 i 2 j 1prop dens d22 i 2 j 2ini ydisp yd2 j 2ini ydisp yd3 j 3def remesh

oo=rez exe(’ini x add alpha i = 2’)oo=rez exe(’ini y add beta j = 2’)

enddef rezonecommand

rez set method = remeshrezone

endcommandendsave accu grid.savrezone; note that the formulations for expected values may be different; if alpha and/or beta are changed.def check

area = x2 * y2 / 4.

FLAC Version 6.0

Page 22: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 22 Theory and Background

; check density (1,1)frac11 = 1./ areafrac21 = alpha/ areafrac12 = beta/ areafrac22 = alpha * beta/ areaval = d11* frac11+ d21* frac21+ d12* frac12+ d22* frac22exp d11 = val/( frac11+ frac21+ frac12+ frac22)num d11 = density(1,1); check density (2,1)frac21 = (2.- alpha)/ areafrac22 = (2.- alpha)* beta/ areaval = d21* frac21+ d22* frac22exp d21 = val/( frac21+ frac22)num d21 = density(2,1); check ydisp(2,2)exp yd22 = yd3* beta+ yd2*(1.- beta)num yd22 = ydisp(2,2)

endcheckprint exp d11 num d11print exp d21 num d21print exp yd22 num yd22

6.6.2 Zoning Sensitivity

As illustrated in Figure 6.14(a), a rectangular block filled with two different materials is fixed inboth directions at all boundaries. The gridpoints at the material interface are forced to displaceupward following a given sine-shaped profile. Once the system evolves to the position shownin Figure 6.14(b) (which takes 5000 steps), the model is stepped for another 5000 steps with thevelocities at all gridpoints reversed. Figure 6.14(c) shows the contour plot of material property atstep 10,000. If a re-meshing action is made just before reversing velocities, the material propertycontour will be shown in Figure 6.14(d); some smearing of material property is induced in there-meshing process. The test is performed using a 25 × 15 grid. The smearing is found to besignificantly reduced in finer grids, for example, as shown in Figure 6.14(e) for a 50 × 30 grid, andFigure 6.14(f) for a 100 × 60 grid.

FLAC Version 6.0

Page 23: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

AUTOMATIC REZONING 6 - 23

Figure 6.14 Material advection testing; dark and light areas indicate the samematerial property with different values. State (c) is for no rezon-ing; states (d), (e) and (f) are for rezoning in progressively finergrids.

Example 6.7 Zone density sensitivity

newdef const; propden1 = 1000.bul1 = 1e8she1 = 3e7den2 = 2000.bul2 = 2e8she2 = 6e7; geom (dimensions)x1 = 0.x2 = 50.y1 = 0.y2 = 30.; geom (IJ)iz = 25;50;100jz = 15;30;600ig = iz+1jg = jz+1jm = jz/2

FLAC Version 6.0

Page 24: 6 AUTOMATIC REZONING - Missouri S&Tweb.mst.edu/~norbert/ge5471/Assignments/Assign 1 - FLAC I/FLAC... · AUTOMATIC REZONING 6-1 6 AUTOMATIC REZONING ... such as table number and plasticity

6 - 24 Theory and Background

jm1 = jm+1endconstgrid iz jzgen ( x1, y1) ( x1, y2) ( x2, y2) ( x2, y1)model elasticprop dens den1 bulk bul1 shear she1 j = 1, jmprop dens den2 bulk bul2 shear she2 j = jm1, jzdef setSinej = jm1loop i(2, iz)yvel(i,j) = amp1 * sin(pi * x(i,j)/x( ig,j))endloop

enddef genmeshoo = rez exe(’gen x1, y1 x1, y2 x2, y2 x2, y1’)enddef rezonecommandrezone set method genmeshrezone

endcommandendset amp1 = 1e-3setSinefix x y j=1fix x y j= jgfix x y i=1fix x y i= igset large ncw=100fix y j= jm1step 5000plot hold bulk fill fixrezoneplot hold bulk fill fixini yvel mul -1 j= jm1step 5000plot hold bulk fill fix

FLAC Version 6.0