logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Siddharth GuptaStatistics
(/5)

917 Answers

Hire Me
expert
Peter BernerGeneral article writing
(5/5)

990 Answers

Hire Me
expert
Rishi AggarwalGeneral article writing
(5/5)

593 Answers

Hire Me
expert
Christopher MclaughlinMathematics
(5/5)

979 Answers

Hire Me
Others
(5/5)

A crack in such a system can be described as an additional force free surface which thus obeys the boundary condition

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

We study numerically the growth of a crack in an elastic medium under the influence of a travelling shockwave.  We describe the implementation of a fast algorithm which is perfectly suited for a data parallel computer. Using large scale simulations on the Connection Machine we generate cracks with more than 10000 sites on a 1024×1024 lattice. We show that the resulting patterns are fractal with a fractal dimension that depends on the chosen breaking criterion and varies between 1. and 2.

1. Introduction

How does a solid body break under an externally applied load? This is an important question for researchers in many fields and has strong implications on e.g. mate- rials science, engineering or geophysics. It has been studied for a long time quite extensively using numerical, experimental and analytical methods.1

If one considers the solid to be a linear elastic medium the formulation of the initial question can be made in terms of the Lam´e equation

(1 − 2ν)∆u + ∇(∇ • u) = 0 (1)

which describes the displacement u of a small volume element in an elastic material from its equilibrium position. The Poisson ratio ν is a material dependent parameter which has the following meaning: If one applies a uniaxial force to an elastic bar of length L and cross section W × W , it will not only change its length by ∆L in the direction of the force, but it will also change its width by ∆W in the direction perpendicular to the force. The Poisson ratio then defines the relative amount of change 

Due to thermodynamical reasons ν is bounded between −1 ≤ ν < 0.5. Concrete for instance has a Poisson ratio ν ≈ 0.2.

A crack in such a system can be described as an additional force free surface which thus obeys the boundary condition

σ • n = 0 (3)

where σ is the stress tensor and n is a surface vector. The crack grows if the stress parallel to the crack surface σǁ is larger than a certain material dependent critical stress σC. Since no first principle law for the normal growth velocity is known one assumes the general behavior

vn ∝ (σǁ − σC)η (4)

where η is often simply set to unity. The equations (1), (3) and (4) formulate the growth of a crack as a moving boundary problem which is far more difficult to solve than the Lam´e equation itself.  Yet, there is one important property of real material missing, which is “disorder”. Microscopically disorder means deviations from the perfect crystal structure of the elastic material due to vacancies, dislocations or grain boundaries. But macroscopically these imperfections are simply reduced to spatial randomness of the material properties like Poisson ratio and breaking threshold.

In numerical simulations for crack growth one often discretizes the elastic medium on a lattice, for instance with a finite element scheme.2 According to the chosen boundary conditions and the externally applied load one relaxes the system to equilibrium. Then one picks one or several bonds according to a given rule – for instance the bond with the highest load – and breaks it. This defines a new boundary and therefore one has to resolve the whole problem again. This procedure is then repeated until a crack of desired size is grown. The disorder is often put into the simulations by considering lattice parameters (like bond strength and breaking threshold) that vary from site to site.  Since  the  system has enough time  to  relax to full equilibrium before the crack can grow, such a procedure is only capable of describing quasi static processes.

On the other hand there are phenomena — like explosions, shattering of glass or shock waves – which should not be treated in a static approximation and in which the system is not able to relax to equilibrium before breaking a bond, but in which the time to relax the system is comparable to or larger than the time one needs to propagate the crack. Such a situation usually results in cracks with many sidebranches growing behind the shock front since the internal energy cannot be dissipated fast enough.3 In the following we are going to study numerically such a process in which one obviously has to take into account the dynamical behavior of the elastic medium.

The organization of this paper is thus as follows: in Sect. 2 we introduce the general model, whose implementation on the Connection Machine is described in Sect. 3. In Sect. 4 we describe the details of the simulation and in Sect. 5 we present some results.

2. The Model

As a model for the elastic material we consider a triangular network of Hookean springs connecting points of mass m. A triangular network is necessary for the simulation since a simple quadratic lattice does not have any shear modulus and thus can be deformed arbitrarily under shear load. This model is known as “central force model”2 since the Hookean springs are isotropic. The boundary sites of this network are kept fixed in space. On each site there are two continuous degrees of freedom, which are the coordinates of the displacement ux and uy of this site from its equilibrium position r0. Since we want to study the dynamical behavior of this network we have to determine the time evolution of the displacements which is gov- erned on each lattice site by Newton’s equation. Following a suggestion of Chopard4 we use a discrete time Hamilton formalism to express the dynamic behavior. The Hamiltonian of this system is given by

where pi and ri are the momentum and position of site i, and Uij is the interaction energie between two lattice sites i and j. Uij is nonzero only between nearest neighbor sites and since we use Hookean springs it is simply a harmonic potential

where kij  is  the coupling  constant between  the sites  i  and j.   drij   =  r0i − r0j   is the vector between their equilibrium positions and a is the equilibrium length of the connecting spring (please note, that drij does not mean differentials). In our simulation we are going to set a = 0 while we keep drij = 1. This corresponds to the case of a prestretched network and can be compared for instance with the skin of a drum. The discretized versions of Hamilton’s equations are

where δij = ui(t) − uj (t) + drij . This equation (8) defines the updating rule, which relates the displacements at time t + 1 to the displacements at times t and t − 1.

Although the chosen dynamics seems to be rather crude as compared to molecular dynamics, one can actually show that it conserves the total momentum and some kind of total “energy”. Moreover we show that it conserves the essential features we need for the generation of cracks: A wave packet that is imposed on the lattice will travel with only minor changes in shape with a definite velocity through the lattice.

3. The Growth Model using Fortran 90

Since the same updating rule (8) is applied to all lattice sites at each time step and on the other hand the topology of the underlying lattice is, in contrast to molecular dynamics, not changed due to rearrangements of particles single instruction multi- ple data (SIMD) machine like the CM is the appropriate computer architecture for this problem: Each lattice site is mapped onto one virtual processor and all sites are updated in parallel. The only inter processor communication is required for the calculation of the right hand side of eqn. (8). But because the triangular lattice structure can be mapped onto a square lattice with next nearest neighbor interac- tions into one direction, a nearest neighbor grid communication using CSHIFTS is sufficient and no general router communication is required, which makes this lattice model fast and efficient.

In the actual implementation of the program we chose the following data layout for the main variables: Each processor has to store the displacements at time t and t − 1, UT and UTM1, which are represented as complex numbers. Since we intend to simulate a “disordered” system, we assign to each spring a different, randomly chosen coupling constant. Therefore we keep on each lattice site the six couplings K to all neighbors. By doing this we waste some memory space because each kij is stored twice – on site i and on site j – but we save computer time by avoiding unnecessary communication. The data layout for the main variables is thus as follows Listing 1.

The LAYOUT directive for K is used to group the couplings of one site as a serial di- mension onto one processor. It is necessary, because otherwise the compiler would spread the couplings over all virtual processors which results in unnecessary com- munication for the force calculation. Using this data layout a single step of the updating rule (8) is programmed in a straightforward manner in CM Fortran

The CSHIFT commands are used to communicate the displacements between “neigh- boring” processors. By carefully reusing already shifted data it is of course possible to get the displacements from the six nearest neighbors on the triangular lattice with only six CSHIFTS. Since we are not using full next nearest neighbor communication the use of stencil operations does not seem useful at this point. The global SUM along the first dimension computes the total force exerted onto each site by its neighbors. Because the first dimensions of the coupling constant array k and the vectors to the nearest neighbors NN are laid out onto the same processor as a :serial dimension, the computation of the SUM does not require any communication.

Unfortunately this simple formulation does not give optimal performance. The compiler allocates and deallocates unnecessary temporary fields and even generates general CM send router communication, which in fact uses 43% of the total CPU time! To  obtain a  much better  performance we coded the  code  fragment shown in Listing 2 completely in PARIS (PARallel Instruction Set). This allows to  fully control the memory allocation, the communication and to make efficient use of pipelined commands like CM f sub const mult always. Now, most of the  CPU time – 38% – is used for the calculation of the distance between neighboring lattice sites |ri − rj | which is coded as CM f c abs 2. Now, the NEWS communication part is negligible and sums up to 5.8% of the total CPU time.

These improvements result in a speedup of a big factor of five as compared to the straightforward implementation. One obtains on 8K processors of the previously described CM2 an update rate of 1.1 millions of updates per second (MUPS) and a speed of 110 MFlops. As a comparison, one can obtain with typical spin cellular automata using multispin coding techniques more than 1000 MUPS on one processor of a NEC-SX35 and  on  a CM2-16K a Q2R cellular automaton runs at  1600 MUPS.6 For a full molecular dynamics simulations on an CM200-8K Hedman and Laaksonen achieve  about  0.2  MUPS7  and  for  MD  simulations  on  a  CM2-16K  Mel‘ˇcuk  et.  al. obtained an update rate of 4.5 KUPS.8

4. The simulation

All simulations are performed on a 1024 × 1024 lattice and we use between 3000 and 5000 timesteps. At the beginning of the simulation the couplings are chosen at random out of a uniform distribution with mean value k0 = 0.005 and a width of typically 50%.  To initiate the crack growth we break all bonds between site r0  and its neighbors. Afterwards an initial pulse is imposed on the center of the lattice: If r0 is the central site in the lattice, then its nearest neighbors r1 . . . r6  are dis- placed radially outward for 100 lattice units while keeping all other sites fixed. This displacement seems very large at first sight, but since we use a harmonic potential between the sites the actual size of the initial  displacement is  not relevant.  We only wanted to make sure that this perturbation is much larger than the “thermal”

motion unduced by chosing random coupling constants. At time t = 0 all sites are released and the system is free to evolve. After every other time step one looks for the bond with the largest elongation lm. Then one determines all bonds whose elongations l are larger than α • lm – where α is an adjustable parameter – and which lie on the surface of the already existing crack. All those bonds are broken by setting the corresponding coupling constant kij to zero. Here one has to notice that this breaking rule does not require any communication and can be performed completely in parallel since both sites i and j which are connected by such a bond will clear their own copy of kij.

Thus we consider a relative breaking threshold rather than an absolute one, which has the following reason: In an absolute breaking threshold one would break all bonds whose elongation is larger than some fixed critical length lc. On the other hand the amplitude of the outgoing wave packet is decreasing with the distance from the center. So, when the wave packet has initially an amplitude that is larger than the threshold, the outgoing wave will break all bonds it reaches until its amplitude has dropped below the threshold and from then on no further bond will be broken. Thus, one only creates a structureless isotropic hole in the center of the system.

A somewhat similar model has been studied by Louis et. al.9 They try to solve a quasi static problem, but perform only a few relaxation steps to find the equilib- rium state of the network. However, since they use an overrelaxation scheme the relaxation of their system towards equilibrium has another dynamical interpretaion than the iterative method I use. Another similarity is given in the breaking rules. Louis et. al. pick bonds that are to be broken with a probability that is proportional to the bond length Pij ∝ |ri − rj |.

5. Results

To demonstrate that the dynamics (8) produces reasonable results we first consider the case of a smooth wave packet travelling through a system without disorder and without breaking. Therefore we applied not a singular pulse to the network but rather a smooth wave packet. The initial radial displacements of the central sites

Fig. 1. Cut through a shockwave after 200 timesteps.

Fig. (1) shows a cut along the x axis through this wave packet at time t = 200. One indeed recovers the original pulse plus a further minimum which is due to the fact that we keep the displacements of the central sites for t > τ  fixed at zero. Because of their inertia the neighboring sites keep vibrating which results in the second minimum. If one measures the velocity of the maximum of the wave packet one obtains a value which agrees with the analytical expression for the group velocity of a circular wave with frequency ω = 2π/τ on a triangular lattice.

After having confirmed that the travelling wave shows reasonable behavior we restrict ourselves again to the case of a singular pulse,  which corresponds to the case τ = 2.

Fig. 2. Crack patterns generated for (from left to right) a) α = 1, b) α = 0.98 and c) α = 0.95.

In figs (2.a-2.c) we show examples of cracks which were generated for different breaking thresholds: α = 1 (10934 sites) – which means that only the bond with the largest elongation is broken – α = 0.98 (16038 sites) and α = 0.95 (35837 sites). The number in brackets are the number of sites that are “connected” by broken bonds. All cracks show a starlike and fractal structure. For decreasing α they become more and more ramified.  This is easily understood since with decreasing α many more bonds are eligible to be broken. The delta-like excitation we impose initially on the lattice is highly non-periodic and therefore produces waves with many different frequencies, althoug lower amplitude. For small enough α many of these waves can contribute to the growth of the crack.

But one also has to take into account another effect. Since the lattice is prestretched each bond that is broken is a source for another spherical wave travelling away from this point. For small enough α also those waves can break bonds and therefore can lead to an avalanche-type growth of the crack. Thus, one  can distinguish two  different regimes:  For α  close to unity the crack grows mainly at the tips at the outer branches which coincide with the front of the shockwave. The sidebranches behind the shockfront remain inactive. For smaller α also the tips behind the  shockfront continue to  grow and split and eventually the crack becomes space filling.

Another fact to be noticed is that for decreasing α the lattice structure becomes more and more dominant and eventually the cracks grow into a structure with sixfold symmetry.

To be more quantitative, we study the dependence of the number of broken bonds N on the radius of the cluster, which is measured in terms of the radius of gyration RG. RG describes the average distance of all broken bonds from the center of mass rCM of the crack

(5/5)
Attachments:

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme