Evaluating Settlement of Clay Soils Due To Water Deportation Through Explicit And Implicit Approach
ACADEMIC INTEGRITY PLEDGE: “We declare upon our honor that we have neither given nor received unauthorized help in solving this problem.”
Timothy John Acosta 2007- 16445
Arlene A. Gavino
2008-78469
John Philip Cabañero 2009-41743
MP 1 Submitted to: Sir Juan Michael U.V. Sargado
2011
10/3/2011
Finite Difference Method
2 Abstract
The long-term settlement of clay soils due to expulsion of water is described in an
equation similar to the Heat-Conduction Equation. In this paper, we have studied the
behaviour of the soil as the water flows through it. The water has excess pore pressure
that affects the stability of the soil. For this case, we have considered two methods in
determining the governing equation of Terzaghi’s 1-D Consolidation Theory – Forward-
Time Central-Space (FTCS) Method and the Crank-Nicholson. In order to solve the
explicit scheme, the equation requires approximations of the time derivative with the
use of forward difference and also approximations of the space derivative with the use
of central difference. The implicit scheme (Crank-Nicolson) method also uses
approximations that are second-order accurate in both space and time.
Problem Statement
The problem wishes to solve for the time it takes for the whole settlement to be 90%
consolidated. The solution to a boundary-value problem from the partial differential
equations can be expressed as an explicit or implicit form. The former is a
straightforward method because the values are just evaluated directly from the finite-
difference equation. The latter is quite more complicated because for you to be able
to obtain a solution, you must reduce the system of linear equations in the problem.
In the finite-difference method, the replacement of first and second order derivatives
using central-difference rules is necessary to solve for the governing equation. The rules
for partial derivatives are merely the extension from the full derivatives derived from the
Taylor series expansion of the terms. A point u(x, y) is written as u(xi ,yj), where the
subscripts i and j denote its x and y positions, respectively. For u(x, y) continuous and
defined in a rectangular domain whose horizontal and vertical grids have the widths of
h and k, respectively, the derivatives at the finite point (xi ,yj) are approximated using
the central-difference rules:
Finite Difference Method
3
Partial derivatives in Rectangular Solids
The two-dimensional extension of full derivatives is shown in the equations (1.1), (1.2),
(1.3), and (1.4). The partial derivative of u(x, y) with respect to the variable x is obtained
by differentiating that variable only. This means only the i subscript is involved. Similarly,
the partial derivative with respect to y involves the subscript j only.
Finite Difference Method
4 Theoretical Background
Finite Difference Method is used to solve boundary value Ordinary Differential Equations
(ODEs). In the finite-difference method, solutions are obtained by replacing the given
first and second derivatives into their approximated form using the central-difference
rules. The approximation means that the numerical solution is known only at a finite
number of points in the physical domain. The rules for partial derivatives are merely the
extension from the full derivatives derived from the Taylor series expansion of the terms.
The Finite Difference Method starts with the discretization of space and time such that
there is a number of points in space and an integer number of times at which we
calculate the field variables.
Forward-Time Central-Space Method
The time dependent one dimensional consolidation equation is expressed as:
where u is the pore water pressure distribution in the system, t is the instantaneous time
from the application of a total stress increment, and x is the 1-D space coordinate or
the depth below the top of the clay layer, and C is the coefficient of consolidation. It
describes the spatial-temporal variation of pore pressures (u) through the primary
consolidation coefficient.
In this method, the time derivative can be approximated with the use of forward
difference and the space derivatives can be approximated with second-order central
differences. The differential equation can now be written as:
letting ,
Finite Difference Method
5
the equation will yield us:
Crank-Nicholson Method [a]
Developed by John Crank and Phyllis Nicolson, the Crank-Nicolson Method is an implicit
method of numerically solving partial differential equations. It solves both the accuracy
and the stability problem. Implicit method means in order to find the next value of u,
simultaneous algebraic equations should be determined first.
The Crank-Nicholson equation can be written as:
where u is the pore water pressure distribution in the system, t is the time coordinate,
and F is function of u, t, and x, which is the space coordinate.
In this method, the time derivative can be approximated using the trapezoidal rule and
the space derivative can also be approximated with the use of central difference. This
method also is the mean of the forward Euler method at n and the backward Euler
method at n+1. The Crank-Nicolson discretization can now be written as:
letting
the
equation
will yield us:
Our differential equation can now be solved as a simple Tridiagonal Matrix Algorithm or
Thomas Algorithm, a simplified form of Gaussian elimination.
Finite Difference Method
6
Implementation of Numerical Model
Calculate for the Initial value of U
Computing for Initial Area (Area1)
Implementation of Boundary Conditions
for Dirichlet type and Neumann BC
Computing using FCTS
Given 1 equation and 1 unknown,
we can compute for the value of U at time t = n.
Compute for the Final Area
(Area2)
Compute for Consolidation
(1- Area2) / Area1
Check if the solution achieves 90% consolidation
IF NOT go back in computing using FCTS at t = n+1
until it reaches 90% consolidation.
Print the values in Microsoft Excel
Plot the obtained Data
Finite Difference Method
7
Calculate for the Initial Value of U at t=0
Computing for Initial Area
(Area1 at t=0)
Setup tridiagonal matrix
[Array 1] [Array 2] = [Array 3]
[Array 1] = constants of future values at t=n+1 (unknown)
[Array 2] = unknown values at future t=n+1
[Array 3] = values of present (known) (t=n)
Implementation of Boundary Conditions
for Dirichlet type and Neumann BC
Dirichlet has same initial values as FCTS
(topmost values in tridiagonal matrix)
Neumann, we implement the new BC that gives a ghost node w/c is equal in
magnitude to n-1th node
Compute for the Final Area
(Area2)
Compute for Consolidation
Check if the solution achieves 90% consolidation
IF NOT, Go back in Setting up the Tridiagonal matrix,
BUT your computed new value for the “future” becomes your present value for the next iteration.
Print the values in Microsoft Excel
Plot the obtained Data
Recompute everything by changing the Cv
Finite Difference Method
8
Results and Discussion
Explicit (FCTS)
Implicit (Crank-Nicholson)
0
20000
40000
60000
80000
100000
120000
140000
0 2 4 6 8 10 12
Val
ue
of
U
Nodes
FCTS
Series1
Series2
Series3
Series4
Series5
0
20000
40000
60000
80000
100000
120000
140000
0 2 4 6 8 10 12
Val
ue
of
U
Nodes
Crank-Nicholson
Series1
Series2
Series3
Series4
Series5
Series6
Finite Difference Method
9
FCTS (reversed Cv)
Crank-Nicholson (reversed Cv)
0
20000
40000
60000
80000
100000
120000
140000
0 2 4 6 8 10 12
Val
ue
of
U
Nodes
FCTS (reversed Cv)
Series1
Series2
Series3
Series4
Series5
0
20000
40000
60000
80000
100000
120000
140000
0 2 4 6 8 10 12
Val
ue
of
U
Nodes
Crank-Nicholson (reversed Cv)
Series1
Series2
Series3
Series4
Series5
Series6
Finite Difference Method
10
Based on the results obtained For the given original problem, the computed days for
90% consolidation were 2453 days for FCTS scheme while 2454 days for Crank-Nicholson
scheme. For the reversed value of coefficient of velocity, we got 2358 days for the FCTS
scheme and 2359 days Crank-Nicholson scheme. We can say that FCTS method has a
lesser days when 90% consolidation.
Conclusions and Recommendations
We will discuss the results that we have obtained from the solution using Finite
Difference method. Here we will give the conclusions regarding the soil that is
composed of two saturated clay layers and underlain by impervious bedrock. Both the
Explicit and Crank-Nicolson schemes produced almost the same results for the given
problem.
We also have the plot of the average degree consolidation with respect to time. We
can see in the Excel file that the FCTS method is faster to reach the 90% consolidation
than the Crank-Nicholson. But it is recommended that the Crank-Nicolson scheme be
used rather than the Explicit scheme because Crank-Nicholson satisfy the assumptions
made that the value that must be obtain for U were getting smaller.
Finite Difference Method
11
We have computed for the reversed value for the Coefficient of Velocity (Cv), where,
the upper layer has the lower value for Cv and the lower layer has a higher value of Cv.
Based on the given plots we conclude that the reversed Cv has a lesser days of
consolidation compare to the original set-up.
In programming for FCTS we always iterate from t=0 until we reaches the 90%
consolidation. But in using the Crank-Nicholson method, the iteration starts at t=n until
the 90% consolidation have been achieved.
References
Chapra, Steven. Numerical Methods for engineers 4th Edition. New York: McGraw-Hill, 2002.
Hoffman, J. D. Numerical Methods for Engineers and Scientists 2nd Edition, New York: McGraw-Hill, Inc., 1992.
Sir Juan Michael U.V. Sargado lecture notes
Larsson St., Partial Differential Equations With Numerical Methods, ISBN, 2009
Pinchover, Y. and Rubinstein J., Introduction to Partial Differential Equations, Cambridge
University Press, 2005
Powell, A., Finite Difference Solution of the Heat Equation,
http://dspace.mit.edu/bitstream/handle/1721.1/35256/22-00JSpring-
2002/NR/rdonlyres/Nuclear-Engineering/22-00JIntroduction-to-Modeling-and-
SimulationSpring2002/55114EA2-9B81-4FD8-90D5-5F64F21D23D0/0/lecture_16.pdf,
September 2011
Salleh S. and Zomaya A. Computing for Numerical Methods Using Visual C++
[a]Wilmott,P.,Crank–Nicolson,Method, http://www.ps.uci.edu/~markm/numerical_methods/Crank-Nicolson_method.pdf, September 2011
Finite Difference Method
12 Source Code
#include<stdio.h> #include<stdlib.h> #include "files.h" #include<math.h> void main(){ int i; int ctr=0, nodes=10; double p=225000; double r=1.2; double deltaz=10/nodes; double deltat=86400; double alpha1=0.0000003*deltat/pow(deltaz,2); double alpha2=0.0000002*deltat/pow(deltaz,2); double Area1=0, Area2=0; double Consolidation; sarray Z=defsarray(nodes); sarray U=defsarray(nodes); sarray Unew=defsarray(nodes); for(i=0;i<nodes;i++) Z.elems[i]=deltaz*i; U=StressCalc(nodes,p,r,Z,deltaz); FILE*fcts=fopen("fcts.txt","w"); for(i=0;i<nodes-1;i++) Area1=Area1+(0.5*(U.elems[i]+U.elems[i+1])*deltaz); sarrayprintf(nodes,fcts,U); do{ ctr++; /*Boundary Conditions*/ U.elems[0]=0; U.elems[nodes]=U.elems[nodes-1]; /*FCTS*/ Unew=FCTS(nodes,alpha1,alpha2,deltaz,U); sarrayprintf(nodes,fcts,Unew); for(i=0;i<nodes;i++) U.elems[i]=Unew.elems[i]; Area2=0; for(i=0;i<nodes-1;i++) Area2=Area2+(0.5*(U.elems[i]+U.elems[i+1])*deltaz);
Finite Difference Method
13
Consolidation=1-(Area2/Area1); }while(Consolidation<0.9); printf("FCTS: %.2lf seconds\n",ctr*deltat); fclose(fcts); ctr=0; /*CRANK*/ matrix TriDiagonal=defmatrix(nodes,3); sarray RH=defsarray(nodes); sarray Unknowns=defsarray(nodes); alpha1=0.0000003*deltat/(2*pow(deltaz,2)); alpha2=0.0000002*deltat/(2*pow(deltaz,2)); ctr=0; FILE*crank=fopen("crank.txt","w"); U=StressCalc(nodes,p,r,Z,deltaz); do{ /*TriDiagonal*/ for (i=1; i<(nodes-1); i++){ if (i*deltaz<4){ TriDiagonal.elems[i][0] = -alpha1; TriDiagonal.elems[i][1] = 1 + 2*alpha1; TriDiagonal.elems[i][2] = -alpha1; }else { TriDiagonal.elems[i][0] = -alpha2; TriDiagonal.elems[i][1] = 1 + 2*alpha2; TriDiagonal.elems[i][2] = -alpha2; } } /*RIGHT HAND SIDE*/ for (i=1; i<(nodes-1); i++){ if (i*deltaz<4) RH.elems[i] = alpha1*U.elems[i+1] + (1 - 2*alpha1)*U.elems[i] + alpha1*U.elems[i-1]; else RH.elems[i] = alpha2*U.elems[i+1] + (1 - 2*alpha2)*U.elems[i] + alpha2*U.elems[i-1]; } /*Boundary Conditions*/ TriDiagonal.elems[0][0] = 0.0; TriDiagonal.elems[0][1] = 1.0; TriDiagonal.elems[0][2] = 0.0; TriDiagonal.elems[nodes-1][0] = -2*alpha2; TriDiagonal.elems[nodes-1][1] = 1 + 2*alpha2; TriDiagonal.elems[nodes-1][2] = 0.0; RH.elems[0] = 0.0; RH.elems[nodes-1] = (1 - 2*alpha2)*U.elems[nodes-1] + 2*alpha2*U.elems[nodes-2]; Unknowns = ThomasAlg(nodes,RH,TriDiagonal); for(i=0; i<nodes; i++){
Finite Difference Method
14
U.elems[i] = Unknowns.elems[i]; } ctr++; sarrayprintf(nodes,crank,U); Area2=0; for(i=0;i<nodes-1;i++) Area2=Area2+(0.5*(U.elems[i]+U.elems[i+1])*deltaz); Consolidation=1-(Area2/Area1); }while(Consolidation<0.9); printf("CRANK: %.2lf seconds\n",deltat*ctr); fclose(crank); }
Top Related