UFL/COEL-2002/010
EQUILIBRIUM DRY BEACH WIDTHS FOR ARBITRARY
NOURISHMENT SEDIMENT SIZE DISTRIBUTIONS AND
ARBITRARY NATIVE PROFILES
by
Loraine K. Chial
Thesis
2002
EQUILIBRIUM DRY BEACH WIDTHS FOR ARBITRARY NOURISHMENT
SEDIMENT SIZE DISTRIBUTIONS AND ARBITRARY NATIVE PROFILES
By
LORAINE K. CHIAL
A THESIS PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE
UNIVERSITY OF FLORIDA
2002
ACKNOWLEDGMENTS
I would like to express my sincere gratitude to Dr. Robert G. Dean, my graduate
advisor, for his wisdom, insight, and dedication to his work and his students. I would
also like to thank Dr. Daniel M. Hanes and Dr. Ashish J. Mehta for serving on my
supervisory committee. I am grateful to all the faculty and staff of Coastal Engineering
for their knowledge and support throughout the last two years.
I would like to thank my parents for always giving me the liberty of making my
own choices and supporting me through my decisions. I thank my sisters for their
inspiration, encouragement, and "aiyaaaaaa's."
Special thanks go to the "Coastal Fraternity," especially to Freebird, Answer-man,
Brain, Dan the Man, Big Kat, Magic Wanz, Jengle, The Spy, and "J"(rd), for the long
days, the good times, and for trying to get me "acclimatized." I am very thankful to all
my friends for their support and the great moments we shared.
I am grateful to the University of Florida and the Department of Civil and Coastal
Engineering for awarding me an Alumni Fellowship and thereby granting me the liberty
of pursuing my research interests independently.
TABLE OF CONTENTS
page
ACKNOWLEDGMENTS ......................................................................... ..........ii
LIST O F TABLES............................ ............................................. .... ........................... .
LIST OF FIGURES ............. ................................................................. .......... vi
ABSTRACT ............................ .................................................................................... ix
1 INTRODUCTION .....................................................................................................1
Problem D description ......... .................... .............................................................. 1
Previous Work in Determining Additional Dry Beach Width....................... 2
Scope of This Thesis.. ............................................... ............................................. .. 3
2 BACKGROUND ..................................................... .................................... 5.. 5
The Phi Scale for Characterizing Sediment Sizes........... ........................ 5
Previous Method for Representing Native Beach Profiles......................... ........... 5
Previous Methods for Representing Fill Sediment Sizes.......................................... 7
Granulom etric Basis........................ ................. ...................................... 7
Equilibrium Beach Profile Method ....... .............................. ............ 9
Single sedim ent size .. ......................................................... ........... 11
Non-uniform sediment size across profile................. ................... ... .14
Two-parameter representation (two sediment sizes) .....................................15
3 METHODOLOGY ..... ....................... ................. ................. ...17
Representing the Native Profile with a Least Squares Fit .................................. 17
Accounting for Arbitrary Fill Sediment Sand Size Distributions........................... 18
Description of Assumptions and Programs.......... ...................... 19
Fill Sediment Finer than the Native (ffiner.m)................................... .......... .. 26
Fill Sediment Coarser than the Native (fcoarser.m) .............................................. 28
4 RESULTS AND DISCUSSION.............................................................. ..............32
Comparison with Previous Methods.............................................. .... ...... 32
Delray Beach Nourishment Project: A Case Study Application .......................... 44
Further Improvements.......................................................................................... 49
5 SUMMARY AND CONCLUSIONS ..........................................................................51
APPENDICES
A PROGRAM LISTING FOR FFINER.M ....................................................................54
B PROGRAM LISTING FOR FCOARSER.M ..............................................................71
LIST OF REFEREN CES............................................................................................. 94
BIOGRAPHICAL SKETCH ....................................................................................... 96
LIST OF TABLES
Table pge
2-1. A values (mr/3) for given sediment diameters d (mm)..............................................7
3-1. Comparison of earlier two-size representation to present four-size method.............25
LIST OF FIGURES
Figure page
2-1. Profile scale parameter, A for varying sediment diameter, D (from Dean and
D alrym ple 2002)................................................................................................... 6
2-2. Overfill factor based on Dean's (1974) method (from Dean and Dalrymple 2002)...8
2-3. Sand transport resulting from nourishment project equilibration (a) Plan view, and
(b) elevation view (from Dean and Dalrymple 2002)............................................10
2-4. Three types of equilibrium profiles for nourishment projects (from Dean 1991). (a)
Intersecting profile AF > AN; (b) non-intersecting profile; (c) submerged profile
A F < A N. .................................................................................................................12
2-5. Variation of non-dimensional additional dry beach width Ayo/W. as a function of A'
and V for hW/B=2.0 (from Dean 1991). ............................................................... 13
2-6. Variation of additional dry beach with nourishment volume density for three
different fill sediment sizes. h. = 6 m, B = 2.0 m. (from Dean and Dalrymple
2002). ........................... ................ ....................................................................... 14
2-7. Comparison of the effect of representing the nourishment sediment with one vs. two
sediment sizes. h. = 6.1 m, B=1.5 m (from Dean 2001) .....................................16
3-1. Example of a least squares fit of the 2/3 power rule to the profile at the Army Corps
of Engineers Field Research Facility in Duck, NC (measured profile modified
from Lee and Birkemeier 1993)..........................................................................18
3-2. Definition of input variables .......................................................................... 19
3-3. Example of dividing the grain size distribution into two portions at 4,. In this
example, the mean size of the fill sediment is finer than the native. DN = 0.20
mm DF = 0.14 mm F = 0.5 ........................................................................... ....21
3-4. Example of dividing the fill sediment grain size distribution into four bins. In this
example, the fill sediment is finer than the native and Bin 1 has the same mean
size as the native distribution. Bins 2, 3 and 4 have equal cumulative frequencies
of occurrence. DN = 0.20 mm, DF = 0.14 mm, oF = 0.5.....................................21
3-5. Sediment size bins are placed with decreasing sediment size in the offshore
direction. DN = 0.20 mm, DF = 0.14 mm, rF = 0.5, B = 2 m, slope_nat = 1/30,
slope_place = 1/20, h* = 6 m, V= 300 m3/m (Vct = 188 m3/m and Vun-mixed= 112
mn /m )......................................................................................................................23
3-6. Final EBP and Ayo obtained when the depth farthest offshore is equal to h.. DN =
0.20 mm, DF = 0.14 mm, oF = 0.5, B = 2 m, slope_nat = 1/30, slope place = 1/20,
h = 6 m, V= 300 m3/m, Ayo= 26.3 m...................................................................24
3-7. Procedure for establishing the active volume from a trial EBP for cases with DF <
DN. DN = 0.20 mm, DF = 0.14 mm, CF = 0.5, B = 2 m, slope nat = 1/30,
slope place = 1/20, h* = 6 m, V= 300 m3/m, act = 188 m3/m, A = 0.100 m1'3
(coarsest bin)........................................... ................................................... .... 27
3-8. EBP showing decreasing trend in grain size offshore.............................................28
3-9. Exam ple of trial Y .................................................................................................. 30
3-10. Res_VAcr is calculated once the correct Yo value for a given X% is found. DN=
0.20 mm, DF = 0.275 mm, orF = 0.5, V= 300 m3/m, B = 2 m, h. = 6 m,
slope_nat = 1/30, slope jlace = 1/20 .............................................................31
4-1. Comparison of predicted additional dry beach width for different methods of
representing the nourishment sediment. .........................................................33
4-2. Nourishment sediment size distribution for the case ofDF > DN............................35
4-3. Four sediment size bins used byfcoarser.m (DF > DN) ............................................ 36
4-4. Nourishment sediment size distribution for the case of DF < DN. ................................37
4-5. Four sediment size bins used byffiner.m (DF
4-6. Effect of the sorting of nourishment sediments on the additional dry beach width
(D F > D N) .................................................. .....................................................39
4-7. Effect of the sorting of nourishment sediments on the additional dry beach width
(D F < D N) ........................................................................................................ 40
4-8. Variation of the additional dry beach width with DF when DN is constant .............42
4-9. Example of an arbitrary nourishment sediment size distribution and its log-normal
approximation. (a) Frequency.distribution; (b) cumulative frequency...........43
4-10. Average profiles for the 1992 Delray Beach nourishment project........................46
4-11. Borrow sand sediment size distribution (Delray Beach 1992 nourishment). ..........47
4-12. Ffiner.m results for the 1992 Delray Beach nourishment project (V=327 m3/m)...47
4-13. Ffiner.m results for the 1992 Delray Beach nourishment project (V=187 m3/m)...48
4-14. Measured cross-shore sediment size distribution for Delray Beach (January 1997).48
Abstract of Thesis Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Master of Science
EQUILIBRIUM DRY BEACH WIDTHS FOR ARBITRARY NOURISHMENT
SEDIMENT SIZE DISTRIBUTIONS AND ARBITRARY NATIVE PROFILES
By
Loraine K. Chial
December 2002
Chair: Robert G. Dean
Department: Civil and Coastal Engineering
Due to the increasing popularity of beach nourishment as the preferred solution to
many beach erosion problems, a need has arisen to improve current methods used to
predict the performance of these projects. The additional dry beach width resulting from
the equilibration of beach nourishment projects is of particular interest. For this purpose,
two Matlab programs were developed to determine the additional dry beach width for a
nourishment project based on a more realistic representation of the fill than provided by
earlier methods. The procedures presented allow representation of the nourishment
sediment by either a log-normal sediment size distribution or by a user-defined arbitrary
distribution. The proposed methods then account for the fill sediment by using four
representative size bins. It is assumed that finer sediments will be moved offshore while
coarser sediments will remain closer inshore as the profile is reworked towards
equilibrium. With this method, a portion of the fill placed is left "undisturbed" while the
remainder becomes the sorted "active volume." In addition, it is assumed the native
beach can be represented by either a single sediment size or a measured arbitrary native
profile. One program,fcoarser.m, is applicable when the fill sediment is coarser than the
native sediment. Another program,ffiner.m, is applicable when the fill sediment is finer
than the native.
The additional dry beach widths predicted with these programs are compared to
the predictions obtained with earlier methods. It was determined that although the
predictions provided byfcoarser.m are qualitatively significant, they might not be as
quantitatively reliable. However, since most nourishment projects are carried out with
fill sediment finer than the native,ffiner.m is applicable in most cases.
The 1992 Delray Beach nourishment project is presented as a case study application.
Recommendations for further improvement of the methodology presented are included.
CHAPTER 1
INTRODUCTION
Problem Description
As erosion plagues beaches worldwide, engineers have strived to devise methods to
counteract these recessive trends. Lately, the tendency in coastal engineering practice in
the United States and in many other countries has been to avoid the construction of
"hard" structures (groins, seawalls, breakwaters, etc.) for shore protection purposes.
Instead, beach nourishment has become a more attractive solution because it directly
addresses the cause of erosion: a shortage of sediment in the system. It is also a
preferred method because it is more natural, it provides a recreational beach while
serving as storm protection, and results in environmental benefits to the area.
Although beach nourishment projects have been widely constructed throughout the
world, not all aspects of the evolution of such projects are clearly understood. Of prime
importance to design engineers is the ability to predict the performance of such projects,
including the cross-shore and longshore (planform) evolution. This objective is made
complex by the unpredictability of storms affecting the project and any variability in the
placement geometry and sediment characteristics. One particular issue of interest to
design engineers is the additional dry beach width that results when the project
equilibrates in the cross-shore direction. This is the dry beach width associated with the
equilibrium beach profile (EBP) that occurs when destructive and constructive forces are
balanced.
Equilibrium beach profiles are known to share certain characteristics: (1) they are
generally concave upwards, (2) coarser sediment particles result in steeper slopes than
finer particles, (3) the beach face is roughly planar, and (4) steep storm waves tend to
transport sand seaward into bars and result in milder slopes (Dean 1991).
Many different equations have been proposed to describe equilibrium beach profiles.
The power law form of the EBP equation developed by Bruun (1954) and Dean (1977)
has been widely used to describe this shape. The equation is
h =Ay2/3 [1-1]
where h is the water depth at an offshore distance y from the shoreline, and A is the
profile scale parameter, which is a function of the energy dissipation and indirectly the
grain size. Other equations used to describe equilibrium beach profiles have been
proposed by Larson (1988), Bodge (1992), Komar and McDougal (1994) and Dean
(Dean and Dalrymple 2002).
Previous Work in Determining Additional Dry Beach Width
Based on the 2/3 power law form of the EBP equation, numerous attempts have been
made to determine the additional dry beach width, Ayo, that results from the placement of
a given nourishment volume density, V, per unit beach length. Based on Equation 1-1,
Dean (1991) developed equations to determine Ayo assuming the native and nourishment
sediments were each represented by a single sediment size, which was assumed to be
uniform across the profile. However, recognizing that most beaches exhibit a decreasing
sediment size in the offshore direction, and that nourishment sediments from a borrow pit
include a range of particle sizes, modifications to Equation 1-1 were incorporated to
account for these variations (Dean 2001). One alternative allows the sediment size to be
represented as a piecewise continuous distribution across the profile. Another method
assumes the A values vary linearly between points where the sediment size is known
(Dean and Charles 1994).
The effect of representing the nourishment sediment with a range of sizes can have a
significant effect on the resulting additional dry beach width. Dean (2000) incorporated
this possibility into the calculation of Ayo. This newer method assumes a log-normal
distribution of nourishment sediment sizes, and considers a cross-shore distribution of the
fill sediment. The nourishment sediment size distribution is divided into two portions:
one having the same mean size as the native sediment, and the other the mean size of the
remaining nourishment sediment distribution. The coarser of these portions is placed
closer inshore, while the finer portion is placed farther offshore. The 2/3 power law is
applied to each portion. This method permits representation of the nourishment sediment
by two sizes.
Scope of This Thesis
The purpose of this thesis is to investigate a more realistic representation of the native
profile and the nourishment sediment distribution. This will hopefully lead to a more
accurate prediction of the additional dry beach width resulting from a given nourishment
volume density. The method is no longer limited by the description of the native profile
with a single sediment size nor by representing the fill sediment as a single size or with a
normal distribution. For this purpose, two computer programs were developed to
determine Ayo for nourishment projects with arbitrary native profiles and arbitrary
nourishment sediment size distributions. One program is applicable to cases where the
nourishment sediment is finer than the native, while the other one is applicable when the
nourishment sediment is coarser than the native.
Chapter 2 presents necessary background theory and more detailed descriptions of
previous methods used to represent native profiles and nourishment sediment sizes. The
alternative approaches and assumptions used in this study are included in Chapter 3. This
chapter also contains descriptions of the Matlab programs developed. In Chapter 4,
comparisons are made to results obtained from earlier methods and to a monitored beach
nourishment project. Also, a number of recommendations that have surfaced from this
study are included. Chapter 5 provides a summary, conclusions and recommendations
for future work. Finally, the Appendices contain the Matlab program listings and sample
input and output files.
CHAPTER 2
BACKGROUND
The Phi Scale for Characterizing Sediment Sizes
The phi scale is widely used in geology as a means to quantify sediment sizes. It was
first introduced by Krumbein (1936), who based it on powers of two. The phi (0) size is
given by
S=-log2 D [2-1]
where D is the sediment particle diameter in mm. This scale is very useful because the
size distribution of many sediments can be approximated by a normal distribution when
the sediment size is given in phi units. This log-normal probability density function is
described by
(0-j)2
f1 (2 e [2-2]
where pt and a, the mean size and standard deviation, respectively, are given in phi
units.
Previous Method for Representing Native Beach Profiles
As mentioned earlier, one of the most popular representations for equilibrium beach
profiles is the 2/3 power law presented as Equation 1-1 (h = Ay3). This formulation was
first proposed by Bruun (1954), who determined it empirically by examining profiles
from Denmark and Mission Bay, CA. Dean (1977) found supporting evidence for this
based on a study of some 502 profiles extending from the eastern end of
Long Island to the Texas/Mexico border. In addition, Dean (1977) determined that the
2/3 power law was consistent with uniform wave energy dissipation per unit water
volume in the breaking zone. Based on linear shallow water wave theory, it can be
shown that A is a function of wave energy dissipation (Dean 1977), but it can also be
associated with sediment particle size. Moore (1982) examined numerous laboratory and
field profiles and determined the relationship depicted by the curve in Figure 2-1,
between A and the effective diameter of sediment particles, D. For ease of use, Table 2-1
presents A values for 0.01 mm increments of sediment diameters ranging from 0.100 to
1.09 mm. It should be noted that A has units of length to the one-third power.
Sediment Fall Velocity, w (cm/s)
0.011 0,1 1.0 10.0 100.0
1.0 Suggested Empirical"
A{m) Relationship A vs. 0
(Moore)
From Hughes'
From Individual FieldField Results A = 0067 w04
Profiles Where a Rang
of Sand Sizes was Given\ _
0,10 ,. ... ----
Based on Transforming
AA~ A vs. D Curve Using
Falli elocily Relalionship
S m Swart's
Laboratory Results
0 .0 1 .... ...
0.01 01 1.0 10.0 100.0
Sediment Size, D (mm)
Figure 2-1. Profile scale parameter, A for varying sediment diameter, D (from Dean and
Dalrymple 2002).
In earlier work by Dean (1991 and 2000), the additional dry beach width resulting
from a beach nourishment project is determined assuming that the native profile is
represented by a single sediment size. The shape of the native profile is given by
Equation 1-1. According to this formulation, the shape of the profile is a function of the
profile scale parameter, A, only. Therefore, given a single representative sediment
diameter, the entire native profile is defined. This is not very realistic, for it is known
that in nature the sediment size varies across the profile.
Table 2-1. A values (mm3) for given sediment diameters d (mm).
d (mm) 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
0.1 'i.o ."3 (i ti172 0.0714 0.0756 ( l I '4 (.'72 0. A 04 0.0936 0.(096
0.2 0.100 0.103 0.106 0.109 0.112 0.115 0.117 0.119 0.121 0.123
0.3 0.125 0.127 I ,12. '.131 0.133 0.135 0.137 0.139 0.141 0.143
0.4 0.145 0.1466 0.1482 0.149, 0.1514 0.153 0.1546 0.1562 0.1578 0.L594
0.5 0.161 0.1622 0.1634 0.1646 0. 63S 0.167 ').1 8,2 (1 1()I'4 0.1706 0.1718
0.6 0.173 0.1742 0.1754 0.1 179n 0. 7 0.179 Ii2 0.1814 f.l182 0.1838
0.7 ).1;,I5 0.1859 0 1,,s ( IS T77 0.1 86 0.18 .l95 0.1 0.1913 0.1922 0.1931
0.8 0.194 n1, l.I.) 0.1956 1l.'1 Q 4 .).1t[72 0.198 )0.1 SN 0.1996 11.2 (i 4 i).2()1
0.9 11.202 0.2028 0.2036 iJ.2)-44 1.2:52 1.21( i).2)i.s l.207, 0.21184 0.2092
1.0 0.210 0.21i), 0.2116 0.2124 0.2132 0.2140 0.2148 02156 0.2164 0.2172
(from Dean and Dalrymple 2002)
Previous Methods for Representing Fill Sediment Sizes
Through experience, monitoring and research, design methods for beach nourishment
projects have improved with time. Earlier methods were based only on the comparison
of native and nourishment sediment sizes, i.e. a granulometric basis. More recently, the
concept of equilibrium beach profiles has been incorporated into design as a means of
accounting for the profile response in general and equilibrated dry beach width in
particular which is of greatest interest to the stakeholders.
Granulometrie Basis
Krumbein and James (1965) proposed a method which assumed that both native and
nourishment sediment sizes were represented by log-normal distributions (Equation 2-2).
They considered that the portion of the fill with the same distribution as the native
sediment would be "compatible". In this manner, they discounted both the portions of
the nourishment distribution which were finer and coarser than the native. They then
defined the "overfill" factor as the number of units of nourishment material required to
provide one equivalent unit of native sediment.
Since it did not seem reasonable to discount the coarser portion of the fill sediments,
Dean (1974) modified the Krumbein and James method, discounting only the finer
portion of the fill sediment by requiring that the mean of the remaining portion of the
distribution be the same as the mean of the native sediment distribution. This resulted in
a reduction of the overfill factor calculated. The overfill factor, K, determined with this
method is shown in Figure 2-2. Here, "F" represents the nourishment sediment while
"N" represents the native sediment.
2.0
Note:
20 0 Un ts
.1 0.2 0.4 06 0.8 1.0 2.0 3'0
- --~'' ^ Mn and Standard
Figure 2-2. Overfill factor based on Dean's (1974) method (from Dean and Dalrymple
2002).
The method adopted by the U.S. Army Corps of Engineers Shore Protection Manual
(1984) was the procedure developed by James (1974). This method assumes that once in
place, the finer portion of the fill sediment will be winnowed out until the sediment size
distribution remaining is the same as the native sediment distribution. In addition to the
overfill factor (RA), James defined a renourishment factor (Rj). The renourishment factor,
is the ratio of the frequency of renourishment for a project constructed with a particular
borrow material to the frequency of renourishment if the project were constructed with
fill sand with the same distribution as the native. The new Coastal Engineering Manual
(U.S. Army Corps of Engineers 2002) presents the overfill factor for use only in cases
where the native sand size is significantly different from the fill sand. However, it no
longer recommends the use of the renourishment factor for beach nourishment design.
Equilibrium Beach Profile Method
Defining the compatibility of a given nourishment material through granulometric
considerations has the disadvantage of not representing the forces that shape beach
profiles and not focusing on the equilibrated dry beach width which is of greatest concern
to the stakeholders. The following methods are based on the concept of equilibrium
beach profiles and are founded on the 2/3 power law postulated by Bruun (1954) and
Dean (1977), h=Ay23.
According to this method, once a beach nourishment project is in place it will be
modified by waves toward an equilibrium shape. As shown in Figure 2-3, the project
evolves in the cross-shore and alongshore directions. Planform equilibration occurs as
alongshore "spreading out" losses. This occurs because the project attempts to approach
the planform existing without beach nourishment. In cross-shore equilibration, the
project will tend to attain an equilibrium profile that depends on the volume of sand
placed ( b), the berm height (B), the native and fill sediment sizes (DN and DF,
respectively), and the depth of closure (h.). The depth of closure is that depth to which a
profile will equilibrate. As defined by Hallermeier (1978), it is the "limit of intense bed
activity." Hallermeier determined the closure depth to be
h. = 2.28H, -68.5 H
lg T2
[2-3]
where g is gravity, He is the effective significant wave height which is exceeded only
twelve hours per year, and Te is the corresponding wave period. He can be approximated
from the annual mean significant wave height, H, and the corresponding wave height
standard deviation, OH,
H, = H+5.6cr,
[2-4]
- Original Shoreline
.- 2'-.'-YlriIrrLJ Q$tITcurL
Offshore to
Equhlibrale Prcliln
S Nourished Shoreline
Sprfeadrn.j OUt Losses
I
Beach Wirlh (C,-ars-a Sand)
initial Placed Piroia
/ Equlhbrate Pofile
(Coarme Sandr
OrIlrIal Prolifi
E^p.,1,Lra',j Pfol' f-r!a Syii
Figure 2-3. Sand transport resulting from nourishment project equilibration (a) Plan
view, and (b) elevation view (from Dean and Dalrymple 2002).
The Coastal Engineering Manual (U.S. Army Corps of Engineers 2002) stipulates that
present guidance from the National Research Council supports the use of equilibrium
beach profile concepts for beach nourishment project design. Different methods of
determining the evolution of a beach nourishment project have been developed based on
equilibrium beach profile concepts. A number of these methods are discussed below.
Single sediment size
Dean (1991) developed a method to determine the additional dry beach width, Ayo,
resulting from the equilibration of a nourishment project. Assuming that the native and
fill sand can each be represented by a single sediment size, DN and DF, respectively, he
determined that three different types of profiles could occur: intersecting, non-
intersecting and submerged, as depicted in Figure 2-4. Dean (1991) developed equations
to calculate Ayo as a function of the placement volume density ( V, volume per unit
length), berm height (B), fill and native sediment scale parameters (AF and AN,
respectively), closure depth (h.), and width of the beach profile out to the closure depth
on the native profile (W.), in terms of the following relationship of non-dimensional
parameters,
W. BWA, '2
where W. = and AF and AN are functions of the sediment sizes DF and DN,
(AN
respectively.
Graphical representations of Dean's (1991) equations have been developed as design
aides. Figure 2-5 shows an example for the case of h/B = 2.0. This is the method
presently used by the Army Corps of Engineers as a measure of compatibility
(U.S.A.C.E. 1994). The Coastal Engineering Manual provides the equations relevant to
this method but does not recommend their use for final fill volume calculations (U.S.
Army Corps of Engineers 2002).
Figure 2-4. Three types of equilibrium profiles for nourishment projects (from Dean
1991). (a) Intersecting profile AF > AN; (b) non-intersecting profile; (c) submerged
profile AF < AN.
0-10 t -/ / - '
- -- -- -----
- -* -1- *
- V"' "V2"-. S *.'.
A'r --- ^ - - - - -./ -. c- - -
0001 cn i; n __
0 1.0 2.0 2.8
Figure 2-6 shows examples of the variation of Ay, with Vwhen the nourishment
sediment is represented by a single size. Included are the cases of fill sediment coarser
than, compatible with, and finer than the native for DN = 0.2 mm.
14
-Range for Beach
S Nourishment Project
200
180 (DpF=0275mmn DM-0.2ron
0 2006400AN00 800 1 1400 1
160 (DFODN=0-2mm) -
I 140 cni an .A
/ AF,~IIAN=08 F
fll s t te Intersectino No Autsecling (D-.m c O.mrt," e
inhr (arsO.dictn of DN Euatmm i
( 120 e/ do
S100 -
6 so.
40 /
20 / .
A i A i i i i
0 200 400 600 800 1000 1200 1400 1600 00 1800 2000
Volume Added (nmt/m)
Figure 2-6. Variation of additional dry beach with nourishment volume density for three
different fill sediment sizes, h. = 6 m, B = 2.0 m. (from Dean and Dalrymple 2002).
Non-uniform sediment size across profile
In reality, the sediment obtained from a borrow pit contains a range of sizes. Also, the
fill sediment tends to be reworked by waves such that the coarser particles are located
inshore and the finer sediments farther offshore. A modification of Equation 1-1 was
developed assuming the sediment size to be piecewise continuous across the profile
(Dean 2001). Based on
AJ' Y" < y
and assuming uniform wave energy dissipation for each segment, it was found that
h(y)= [h(y.Y'2 + A.(y y)]2 y.
This is equivalent to having a separate 2/3 power equilibrium equation for each
segment (y0
can be used to determine the additional dry beach width resulting from a beach
nourishment project.
Another method developed to represent a non-uniform sediment size across the profile
assumes that A varies linearly between locations where the A values are known (Dean
2001).
h(y)= h,32 +. (A +m(y-y.))]5/2} yv
5m,
where
m. Ani [2-9]
yn+I Y
Two-parameter representation (two sediment sizes)
The following method for calculating Ayo considers two sediment sizes to represent
the nourishment sediment (Dean 2000). It is assumed that the fill sediment can be
represented by a log-normal distribution given two parameters: the mean (UF) and the
standard deviation (oF). The native sediment is represented by a single sediment size, PN.
The fill sediment is then divided into two portions, one having the same mean size as the
native distribution, the other the mean size of the remaining fill sediment distribution.
The coarser portion (/tF) is placed farther inshore while the finer portion (uF2) is placed
seaward of it. It is also assumed that all the fill sediment is sorted during the
equilibration process, i.e. none is left unmixed. This method always results in non-
intersecting profiles and less extreme results than those obtained from the use of a single
nourishment sediment size (Dean 2000).
An example of the effect of representing the fill sediment by two sizes is shown in
Figure 2-7. In this example, DN= 0.2 mm, B = 2 m, and h* = 6 m. Two cases are
considered: 1) nourishment sediment coarser than the native (DF = 0.275 mm, F = 0.5),
and 2) nourishment sediment finer than the native (DF = 0.140 mm, aF = 0.5). The darker
lines represent the cases where the nourishment sand is represented by a single sediment
size (i.e. oF = 0), as discussed previously. The lighter lines represent the results obtained
with the two-size representation of the fill sediment (i.e. YF # 0). As shown, the effects of
the two-size representation on Ayo are considerable. In the case of the fill sediment being
coarser than the native, the effect of a > 0 is to decrease the resulting Ayo and for the case
of fill finer than the native, the effect is to increase Ayo. Overall, a range of sediment
sizes moderates the associated additional shoreline changes.
500 1 -i i
300 !_ **
.. 0 1- C,'-' ,
4) 200 ................ .. .. .. ....... .....
100...... .0 ,......"
A/I _... ...........
0 100 200 300
Volume Density (yd3/ft)
Figure 2-7. Comparison of the effect of representing the nourishment sediment with one
vs. two sediment sizes, h. = 6.1 m, B=1.5 m (from Dean 2001).
D| = 0.2 mm
Nr
.......~ ............... ...
.. . . . .
.00..................
CHAPTER 3
METHODOLOGY
Representing the Native Profile with a Least Squares Fit
The methods presented previously assumed that the native beach could be described
with a single sediment size. The present method allows the native beach to be
represented by either a single sediment size or an arbitrary (measured) native profile. In
the first case, the A value corresponding to the given native sediment size, DN, is used to
calculate the shape of the native profile according to the 2/3 power form of the EBP
equation. In the second case, the programs permit the user to specify an arbitrary native
profile by providing values of offshore distance and their corresponding depths. The
profile is not required to be monotonic, hence the use of barred profiles is acceptable. If
an arbitrary profile is defined, the programs carry out a least squares fit of the specified
profile to the shape described by the 2/3 power EBP equation. From this, a representative
value of A is determined for later use as a descriptor of the native profile shape. This
scale parameter is calculated from
h y2/3
A 4/3 [3-1]
Syi
where y, is the offshore distance (m) and hm, is the corresponding water depth measured
(m). This procedure results in a smoothed profile which is more convenient for use in
later calculations and is probably a more realistic representation of the actual profile
shape than that based on a single sediment size. Figure 3-1 shows an example of this
procedure. From the calculated sediment scale parameter, a native sediment size, DN, is
obtained from Table 2-1.
S- -- Measured Profile
Least Squares Fit
A = 0.10 m'
3
4-
8
0 100 200 300 400 500 600 700 800
Distance Offshore (m)
Figure 3-1. Example of a least squares fit of the 2/3 power rule to the profile at the Army
Corps of Engineers Field Research Facility in Duck, NC (measured profile modified from
Lee and Birkemeier 1993).
Since the 2/3 power form of the EBP equation does not describe the beach profile
above the SWL, a separate method was adopted to describe this portion of the native
profile. It was assumed that this portion of the profile is linear and is uniquely defined by
two parameters: the berm height and the natural beach face slope.
Accounting for Arbitrary Fill Sediment Sand Size Distributions
The methodology presented in this study permits a more realistic description of the
nourishment sediment than previous methods. The user is not restricted to defining a
single sediment size to describe the entire fill. Instead, the programs allow the
nourishment sand size to be represented in two ways: 1) a log-normal distribution
defined by the mean, DF (mm), and the standard deviation, aF (phi units); and 2) an
arbitrary distribution defined by sediment sizes (phi units) and their corresponding
cumulative frequency of occurrence (proportion finer than).
Description of Assumptions and Programs
As mentioned previously, two MATLAB programs were developed for this study.
One is used for the case of fill sediment coarser than the native (fcoarser.m); the other for
the case of fill sediment finer than the native (ffiner.m). The input required by the
programs includes the native sediment size (mm) or an arbitrary native profile (m); the
nourishment sediment distribution (log-normal or arbitrary); the berm height, B (m);
closure depth, h. (m); natural beach face slope, slope_nat (m/m); placement volume
density, V (m3/m); and placement slope, slopeplace (m/m). The placement slope is
assumed to be steeper than the natural beach face slope. Figure 3-2 illustrates the input
variables required by the programs.
-- Native
-2 --.---,, T -- 5 ,
S\ \ EP
1\ \jslope-place
S2-
0 100 200 300 400 500
Distance Offshore (m)
Figure 3-2. Definition of input variables.
From the given nourishment sediment size distribution, the programs determine the
cumulative frequency distribution (proportion finer than). The distribution is then
divided in two portions. One portion is required to have the same mean size as the native
distribution; the other portion contains the remainder of the fill distribution. The limit
between these two portions, 0*, is shown in Figure 3-3 and is determined by iteration.
The latter of the two portions is then subdivided into three bins with equal probability of
occurrence. This process results in the fill sediment being represented by four grain size
bins, each with a corresponding fraction of the fill sediment volume. Figure 3-4 presents
an example of dividing the grain size distribution into four bins. The centroid of each
bin, as present in the given fill sediment size distribution, is chosen as the
"representative" size for the bin,
Jf f ()d
,ep = -- [3-2]
Jff ()do
where 0,ep is the representative size for a bin and ,a and o are the limits of the bin. For
the case of a log-normal distribution of sediment sizes, Equation 3-2 becomes
2 e -e/
prep ="F eCFv-- e-7 ---'i + [3-3]
Ir erfj F -i \ -UF
\a12) ( 'Cr[ ) +J
where erf(z) is the error function of argument z given by
erf(z) [3-4]
"0
2.5 3
Sand Size (.)
Figure 3-3. Example of dividing the grain size distribution into two portions at <.. In
this example, the mean size of the fill sediment is finer than the native. DN = 0.20 mm,
DF= 0.14 mm, ar = 0.5.
Cummulative Nourishment Sediment Size Distribution (Log-Normal)
.8
1 1.5 2 2.5 3 3.5 4 4.5
Sediment Size (*)
Nourishment Sediment Size Distribution (Log-Normal)
6B
4
2 Bin Bin Bin Bin
B1 2 i3 4
1 1.5 2 2.5 3
Sediment Size ($)
3.5 4 4.5
Figure 3-4. Example of dividing the fill sediment grain size distribution into four bins.
In this example, the fill sediment is finer than the native and Bin 1 has the same mean
size as the native distribution. Bins 2, 3 and 4 have equal cumulative frequencies of
occurrence. DN= 0.20 mm, DF = 0.14 mm, rF = 0.5.
It can be shown that by initially dividing the fill sediment distribution in two portions
as described above, it is guaranteed that a solution can be attained such that the volume of
fill sand moved offshore will extend exactly to the closure depth.
Next, the given volume of nourishment sediment is placed on the beach at the
specified slope. It is assumed that a percentage of the placed volume remains in-place,
undisturbed and un-mixed, while the rest of the placed volume, known as the active
volume, is reworked, sorted, and moved offshore as the profile equilibrates. This
partitioning of the placement volume into active and un-mixed portions is illustrated in
Figure 3-5. The previously determined size bins are then successively placed offshore
from the un-mixed volume according to Equation 2-7,
h(y[)= h(y -y12 A,2y )] 21 < < [3-5]
The programs ensure that the volume of each grain size placed corresponds to the
availability of this size bin according to the given fill sediment distribution. In addition,
they guarantee that the total volume of sand moved offshore is equal to the active
volume. The sediment size bins are placed such that the size decreases offshore, as
shown in Figure 3-5. This trend in grain size variation has been observed commonly in
nature. An example of such sediment sorting was noted following the fifth Hunting
Island beach nourishment project (Kana and Mohan 1998). Here it was observed that the
proportion of coarse material decreased in the offshore direction, and there was a shift
towards finer material offshore.
The requirement of accounting for sorting processes in profile equilibration responds
to suggestions by Medina et al. (1994), who studied the variation of sediment size and
beach profile as a function of time and space. Results from this study indicate that
erosional processes on a beach do not occur as mass movements of sediment. Instead,
each grain size responds independently to hydrodynamic forces, requiring that sediment
sorting processes be taken into account to realistically represent nature.
-2 ------ -I Native
S-- SWL
S--- Placement
SActive Volume EBP
S2 Un-mixed Volume A=0.100m
S" 0A=0.100m
3 A=0.080ml/3
4 *A=0.071m1i
\ AA=0.058m'
5
6-
7
0 100 200 300 400 500
Distance Offshore (m)
Figure 3-5. Sediment size bins are placed with decreasing sediment size in the offshore
direction. DN = 0.20 mm, DF = 0.14 mm, 0F = 0.5, B = 2 m, slope_nat = 1/30,
slope_place = 1/20, h. = 6 m, V= 300 m3/m (Vac = 188 m3/m and Vun.mixed= 112 m3/m).
Since the equations for EBP's do not describe the profile shape above the SWL, the
shape of this portion of the profile had to be assumed. Above the SWL, the equilibrium
beach profiles were extended as straight lines with slopes equal to those of the native
beach face up to the pre-project berm height.
Based on these assumptions, an iterative process leads to a solution for the EBP.
Iterations are stopped when the resulting equilibrium beach profile offshore depth limit
(after the entire active volume is placed offshore) is within 0.01 m of the specified
closure depth. The additional dry beach width, Ayo, corresponding to this final profile is
given as the solution for the specified placement volume. Figure 3-6 shows an example
of the final profile resulting from this procedure.
Ao Y- Native
-2 ----- SWL
\ \ -- Placement
EBP
3- h=h
41
5
6
7- h=h
0 100 200 300 400 500
Distance Offshore (m)
Figure 3-6. Final EBP and Ayo obtained when the depth farthest offshore is equal to h..
DN = 0.20 mm, DF = 0.14 mm, oF = 0.5, B = 2 m, slope_nat = 1/30, slope_place = 1/20,
h. = 6 m, V= 300 m3/m, Ayo= 26.3 m.
As described above, the programs assume that cross-shore sediment transport is
dominant over longshore transport, thus considering the time scales required for cross-
shore profile equilibration to be shorter than those required for planform equilibration.
Therefore, longshore transport is disregarded in the procedures described above. In
addition, longshore sediment transport is known to vary along the length of a
nourishment project, being more pronounced at the ends of project areas, where a greater
loss of sediment is expected. Therefore, the results obtained from these programs might
also be interpreted as more applicable to the central region of the project area, where the
effects of longshore transport are less pronounced (Work and Rogers 1998).
The output of the programs includes plots of the sediment size frequency distribution,
the cumulative frequency distribution (proportion finer than) and the final equilibrium
beach profile. The resulting value of the additional dry beach width (Ayo) and the
percentage of the nourishment volume which becomes the active volume (Percent_VAcr)
are also provided.
Table 3-1 summarizes the most significant similarities and differences between the
earlier method of representing the nourishment sediment with two sediment sizes and the
current four-bin method.
Table 3-1. Comparison of earlier two-size representation to present four-size method.
Similarities
One fill sediment size bin has the same mean size as the native sediment
Cross-shore sediment size variation (decreasing size in offshore direction)
Differences
Two-bin Four-bin
2 representative fill sediment sizes 4 representative fill sediment sizes
Log-normal fill sediment size distribution Log-normal or arbitrary size distribution
Single native sediment size Single native size or arbitrary native profile
Entire volume is sorted Only active volume is sorted and moved
Vertical beach face Sloping beach face
The details of the procedures used in arriving at the final EBP for the case of fill
sediment coarser and finer than the native are different. Following is a discussion of
some relevant issues for each case.
Fill Sediment Finer than the Native (ffiner.m)
For the case of nourishment sediment finer than the native and assuming a log-normal
distribution of fill sand, the value of 0. can be obtained iteratively from
"F e- (0 .- r)12 2
/ =N +rU-F [3-6]
1 [1+erf{;LF]
2 0-Fa
where pF and /N (phi units) are the mean sediment size of the fill and native sediment
size distribution, respectively, and oF (phi units) is the standard deviation of the fill
distribution.
The procedure for arriving at the final EBP requires guessing at values of Ayo and
determining the corresponding EBP. As noted previously, the iterative process is stopped
when the offshore limit of the EBP is the same depth as h. ( 0.01 m).
For a given value ofAyo the entire fill volume is initially placed in a trial EBP
according to the A value of the coarsest nourishment sediment size bin. This trial EBP
for Ayo is used along with the previously determined fill placement profile to determine
the active volume, VACT. Figure 3-7 shows an example of this trial equilibrium profile
and the associated VACT. This calculation assumes that once the profile equilibrates, the
un-mixed portion of the placed volume will take the shape dictated by the coarsest grain
size bin. Once VACTis determined, this volume of fill is placed offshore from the un-
mixed portion of the fill. The four size bins are placed one after the other beginning with
the coarsest bin, which is placed closest to shore. The program ensures that the volume
of each sediment size placed corresponds to the percentage that is available according to
the segmented sediment size distribution. Once the entire active volume is placed in the
offshore section of the EBP, the final offshore depth (h final) is determined and
compared with h. to determine if the current value for Ayo is correct. Figure 3-8 shows
an example of the placement of the different size bins and the resulting EBP.
Appendix A contains the program listing forffiner.m, a sample input file, and the
corresponding output.
-------- i ---------- [ ---- i -- i Ii
-2 r- --- -. Native
\ \ -- SWL
I \ -- Placement
-1 \\ V Trial EBP
0 \.\ \/------------------
CVACT
2 1. "A" from coarsest bin
4--
7 ..
0 100 200 300 400 500
Distance Offshore(m)
Figure 3-7. Procedure for establishing the active volume from a trial EBP for cases with
DF
slopeplace = 1/20, h. = 6 m, V= 300 m3/m, Vact = 188 m3/m, A = 0.100 m1/3 (coarsest
bin).
2 A=0.100m13
o 3 '"
A=0.080m/3
4-
'4 \ A=0.071m13
5-, A=0.058O
6-
7 III II
0 100 200 300 400 500
Distance (m)
Figure 3-8. EBP showing decreasing trend in grain size offshore.
Fill Sediment Coarser than the Native (fcoarser.m)
For the case of nourishment sediment coarser than the native and assuming a log-
normal distribution of fill sand, the value of 0* can be obtained iteratively from
PN = PF + '- [3-7]
2 1-e C
The procedure used in the case of fill sediment coarser than the native is more
complicated than that for fill sediment finer than the native. Instead of placing the
sediment size bins from onshore to offshore, this procedure places the offshore bins first.
Due to this complication, the active volume becomes an added unknown that must be
solved for iteratively. The program commences by assuming a value for X%, the
percentage of the nourishment volume that is active, i.e. X% = VACT x 100%. For each
value ofX% (and consequentially, VACT), an iterative procedure is used to determine the
distance offshore that h* should be placed such that once the fill sediment bins are placed
inshore from this point, the total volume placed as active volume is equal to the assumed
VAcT ( 1%). This offshore distance, Yo, is shown in Figure 3-9. Once the correct value
of Yo for the given value ofAX% is found, the actual active volume that results from the
inshore portion of this EBP is determined. This resulting active volume, Res_VACT, is
shown in Figure 3-10. If the difference between Res_VAcT and VACT is less than 1%, this
value of X% and its corresponding Yo and EBP are used to obtain the value of Ayo. If the
difference between Res_VACT and VACT is greater than 1%, a new guess ofX% is assumed
and the procedure is repeated.
In placing the grain size bins across the profile, it is assumed that the profile follows
the shape dictated by Equation 3-2. However, if the profile slope exceeds the specified
natural beach face slope, from that point inshore, the profile is replaced by a straight line
with the slope of the natural beach face. This is done to simplify complications that arise
from geometry issues and to eliminate (to some extent) the unrealistic infinite slope that
results at the shoreline when using the 2/3 power rule equation for EBPs. If the
equilibrium profile intersects the placement profile underwater, the un-mixed part of the
fill volume is assumed to be shaped according to the A value corresponding to the mean
of the fill sediment distribution, DF. The mean size, DF was selected rather than the
representative size of the coarsest bin (as done in ffiner.m) because for the case of DF >
DN, the coarsest bin represents a small percentage of the total placement volume. If
would be unrealistic to assume that the entire un-mixed volume would take on this shape.
Appendix B contains the program listing forfcoarser.m, a sample input file, and the
corresponding output.
-2 -' .... Native
-- SWL
S \--- Placement
-1 --EBP
,\ \\,
0-
0 \ \~
\ \
I h.
" 2I
a
100 150 200 250 300 350 400
Distance Offshore (m)
Figure 3-9. Example of trial Yo.
-50 0 50 100 150 200 250 300 350 400 450
Distance Offshore (m)
Figure 3-10. Res_ VACT is calculated once the correct Yo value for a given X% is found.
DN = 0.20 mm, DF = 0.275 mm, OF = 0.5, V= 300 m3/m, B = 2 m, h, = 6 m,
slope_nat = 1/30, slopeplace = 1/20.
CHAPTER 4
RESULTS AND DISCUSSION
Comparison with Previous Methods
The effect of representing the nourishment sediment with four sediment size bins was
compared to results obtained with earlier methods. For this comparison, it was assumed
that the fill sediment could be represented with a normal distribution of sediment sizes.
The results obtained by representing the fill sediment by a single size and with a two-
parameter normal distribution (two size bins), are compared with the results obtained
applyingfcoarser.m andffiner.m (four size bins). For each method, the cases of fill
sediment coarser and finer than the native are presented. Also included are the results
obtained when assuming a single fill sediment size compatible with the native. The
effect of a varying placement volume density on the additional dry beach width is
depicted for all the above cases in Figure 4-1. Throughout the example, the parameters
used included: native sediment size, DN = 0.20 mm; berm height, B = 2 m; and closure
depth, h* = 6 m. For the cases with a normal distribution of fill sediment sizes, the
standard deviation was taken as 0F = 0.5. For cases with fill sediment coarser than the
native, DF = 0.275 mm; whereas for cases with fill sediment finer than the native, DF =
0.14 mm. Additional input for the more recent programs included a natural beach face
slope, slope_nat = 1/30 and a fill placement slope, slope place = 1/20. In Figure 4-1, the
bold lines represent the cases where the nourishment sediment is represented by a single
sediment size. The dash-dotted lines are the two-parameter representation assuming a
log-normal distribution of nourishment sediment sizes and two size bins. The lines with
markers represent the solutions obtained usingfcoarser.m andffiner.m (both representing
the nourishment sediments with log-normal distributions and four size bins).
Comparison of Dry Beach Width for Varying Values of Volume Placed
F=0.5
0 100 200 300 400 500
Placement Volume Density (m3/m)
600 700
Figure 4-1. Comparison of predicted additional dry beach width for different methods of
representing the nourishment sediment.
In studying the results obtained withffiner.m andfcoarser.m and comparing them with
results from previous methods, it was determined thatfcoarser.m might not accurately
represent some scenarios. Although the qualitative results illustrate expected trends,
quantitative comparison with results from previous methods should be performed with
much caution and good judgement. This is especially the case for conditions when the
placement volume is small and when DF is only slightly larger than DN. Further
explanation of these circumstance and their effect on the results is given below.
Althoughfcoarser.m must be used with caution, its results are still significant in studying
the effects and complications of describing an equilibrium profile with a variety of
sediment sizes for the case of DF > DN. Although the case of DF > DN is relevant, most
beach nourishment projects constructed make use of fill sand finer than the native (DF <
DN) due to restrictions imposed by the availability and feasibility of obtaining coarser
sand. Therefore, ffiner.m should be applicable to most nourishment projects.
Figure 4-2 presents the nourishment sediment size distribution for the case of
nourishment sediment coarser than the native (example in Figure 4-1). Figure 4-3
presents the four size bins corresponding to this scenario. As shown in Figure 4-1, the
Ayo values predicted byfcoarser.m are always greater than those predicted by the two-bin
method. This can be attributed to the newly introduced concept of "active volume". The
two-bin method assumes that the entire fill volume placed on the beach will be reworked
and sorted such that the portion with the coarser size is placed inshore and the portion
with the finer size is placed offshore from it. Therefore, unless 0F- is large, the finer
portion does not remain on the beach as part of the beach berm, since this upper portion
of the profile is preferentially composed of the coarser size. However, using the concept
of an "active volume",fcoarser.m assumes that a portion of the fines remains inshore as
part of the un-mixed volume and contributing to the additional dry beach width as part of
the beach berm. Therefore, unlike the two-bin method, withfcoarser.m, not all the fines
are moved offshore. This results in a smaller percentage of the fine sand being moved
offshore. In addition, the coarse bin used by the two-bin method is subdivided into three
bins when usingfcoarser.m. As a result, fcoarser.m uses some bins that are coarser than
the one used by the two-bin method. The coarser bins result in steeper slopes and wider
beaches. As observed in Figure 4-1, the Ayo values obtained withfcoarser.m are initially
smaller than those obtained by assuming a single nourishment sediment size. This is
expected sincefcoarser.m is based on a log-normal distribution of sediment sizes.
Therefore, it accounts for a range of sizes including some that are finer than DF. These
finer sediments are sorted out and moved offshore, where their effect on the dry beach
width is not as pronounced. As Vincreases, the Ayo values obtained withfcoarser.m
surpass those predicted for a single nourishment sediment size. This can be attributed to
the four size bins thatfcoarser.m uses to represent the fill sediment. The coarser bins will
have a representative sediment size that is larger than the single size used by the single
grain size assumption. The steeper equilibrium slopes resulting from these coarser
sediments yield a wider beach. This effect is larger for increasing values of V.
Figure 4-2. Nourishment sediment size distribution for the case of DF > DN.
1
o0.8
4oe
0.4
0.2
S-
0.4
C.
0.:
Cummulative Nourishment Sediment Size Distribution (Log-Normal)
. 0.5 .. 1. 52.
............... ............... ..............
.. . . . .. . . .
0 0.5 1 1.5 2 2.5
Sediment Size (M)
Nourishment Sediment Size Distribution (Log-Normal)
3 3.5
1.5 2
Sediment Size (i)
Figure 4-3. Four sediment size bins used byfcoarser.m (DF > DN).
Figure 4-4 presents the nourishment sediment size distribution for the case of
nourishment sediment finer than the native (example in Figure 4-1). Figure 4-5 presents
the four size bins corresponding to this scenario. As is observed in Figure 4-1, for the
case of nourishment sediment finer than the native, the Ayo values predicted byffiner.m
are always larger than those predicted with the two-bin and the single sediment size
assumptions. Dividing the fill sediment distribution into four bins with one having the
same mean as the native guarantees that a finite Ayo value will always be obtained with
ffiner.m. This is not the case when a single sediment size is used to represent the fill. As
seen in Figure 4-1, for that case, there is a threshold value of Vbelow which no
additional dry beach width will result. The procedure used byffiner.m divides the
i
I
>
sediment distribution into four bins guaranteeing that one of the bins will have a mean
size greater than DF. This results in greater Ayo values than obtained when assuming the
entire fill is of size DF. The Ayo values predicted byffiner.m are also expected to be
greater than those obtained with the two-bin method. This can be attributed to the "active
volume" concept explained above. In addition, sinceffiner.m subdivides the finer bin
used by the two-bin method into three smaller bins, one or two of these will be
guaranteed to be coarser than the original bin, resulting in a wider beach.
1 1.5 2 2.5 3
Sand Size (0)
3.5 4 4.5
Figure 4-4. Nourishment sediment size distribution for the case of DF < D.
I0
0.
I0
_Z0.
E
0
Cummulative Nourishment Sediment Size Distribution (Log-Normal)
,8
.6 ...."""""""" I""".""""" I
.2
1 1.5 2 2.5 3 3.5 4 4.5
Sediment Size (4)
Nourishment Sediment Size Distribution (Log-Normal)
Sediment Size (4)
Figure 4-5. Four sediment size bins used byffiner.m (DF < DN).
The effect of varying the sorting of the nourishment sediment size distribution was
studied forffiner.m andfcoarser.m. For DF > DN, it was determined that increasing oa
decreases the predicted dry beach width, as shown in Figure 4-6. As 0F increases, the
proportion of the fill sediment size distribution having the same mean as the native
increases. Consequently, the proportion of the fill sediment size distribution
corresponding to the coarser bins decreases. The total percentage of fines in the fill
increases, leading to a decreasing additional dry beach width. Although the mean sizes of
the coarser bins increase with increasing ar, these bins become very small, which
decreases their effect. In addition, they become so steep that they are quickly replaced
with the critical natural slope of the beach, slope_nat. For the case of D < DN, Figure 4-
7 shows that the trend is the opposite. As cF increases, the proportion of the fill sediment
distribution having the same mean size as the native increases. Since this corresponds to
the coarsest sediment size bin, it results in an increase in the additional dry beach width.
Although the mean sizes of the three finer bins decrease, tending to decrease the resulting
additional dry beach width, this does not occur because the effect of these bins is
diminished since the proportion of the fill sediment corresponding to these sediment sizes
decreases with increasing cF.
80
70 -
60
50
o
M 40
30
20
10
0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
Sorting of Nourishment Sediment, OF (0)
Figure 4-6. Effect of the sorting of nourishment sediments on the additional dry beach
width (DF > DN).
_ N = 0.20 mm
Dp = 0.275 mm
B=2m
h.=6m
V = 300 m3/m
slope_nat = 1/30
slope place = 1/20
-
-
40 -
3 2-___________h._=6m ___
3 _V = 300 m3/m
: slopenat = 1/30
S15 slopeplace= -
35
m 1/20
=o0
15 15---------
10
0
0.0 0.5 1.0 1.5 2.0
Sorting of Nourishment Sediment, oF (0)
Figure 4-7. Effect of the sorting of nourishment sediments on the additional dry beach
width (DF < DN).
Figure 4-8 shows the effect of varying Dr while holding DN constant. The results
labeled as biclassf correspond to those obtained using the Fortran program for the two-
bin method. Figure 4-8 includes Ayo predictions corresponding to DF > DN and DF < DN
for the two-bin and four-bin methods. The star plotted for DF = DN corresponds to the
assumption of a single size compatible sediment. As mentioned previously, the dry
beach widths predicted by the four-bin method are greater than those predicted by the
two-bin method. For the case of DF < DN, as the value of DF approaches DN, the
additional dry beach width predicted byffiner.m approaches that predicted by the two-bin
method (biclass.f). This occurs because the procedure for dividing the sediment
distribution into four bins assigns an increasing percentage to the bin with the same mean
as the native as DF approaches DN. Therefore, the resulting segmented distribution
closely approximates that used by the two-bin method. In addition, as DF approaches DN,
the additional dry beach width predicted by both methods approaches the value obtained
from the compatible sediment assumption. This occurs because the resulting
distributions allocate most of the volume to the bin with mean DN, leaving very little to
the coarser bins. Therefore, they essentially represent the fill sediment as a single size
with mean DN. Accordingly, it is expected that as DF approaches DN, the predictions
provided byfcoarser.m and biclassf for DF > DN should converge to the result predicted
by the compatible sediment assumption. As seen in Figure 4-8, this is the case for
biclass.f. As illustrated, for the case of D > DN, the two-bin assumption requires that a
threshold value for DF be surpassed before an increase in the additional dry beach width
is obtained. When DF is close to DN, the sediment volume allocated to the coarser bin is
so small that it all resides within the berm. The total additional dry beach is then
determined by the finer bin (DN) until DF is large enough that the corresponding coarse
volume extends beyond the berm and thus is active. The results portrayed in Figure 4-8
indicate that forfcoarser.m a "jump" occurs near DF= DN, indicating that the results
obtained from this program might not be as reliable. This 5 m jump near Dn implies that
the program may be over-predicting the additional dry beach width. A closer look at the
program's assumptions and routines indicates that the problem may reside in the
geometrical complications that stem from the many different configurations the
equilibrium profile may take close to its intersection with the placement profile,
especially when the sediment volume corresponding to the coarser bins is small. It is
recommended that further refinement in this area of the program be achieved. However,
this may also identify a shortcoming in the basic assumptions offcoarser.m. If the
suggested modifications are included and it is found that their effect is very significant, it
may be that the assumptions allot excessive importance to very small volumes of
sediment. It is questionable whether such small volumes of coarse sediment should have
such a great effect on the equilibrium profile and the corresponding additional dry beach
width.
80
DN = 0.20 mm
70 OF = 0.5
B=2m
h. =6 m
S 60 slope_nat =
1/30
n 50 slope.place =
50" . ------------'
0)
m 40
? 30
30
< 20
10
0
0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28
Mean Nourishment Sediment Size, DF (mm)
Figure 4-8. Variation of the additional dry beach width with DF when DN is constant.
It may be concluded from Figure 4-8 that the estimates obtained with ffiner.m and
fcoarser.m may only be an improvement over those predicted by the two-bin method
when the native sediment size is sufficiently different from the mean nourishment
sediment size.
Figure 4-9 presents an example of a skewed nourishment sediment size distribution
that would previously have been required to be approximated by a log-normal
distribution. The programsffiner.m andfcoarser.m allow the actual size distribution to
-4- ffiner.m
'--I biclass.f (DF
X compatible sand
--- fcoarser.m
-*- biclass.f (DF>DN)
_ _^_ _____ _
be used in determining the additional dry beach width resulting from nourishing a beach
with this fill sand.
Nourishment Sand Size Distribution (Arbitrary)
Sand Size (4)
Cumulative Distribution (Finer Than)
-1 0 1 2 3 4 5 6
Sand Size (4)
Figure 4-9. Example of an arbitrary nourishment sediment size distribution and its log-
normal approximation. (a) Frequency.distribution; (b) cumulative frequency.
Delray Beach Nourishment Project: A Case Study Application
Between November and December 1992, Delray Beach was nourished with
approximately 914,800 cubic meters of sediment obtained from offshore borrow pits.
The project was constructed over 3.14 km and represented the third periodic
renourishment of the beach since its initial nourishment in 1973. Figure 4-10 presents the
average profiles representing the project in the pre-nourishment (October 1992), post-
nourishment (December 1992) and 48-month post-placement (January 1997) conditions.
These were obtained by averaging the profiles corresponding to the middle half of the
project area for each survey. The common point for each set of profiles averaged was
taken to be the waterline. Figure 4-11 shows the borrow sediment size distribution with a
mean of 0.27 mm and a sorting of 0.74 0. The parameters for the project were used as
input forffiner.m. The closure depth was taken as 7.3 m, the berm height as 2.6 m, and
the equivalent A as 0.137 m1. It was determined from the averaged profiles that the
natural beach face slope was approximately 0.151 m/m while the placement slope was
milder at approximately 0.0491 m/m. Becauseffiner.m requires the placement slope to
be steeper than the natural slope, the estimated slopes for Delray Beach were unsuitable
for use with the program. Program runs were carried out assuming that the estimated
natural slope, placement slope, and the average of both was applicable. It was found that
the variation in the predicted additional dry beach was within 0.5 m. The resulting
predicted equilibrium beach profile for the case of a placement volume of 327 m3/m
(estimated from the averaged 1992 profiles) is shown in Figure 4-12. According to the
average profiles presented in Figure 4-10, the additional dry beach width for January
1997 is 21.0 m. Ffiner.m predicts an equilibrium dry beach width of 29.0 m; whereas
biclass.fpredicts a value of 24.8 m. Thus, both programs overestimate the additional dry
beach width. One shortcoming of both programs is that they do not take into account
longshore spreading losses that occur as sediment from the project area is transported into
the neighboring beaches. This would result in a decreased additional dry beach width. In
addition, Figure 4-10 shows a large bar in the January 1997 profile. This bar is the result
of the offshore sediment transport caused by Hurricane Gordon in November 1994. As is
seen, the profile may still be recovering from this storm and the bar may still be moving
onshore. This accumulation of sand in a bar results in a decreased dry beach width.
Since the profile may not be in equilibrium due to Hurricane Gordon, it is difficult to
compare the predictions offfiner.m and biclass.fwith the January 1997 data. An
additional run offfiner.m was carried out assuming that volume was conserved (i.e. the
placement volume corresponds to the volume of fill sand remaining in January 1997, as
determined from the average profiles). Figure 4-13 shows the resulting equilibrium
beach profile this case ( V=187 m3/m). The additional dry beach width predicted by
ffiner.m was 16.2 m, while that predicted by biclass.fwas 14.0 m, and as noted earlier,
the measured width was 21.0 m.
If the fill sediment were assumed to be represented by a single grain size (the mean of
the borrow sand size distribution, DF = 0.27 mm), the corresponding A value would be
0.119 m1/3. A least squares fit of the 2/3 power form of the EBP equation to the average
January 1997 profile yields an A of 0.153 m1/3. Therefore, representing the fill sediment
by a single size would result in a milder profile and a narrower beach width than was
measured in January 1997. This indicates that representing the fill sediment with a
distribution of sediment sizes might be more realistic than assuming the entire fill is
composed of a single sediment size. Figure 4-14 presents the average profile surveyed in
January 1997 and the mean sediment sizes of samples collected along a survey line
within the middle half of the project.
-5
-- Pre-nourishment (Oct 92)
t --- Post-nourishment (Dec 92)
4 48-month post-placement (Jan 1997)
S- SWL
5-
tL-
10 I1
-200 -100 0 100 200 300 400 500 600
Distance Offshore (m)
Figure 4-10. Average profiles for the 1992 Delray Beach nourishment project.
0.6- ; -
0.6 distribution
0.5
0.4
u- 0.3
0.2
0.1
0 ,;
-3 -2 -1 0 1 2 3 4 5
Sand Size (#)
Figure 4-11. Borrow sand sediment size distribution (Delray Beach 1992 nourishment).
bWL
-5 :W.
i Pre-nourishment (Oct 92)
% -4k Post-nourishment (Dec 92)
48-month post-construction (Jan 97)
-2.5 t ffiner.m prediction (V=327 mrnm)
: 2.5
&- '-"-' \,
7.5 -
-100 0 100 200 300 400 500
Distance Offshore (m)
Figure 4-12. Ffiner.m results for the 1992 Delray Beach nourishment project (V=327
m /m).
Distance Offshore (m)
Figure 4-13.
m /m).
Ffiner.m results for the 1992 Delray Beach nourishment project (V=187
a) Profile
-5
0 SWL
5-C
10
-100 0 100 200 300 400 500 600
Distance Offshore (m)
10.6
N
0.4
0.2
200 300
Distance Offshore (m)
Figure 4-14. Measured cross-shore sediment size distribution for Delray Beach (January
1997).
As is seen from the significant effect of Hurricane Gordon on the beach profile, it is
obvious that a beach profile may not be solely determined by sediment size. Other
factors, such as wave height may play an important role in determining a beach's
equilibrium profile. As an attempt to study this effect on Delray Beach, a comparison of
the A values before and after the storm was carried out for the average profiles outside the
nourishment area. As determined from the WIS hindeast study for this area, the average
significant wave height during Hurricane Gordon was 2.5 m for a nearby offshore station.
This represents double the WIS estimated annual average of 1.25 m. A least squares fit
of the 2/3 power form of the EBP equation (allowing the origin of the profile to float)
was used for the average profiles outside the nourishment area for the pre-storm
(December 1993) and post-storm (December 1994 and December 1995) conditions. The
pre-storm A value was 0.15 m1/3, while the post-storm values where 0.145 m'"3 and 0.14
m1/3 for 1993 and 1994, respectively. The pre-storm profile became milder after the
storm. This may be attributed to the effect of the large wave heights associated with
Hurricane Gordon.
The increased wave energy experienced during the storm also resulted in an increase
in the depth of closure for the area. The pre-storm closure depth was estimated at 5.5 m;
whereas the after-storm value was 7.2 m.
Further Improvements
The complications encountered in this study for the case of DF > DN are helpful in
identifying possible courses of action to be taken in future attempts to describe these
profiles. One possibility is that representing the nourishment distribution with four bin
sizes might be unrealistic, since the coarsest bin sediment sizes might become
disproportionally large as DF approaches DN, giving a seemingly great importance to a
small volume of sediment. The sediment distribution might be represented with two bins,
as is done by biclass.f. An improvement to this would be to include the concept of the
active volume.
Further studies should be carried out to determine the dependence of A on factors
other than the sediment size. As suggested above, one possible parameter would be the
wave height. In addition, it is recommended that monitoring procedures for beach
nourishment projects include additional sand sampling throughout the project lifetime.
This would aide in the understanding of the cross-shore variation of sediment sizes with
equilibration and might improve the assumptions made by programs such asffcoarser.m
and ffiner.m.
CHAPTER 5
SUMMARY AND CONCLUSIONS
Two Matlab programs were developed to determine the additional dry beach width
resulting from a beach nourishment project carried out with sediments characterized by a
range of sediment sizes. One program is applicable for the case of fill sediment coarser
than the native (fcoarser.m); the other one is applicable for the case of fill sediment finer
than the native (ffiner.m). Current methodology to predict additional dry beach widths is
based on assuming that the nourishment and native sediments can each be represented by
a single sediment size. However, it is well know that in nature, beaches and sand
available from borrow pits exhibit a distribution of grain sizes. The programs developed
in this study allow the nourishment sediment to be represented more realistically by
either a log-normal distribution with a specified mean and standard deviation, or by a
user specified arbitrary sediment size distribution. In addition, the programs allow the
native profile to be described by either a single sediment size or by an arbitrary native
profile.
The methodology applied assumes that in the time scales applicable to cross-shore
equilibration, longshore spreading losses are negligible. The nourishment sediment size
distribution is divided into four bins. One bin is required to have the same mean size as
the native beach sediment. The remainder is subdivided into three bins with equal
cummmulative frequencies of occurrence. The methodology applied assumes that as a
project equilibrates, a portion of the fill sand will remain undisturbed and un-mixed in the
onshore portion of the profile, while another portion, the "active volume", will be sorted
and moved offshore. The active volume is assumed to equilibrate with the finer sediment
being located farthest offshore, consistent with observations of natural profiles.
A comparison of the predictions obtained with this four-bin representation of the fill
sediment to the results obtained from previous methods indicates that due to the effect of
the active volume, fcoarser.m andffiner.m estimate greater dry beach widths than
previous methods for most cases. The effect of the different assumptions offcoarser.m
andffiner.m is most noticeable when DF is sufficiently dissimilar to DN. As expected for
DF very similar to DN, the results fromffiner.m converge to the predicted dry beach width
obtained assuming a single size fill compatible with the native. However,fcoarser.m
exhibits a noticeable "jump" in this case. This and other unexpected results indicate that
the procedure applied tofcoarser.m might not be applicable to cases when DF is very
similar to DN. In such cases, the volumes allocated to the coarse grain size bins are very
small, leading to geometrical complications. In addition, results indicate that a
disproportionate significance may be placed on very small volumes of coarse sediment.
Although the quantitative results provided byfcoarser.m might not be as reliable because
of these issues, the qualitative information supplied by the program is still valuable.
Since most nourishment projects are carried out with fill sediment finer than the native,
most scenarios can be covered withffiner.m.
The 1992 Delray Beach nourishment project was used as a case study. The additional
dry beach width predicted withffiner.m was larger than the measured value for the 48-
month post-construction survey. The discrepancy can be attributed to longshore
spreading losses and the effects of Hurricane Gordon in 1994. The storm conditions
resulted in movement of sediment to a large offshore bar and a milder beach profile.
A number of improvements forfcoarser.m are recommended in this study. An attempt
might be made to address the geometrical complications encountered. Another option
would be to revert back to a two-bin representation of the fill sediment for cases of
nourishment sediment coarser than the native. The concept of an "active volume" could
then be incorporated in this two-bin representation.
In addition, it is recommended thatffiner.m andfcoarser.m be modified to account for
longshore spreading losses and the possible loss of fines offshore from the closure depth.
Further improvement might result from the inclusion of the effect of wave height on the
beach profile shape. In addition, a detailed study of the dependence of the profile scale
paramater, A, on wave height and other factors should be carried out.
APPENDIX A
PROGRAM LISTING FOR FFINER.M
% ffiner.m (MAIN PROGRAM)
% DF
close all
clear all
warning off
% DEFINE GLOBAL VARIABLES
global miuF miuN sigmaF V B slope_nat slope_place AN_des Arep dyl
y_eqb delta_Vact Vl Dy yI n hint yint V
global Vact FI numbins hi heqb Percent Vact dyo
global num den bin f_arb phi_arb
% LOAD INPUT DATA
inputdata
numbins=4;
% TABLE OF A VALUES
dtab=0.1:0.01:1.09;
d_tab=(round(d_tab.*100))./100;
A_tab=(0.063 0.0672 0.0714 0.0756 0.0798 0.084 0.0872 0.0904 0.0936
0.0968 0.1 0.103 0.106...
0.109 0.112 0.115 0.117 0.119 0.121 0.123 0.125 0.127 0.129 0.131
0.133 0.135 0.137...
0.139 0.141 0.143 0.145 0.1466 0.1482 0.1498 0.1514 0.153 0.1546
0.1562 0.1578 0.1594...
0.161 0.1622 0.1634 0.1646 0.1658 0.167 0.1682 0.1694 0.1706 0.1718
0.173 0.1742 0.1754...
0.1766 0.1778 0.179 0.1802 0.1814 0.1826 0.1838 0.185 0.1859 0.1868
0.1877 0.1886...
0.1895 0.1904 0.1913 0.1922 0.1931 0.194 0.1948 0.1956 0.1964 0.1972
0.198 0.1988...
0.1996 0.2004 0.2012 0.202 0.2028 0.2036 0.2044 0.2052 0.206 0.2068
0.2076 0.2084...
0.2092 0.210 0.2108 0.2116 0.2124 0.2132 0.2140 0.2148 0.2156 0.2164
0.2172];
% IF GIVEN DN DETERMINE THE CORRESPONDING SEDIMENT SCALE PARAMETER
if nat==l
miuN=-(log(DN)./log(2));
DN (round(DN.*100))./100;
k=find(dtab==DN);
ANdes=Atab(k);
end
% IF GIVEN AN ARBITRARY NATIVE PROFILE DETERMINE THE LEAST SQUARES FIT
OF 2/3 POWER RULE
if nat==2
ANdes=sum(harb.*y arb.^(2/3)) ./sum(y_arb.^(4/3));
q=find(Atab
ql=max(q);
q2=ql+l;
DN=d_tab(ql)+(d_tab(q2)-dtab(ql))./(A_tab(q2)-Atab(ql)).*(ANdes-
A_tab(ql));
miuN=-(log(DN)./log(2));
end
% IF GIVEN A LOG-NORMAL SEDIMENT SIZE DISTRIBUTION:
if fill==l
% Determine CDF
miuF=-(log(DF)./log(2));
phi=miuF-4.*sigmaF:(miuF+4.*sigmaF-
miuF+4.*sigmaF)./30:miuF+4.*sigmaF;
f=l./sigaF/sqrt(2*pi).*exp((phimiuF)2/2/sigmaF.2);
F=l-0.5.*(l+erf((phi-miuF)./sqrt(2)./sigmaF));
% Determine phi_star
guess phistar=(miuN+miuF) ./2;
phi star=fzero('eqtnl', guess phistar,optimset('disp','off'));
% Plot nourishment sediment size distribution along with phi_star
figure
plot(phi,f)
hold on
plot([miuF miuF],[0 max(f)])
plot([miuN miuN],[0 max(f)],'r')
plot([phi_star phi star],[0 max(f)],'g')
xlabel('Sand Size (phi)'); ylabel('Frequency');
legend('distribution','miu F','miu N', 'phi_*')
title('Nourishment Sand Size Distribution (Log-Normal)')
axis( miuF-4*sigmaF miuF+4*sigmaF 0 max(f)])
% Plot cumulative nourishment sediment size distribution along with
phi_star
figure
plot(phi,F)
hold on
plot([miuF miuF],[0 1])
plot([miuN miuN],[0 1],'r')
plot([phi_star phi_star],[0 1],'g')
xlabel('Sand Size (phi)'); ylabel( 'Cummulative Frequency');
legend('cummulative distribution','miu F','miu N', 'phi_*');
title('Cummulative Nourishment Sand Size Distribution (Log-
Normal)') ;
axis([miuF-4*sigmaF miuF+4*sigmaF 0 1])
% Determine limits of bins (for numbins)
Fstar=l-0.5.*(l+erf((phi_star-miuF)./sqrt(2)./sigmaF));
deltaF=Fstar./(numbins-1);
FI(1)=1;
FI(2)=Fstar;
for i=3:numbins
FI(i)=FI(i-1)-deltaF;
end
FI(numbins+l)=0.0;
phi_FI=sqrt(2).*sigmaF.*erfinv(l-2.*FI)+miuF;
% Determine phi_rep for bins
for i=l:numbins
ul=(phi_FI(i)-miuF)./sigmaP./sqrt(2);
u2=(phi_FI(i+l)-miuF)./sigmaF./sqrt(2);
phi_rep(i)=sqrt(2./pi).*sigmaF.*(exp(-ul.A2)-exp(-
u2.^2))./(erf(u2)-erf(ul))+miuF;
d_rep(i)=2.^(-phi_rep(i)) ;
d_rep(i)=(round(d_rep(i).*100))./100;
if d_rep(i)>=0.l
j=find(d_tab==drep(i));
A_rep(i)=A tab(j) ;
elseif d_rep(i)<0.1
A_rep(i)=0.4.*d_rep(i).^(0.8);
end
end
end
% IF GIVEN AN ARBITRARY CUMULATIVE FILL SEDIMENT DISTRIBUTION:
if fill==3
Dbins=length(D_arb)-1;
phi_arb=-log2 (Darb);
for q=l:Dbins
f_arb(q)=F_arb(q)-Farb(q+1);
end
% Find phi_84 and phi_16 corresponding to 84% and 16% cumulative %
distribution
clear q ql q2
q=find(Farb==0.84);
if isempty(q)==0
D_84=D_arb(q);
phi_84=-log2(D_84);
else
ql=find(F_arb>0.84);
ql=max(ql);
q2=ql+l;
D_84=D_arb(q2)+(0.84-Farb(q2)).*(Darb(ql)-
D_arb(q2))./(Farb(ql)-Farb(q2));
phi_84=-log2(D_84);
end
clear q ql q2
q=find(F_arb==0.16);
if isempty(q)==0
D 16=Darb(q);
phi_16=-log2(D16);
else
ql=find(F_arb>0.16);
ql=max(ql);
q2=ql+l;
D 16=Darb(q2)+(0.16-F arb(q2)).*(D_arb(ql)-
D_arb(q2))./(F_arb(ql)-F_arb(q2));
phi_16=-log2(D_16);
end
phimean=(phi_84+phi_16)./2;
phi_sorting=(phi_16-phi_84)./2;
DF_mean=2. (-phi_mean)
DN
if DF mean>=DN
sprintf('Warning: DF>=DN, THIS PPOGPAM IS NOT APPLICABLE!')
pause
end
% Determine phi_star
centroid=phi_arb(l);
bin=0;
while centroid
bin=bin+l;
num=0 ;
den=0;
for i=l:bin
num=num+f_arb(i).*(phiarb(i+l)-
*(p_arb(i)).*(phi_arb(i)+phiarb(i+l))./2;
den=den+farb(i).*(phi_arb(i+l)-phi_arb(i));
end
centroid=num./den;
end
if centroid==miuN
phi_star=phi_arb(i+l);
else
guess_phi_star=phi_arb(i);
num=num-f_arb(i).*(phi_arb(i+l)-
phi_arb(i)).*(phi_arb(i)+phiarb(i+l))./2;
den=den-f_arb(i).*(phi_arb(i+l)-phi_arb(i));
phi_arb(i)
phiarb(i+1)
phi_star=fzero('eqtnl0',guess_phi_star,optimset('disp','off'))
if phi_star>phi_arb(length(phi_arb)) phi_star
sprintf('Error: phi_* falls outside of range of given
sediment size distribution')
end
end
% Plot sediment size distribution
area=0;
for i=l:Dbins
area=area+f_arb(i).*(phiarb(i+l)-phi_arb(i));
end
figure
plot([phi_mean phi_mean],[0 max(f_arb)./area+.05],':b');
hold on
plot([miuN miuN],[0 max(farb)./area+.05],':r');
plot([phi_star phi_star],[0 max(f_arb)./area+.05],':g');
for i=l:Dbins
plot([phi_arb(i) phiarb(i)],[0 f_arb(i)./area]);
plot([phi_arb(i) phi_arb(i+l)],[f_arb(i)./area f_arb(i)./area]);
plot([phi_arb(i+l) phi_arb(i+l)],[0 f_arb(i)./area]);
end
plot([phiarb(i+l) phi_arb(i+l)],[f_arb(i)./area 0]);
xlabel('Sand Size (phi)'); ylabel('Frequency');
legend('miuF','miu N', 'phi_*','distribution');
title('Nourishment Sand Size Distribution (Arbitrary)');
% Plot cumulative frequency sediment size distribution (finer than)
figure
plot(phiarb,F_arb,'.-')
hold on
plot( [phimean phi_mean], 0 11)
plot([miuN miuN],[0 1],'r')
plot([phi_star phi_star],[0 1],'g')
xlabel('Sand Size (phi)'); ylabel('Cummulative Frequency (Finer
than)');
legend('cummulative distribution','miu F','miu N', 'phi_*');
title('Cummulative Nourishment Sand Size Distribution (Arbitrary)');
% Determine limits of bins
clear q ql q2
q=find(phiarb
ql=max(q);
q2=ql+l;
F_star=(F_arb(ql)-F_arb(q2)).*(phi_star-phi_arb(q2))./(phi_arb(ql)-
phi_arb(q2))+F_arb(q2);
delta F=F star./(numbins-l);
FI(1)=1;
FI(2)=F_star;
for i=3:numbins
FI(i)=FI(i-l)-delta_F;
end
FI(numbins+l)=0.0;
phi_FI(1)=phi_arb(1);
phi_FI(2)=phi_star;
for i=3:numbins
clear q ql q2
q=find(F_arb>FI(i));
ql=max(q);
q2=ql+l;
phi_FI(i)=(FI(i)-F_arb(q2)).*(phiarb(ql)-
phi_arb(q2))./(F_arb(ql)-Farb(q2))+phi_arb(q2);
end
phi FI(numbins+l)=max(phi_arb);
clear q ql q2
% Determine phi_rep for bins
phi_rep (1) =miuN;
for i=2:numbins
clear q phi hold F hold sum t
q=find((phi_arb>phi FI(i))&(phaphiarb
phihold=[phi_FI(i) phi_arb(q) phi_FI(i+l)];
F_hold=[FI(i)F_arb(q) FI(i+l)];
sum=0;
for t=l:length(phi_hold)-1;
sum=sum+(F hold(t+l)-
F_hold(t)).*(phihold(t)+phihold(t+l))./2;
end
phi_rep(i)=sum./(F_hold(length(F_hold))-F_hold(1));
end
clear q
% Determine A_rep from phi_rep
d_rep=2.A(-phi_rep);
d_rep=(round(d_rep.*100))./100;
for i=l:numbins
if d_rep(i)>=0.1
j=find(d_tab==drep(i));
Arep(i)=Atab(j);
elseif d_rep(i)<0.1
A_rep(i)=0.4.*d_rep(i). (0.8);
end
end
end
% DETERMINE PLACEMENT PROFILE
guess_yI=200;
yI=fzero('eqtn2',guessyI,optimset('disp','off'));
dyI=yI+B./slope_nat-B./slopeplace-AN_des.*yI.^(2./3) ./slope_place;
hl=AN des.*yI.^(2./3);
% ITERATE TO DETERMINE EQUILIBRIUM- BEACH PROFILE
max_dyo=dyl-B./slope_nat+B./slope_place;
q=1;
trial_dyo(q)=max_dyo-5;
dyo=trial_dyo(q) ;
trial_hfinal(q)=findfinalh(dyo);
while trial_hfinal(q)
q=q+l;
trial dyo(q)=trial_dyo(q-) -5;
dyo=trial_dyo(q);
trial_hfinal(q)=findfinalh(dyo);
end
next_dyo=trial_dyo(q)-(trial hfinal(q)-hstar).*(trial_dyo(q-l)-
trial_dyo(q))./(trial_hfinal(q-l)-trial_hfinal(q));
dyo=next_dyo;
next_hfinal=findfinalh(dyo);
diff=abs(next_hfinal-hstar);
while diff>0.01
if next hfinal>hstar
dyo_right=trial_dyo(q-) ;
hfinal_right=trial_hfinal(q-1);
dyo_left=next dyo;
hfinal_left=next final;
elseif nexthfinal
dyo_right next_dyo;
hfinal_right=next_hfinal;
dyo_left=trial_dyo(q);
hfinal_left=trial_hfinal(q);
end
next_dyo=dyo_left-(hfinal left-hstar).*(dyo_right-
dyo_left)./(hfinalright-hfinal_left);
dyo=next_dyo;
next_hfinal=findfinalh(dyo);
diff=abs(next_hfinal-hstar);
end
% DETERMINE NATIVE PROFILE
y_nat=0: (y_eqb(numbins+l)) ./85:y_eqb(numbins+l);
h_nat=AN_des.*y_nat.^(2/3);
h_nat=[-B hnat];
y_nat= [-B/slope_nat y_nat];
% PLOT ARBITRARY NATIVE PROFILE ALONG WITH THE LEAST SQUARES FIT
PROFILE
if nat==2
figure
y_nat2=0:max(y_arb)./85:max(y_arb);
h_nat2=ANdes.*ynat2.A(2/3) ;
hnat2=[-B hnat2] ;
y_nat2=[-B/slope_nat ynat2 ;
plot(ynat2,h_nat2,'.-b')
set(gca,'ydir','reverse')
hold on
plot(y_arb,h_arb,'+-r')
plot([min(y_nat) max(y_nat)],[0 0],'k')
xlabel('Distance from Shoreline (m)');ylabel('Depth (m)');
legend('Smoothened Native Profile','Original Arbitrary
Profile', 'SWL');
title('Comparison of Arbitrary and Smoothened Native Profiles')
end
% PLOT NATIVE, PLACEMENT AND EQUILIBRIUM PROFILES
% PLOT NATIVE PROFILE
figure
plot(y_nat,h_nat,'-b')
set(gca,'ydir','reverse')
% PLOT WATER LINE
hold on
plot([min(y_nat) max(y_nat)],[0 0],'k')
% PLOT PLACEMENT PROFILE
y_place=[min(y_nat) min(y_nat+dyl) yI];
hplace=[min(h_nat) min(h_nat) hi];
plot(yplace,h_place,'-r');
% PLOT RESULTING EBP
hold on
for n=1:numbins
clear yplot hplot
yplot=y_eqb(n):(y_eqb(n+l)-y_eqb(n))./40:y_eqb(n+l);
hplot=(h_eqb(n).^(3./2)+A_rep(n).A(3./2).*(yplot-y_eqb(n))).^(2./3);
plot(yplot,hplot,'-m')
end
plot(ty_nat(1)+dyo dyo],[-B 0],'-m');
% PLOT LIMITS OF EACH SEDIMENT SIZE BIN
for n=2:numbins+l
h_corr(n)=ANdes.*(y_eqb(n)) (2./3);
plot([y_eqb(n) y_eqb(n)],[heqb(n) hcorr(n)], 'm')
end
legend('Native','SWL','Placement','EBP');
title('Beach Profiles')
xlabel('Distance (m)'); ylabel('Depth (m)');
axis([y_nat(l) y_eqb(length(y_eqb )+5 -B-0.25
AN_des*(max(y_eqb))^(2/3)+0.25])
% PRINT FINAL ANSWERS TO SCREEN
sprintf(* ******************************FINAL-
ANSWER******************************* )'
dyo
PercentVact
%Findfinalh.m (function that loops for dyo)
function [h_final] = findhfinalfh(dyo)
global miuF miuN sigmaF V B slope_nat slope_place AN_des Arep dyl dyo
y_eqb delta_Vact Vl Dy yI n hint yint V2
global Vact FI numbins hi heqb Percent_Vact
sprintf('------------------------------NEW-GUESS-----------------------
dyo
% DETERMINE (yint, hint) AND Vact FOR THIS GUESS OF dyo
guess_yint=yI;
yint=fzero('eqtn3',guessyint,optimset('disp','off'));
hint=Arep(l).*Arep*(A_rep().*(yint-dyo).^(2/3)./slope_place+dyl-
B./slope_nat+B./slopeplace-dyo).^(2/3);
Vactl=-0.5.*B.A2./slope_nat+B.*(dyI-dyo)+0.5.*B.^2./slope_place;
vact2=3./5.*A_rep(1).*(yint-dyo).^(5./3)-0.5.*hint.^2./slopeplace;
Vact=Vactl+Vact2
Percent Vact=Vact./V.*100
% DETERMINE VOLUME OF FILL SEDIMENT CORRESPONDING TO EACH GRAIN SIZE
BIN
for i=l:numbins
delta_Vact(i)=(FI(i)-PI(i+l)).*Vact;
end
% DISTRIBUTE Vact ALONG THE OFFSHORE PORTION OF THE PROFILE
y_eqb(1)=dyo;
h_eqb(l) =0;
yeff(1)=(hint./A_rep(1)).A(3./2);
Dy(l)=yeff(l)-yint;
Vl=0.5.*hI.^2./slope_place-0.5.*hint.^2./slope_place-
3./5.*A_rep(l).*((Dy(l)+yl). (5./3)-(Dy(1)+yint) .(5./3));
if Vl
sprintf('Vl < deltaVact(l)')
hend=(hint^(3/2)+A_rep(1).^ (3/2)*(y-yint)).^(2/3);
guess_y2=yI+100;
solve_y=fzero('eqtn4',guess y2,optimset('disp','off'));
while isnan(solve_y)==l
guessy2=guessy2+50;
solve_y=fzero('eqtn4',guessy2,optimset('disp','off'));
end
y_eqb(2)=solve_y;
if isnan(y_eqb(2))==1
sprintf('ERROR: NO CONVERGENCE!!!! NEED TO INCREASE INITIAL
GUESS FOR EQTN4. Hit any key to continue')
pause
end
% h_eqb(2)=A_rep(l).*(y_eqb(2)+Dy(l)).^(2/3);
h_eqb(2)=(heqb(l)^(3/2)+A_rep(l) .(3/2).*(y_eqb(2)-
y_eqb(l))) .(2/3);
% yplot=yint:(y_eqb(2)-yint)./10:y_eqb(2);
% hplot=(hint^(3/2)+A_rep(1) .(3/2).*(yplot-yint)).^(2/3);
% plot(yplot,hplot,'-m')
for n=2:numbins
yeff(n)=(heqb(n) ./Arep(n)).^(3./2);
Dy(n)=yeff(n)-y_eqb(n);
guess_y=yeqb(n);
solve_y=fzero('eqtn5',guess_y,optimset('disp','off'));
y_eqb(n+1) =solve_y;
h_eqb(n+l)=(heqb(n) .A(3/2)+Arep(n) (3/2).*(y eqb(n+l)-
y_eqb(nf)).^(2/3);
% clear yplot hplot
% yplot=y_eqb(n):(y_eqb(n+l)-y_eqb(n))./10:yeqb(n+1);
% hplot=(h_eqb(n) .A(3./2)+A_rep(n).A(3./2).*(yplot-
y_eqb(n))).^(2./3); % hplotcheck=A_rep(n).*(yplot+Dy(n)).^(2./3);
% plot(yplot,hplot,'-m')
end
h_final=max(heqb)
end
if Vl>delta Vact(l)
sprintf('Vl > delta_Vact(1)')
guess_y=yI ;
y_stop=fzero('eqtn6',guess_y,optimset( 'disp','off'));
h_stop=hint+slopeplace.*(y_stop-yint);
y_eqb(2)=y_stop;
h_eqb(2)=(hint. A (3./2)+A_rep(1).^ (3./2).* (y_eqb(2)-yint)).^(2./3) ;
%h_eqb(2)=A_rep(l).*(y_eqb(2)Dy((2+Dy( (2/3);
% clear yplot hplot
% yplot=yint:(y_eqb(2)-yint)./10:y_eqb(2);
% hplot=(hint^(3/2)+Arep(l) .(3/2) .*(yplot-yint)) .(2/3);
% plot(yplot,hplot,'-m')
yeff(2)=(h_eqb(2)./A_rep(2)).^(3./2);
Dy(2)=yeff(2)-y_eqb(2);
V2=0.5.*hl.^2./slope_place-0.5.*h stop.^2./slope_place-
3./5.*A_rep(2).*((Dy(2)+yI) .(5./3)-(Dy(2)+y_eqb(2)) .(5./3));
if V2>=delta Vact(2)
sprintf('WARNING!!!!! V2>delta_Vact(2) But, it is OK if dyo
converges. Hit any key to continue');
end
guessy=yI;
solve_y=fzero('eqtn7',guess y,optimset('disp','off'));
y_eqb(3)=solvey;
h_eqb(3)=(h_eqb(2) (3/2)+Arep(2).^(3/2).*(y_eqb(3) -
y_eqb(2))) .(2/3);
% n=2;
% clear yplot hplot
% yplot=y_eqb(n):(y_eqb(n+l)-y_eqb(n)) ./10:y_eqb(n+l) ;
% hplot=(heqb(n).A(3./2)+Arep(n).^(3./2).*(yplot-
y_eqb(n)) .A(2./3); % hplotcheck=A_rep(n).*(yplot+Dy(n)) .^(2./3) ;
% plot(yplot,hplot,'-m')
for n=3:numbins
yeff(n)=(heqb((n)./Arep(n)).^(3./2);
Dy(n)=yeff (n)-y_eqb(n);
guess_y=y_eqb(n) ;
solve_y=fzero('eqtn5',guess_y,optimset('disp','off'));
y_eqb(n+l)=solve_y;
heqb(n+l)=(h_eqb(n) .(3/2)+Arep(n). ^(3/2) .*(y_eqb(n+l)-
y_eqb(n))) (2/3);
% clear yplot hplot
% yplot=yeqb(n):(y_eqb(n+l)-y_eqb(n))./10:y_eqb(n+l);
% hplot=(h_eqb(n) .(3./2)+Arep(n) .(3./2) .*(yplot-
yeqb(n))) .^(2./3); % hplotcheck=Arep(n).*(yplot+Dy(n)).A(2./3);
% plot(yplot,hplot,'-m')
end
hfinal=max(heqb)
end
% Smaller functions used by ffiner.m and/or fcoarser.m
function eql=eqtnl(phi_star)
global miuF miuN sigmaF
eql=miuF-sqrt(2/pi)*sigmaF*exp(-((phi_star-
miuF)/sigmaF/sqrt(2))^2) /(+erf((phi star-miuF)/sigmaF/sqrt(2)))-miuN;
function eq2=eqtn2(yI)
global V B slope_nat slope_place AN_des
eq2=-yI+V/B-0.5*B/slope_nat+0.5*B/slopeplace-
3/5/B*AN_des*yI^(5/3)+0.5*AN desA2*yIA(4/3)/B/slope_place+ANdes*yIA(2/
3)/slope_place;
function eq3=eqtn3(yint)
global A_rep slope_place dyl B slope_nat dyo
cl=Arep(l)./slope_place;
c2=dyI-B./slope_nat+B./slope_place;
eq3=-yint+cl.*(yint-dyo).A(2/3)+c2;
function eq4=eqtn4(solve_y)
global ANdes delta_Vact V1 Arep Dy yl
eq4=delta Vact(1)-Vl-3/5.*ANdes.*(solve_y.A(5/3)-
yI.A(5/3))+3/5.*A_rep(l).*((Dy(l)+solve_y).^(5/3)-(Dy(l)+yI) .(5/3));
function eq5=eqtn5(solve_y)
global deltaVact n ANdes y_eqb A_rep Dy
eq5=deltaVact(n)-3/5.*ANdes.*(solve_y.A(5/3)-
y_eqb(n). (5/3))+3/5.*A_rep(n).*((Dy(n)+solve_y) (5/3)-
(Dy(n)+y_eqb(n)) .^(5/3));
function eq6=eqtn6(y_stop)
global deltaVact slopeplace Arep Dy hint yint
eq6=delta_Vact(1)-0.5./slopeplace.*((hint+slope_place.*(y_stop-
yint)).^2-hint.^2)+3./5.*A_rep(l).*((Dy(l)+y_stop).A(5./3)-
(Dy(l)+yint).^(5./3));
function eq7=eqtn7(solve_y)
global AN_des delta Vact V2 A_rep Dy yl
eq7=deltaVact(2)-V2-3/5.*ANdes.*(solvey. (5/3)-
yI.A (5/3))+3/5.*A_rep(2).*((Dy(2)+solvey).^(5/3)-(Dy(2)+yI).^(5/3));
function eq8=eqtn8(solution)
global AN des y n Arep Dy delta_Vact
eq8=3./5.*AN des.*(y(n+l).^(5./3)-solution).^(5./3))-
3./5.*A_rep(n).*((y(n+l)+Dy(n)).^(5./3)-(solution+Dy(n)).^(5./3))-
deltaVact(n);
function eq9=eqtn9(yint)
global dyl B slope_nat slope_place Arep Dy
eq9=dy -
B./slope_nat+B./slope_place+Arep(l)./slopeplace.*(yint+Dy(l)).^(2./3)
-yint;
function eql0=eqtnl0(phi_star)
global num den bin miuN farb phi_arb
eql0=(num+f_arb(bin).*(phi_star-
phiarb(bin)).*(phi_star+phiarb(bin))./2) ./(den+farb(bin).*(phi_star-
phi_arb(bin)))-miuN;
function eqll=eqtnll(phi_star)
global num den bin miuN f_arb phi_arb
eqll=(num+f_arb(bin).*(phi_arb(bin+l)-
phi_star).*(phi_star+phi_arb(bin+l))./2)./(den+f_arb(bin).*(phi_arb(bin
+1)-phi_star))-miuN;
function eq50=eqtn50(Yo_max)
global Vact yI star AN_des
eq50=Vact-yI.*hstar-Yo_max.*(AN_des.*Yomax. (2./3)-hstar-
yI.*AN_des./Yo_max.A(1./3));
function eq51=eqtn51(solution)
global AN_des y n A_rep Dy deltaVact
eq1l=3./5.*AN des.*(y(n+l).A(5./3)-solution.^(5./3))-
3./5.*A_rep(n).*((y(n+l)+Dy(n)).A(5./3)-(solution+Dy(n)).(5./3))-
delta Vact(n);
function eq52=eqtn52(yint)
global dyl B slopenat slopeplace A_rep Dy
eq52=slope_place.*(yint-dyI+B./slope_nat-B./slope_place)-
A_rep(l).*(yint+Dy(1)).A(2./3);
function eq53=eqtn53(ynew)
global Vadd slope_place hplcl dyl B slope_nat Arep isnany Dy y
eq53=-Vadd+0.5./slope_place. (hplcl. 2-(slope_place. (ynew-
dyl+B./slope_nat-B./slopeplace)) 2)-
3./5.*A_rep(isnany+l).*((Dy(isnany+l)+y(isnany+l)).A(5./3)-
(Dy(isnany+l)+ynew).A(5./3));
function eq54=eqtn54(ynew)
global Vadd2 slope_place heqbwat dyl B slope_nat y_eqbwat
eq54=-Vadd2+0.5./slope_place.*(h eqbwat. 2-(slope_place.*(ynew-
dyl+B./slope_nat-B./slopeplace)) .^2)+0.5*slopenat.* (y_eqbwat-
ynew) ."2;
function eq55=eqtn55(phistar)
global miuF sigmaF miuN
eq55=miuF+sqrt(2./pi) .*sigmaF.*exp(- ((phistar-
miuF)./sigmaF./sqrt(2)).^2)./(1-erf((phistar-miuF)./sigmaF./sqrt(2)))-
miuN;
function eq56=eqtn56(yI)
global V B slope_nat slope_place AN_des
eq56=-yI+V/B-0.S*B/slopenat+0.5*B/slope_place-
3/5/B*ANdes*yI(5/3)+0*ANdes2*y(4/3)/B/slopeplace+ANdes*y(2/
3)/slope_place;
function eq57=eqtn57(ycom)
global slope_place dyl B slope_nat Arep Dy
eq57=slope_place.*(ycom-dyI+B./slope_nat-B./slopeplace)-
A_rep(l).*(ycom+Dy(l)).^(2./3);
function eq81=eqtn8l(ystop)
global slope_nat A_rep n Dy
eq81=-slope_nat+2./3.*A_rep(n)./(ystop+Dy(n)).^(l./3);
function areaeqb=Inteqb(a,c)
global slope_nat hstop ystop
areaeqb=0.5.*slopenat.*(c.^2-a.^2)+(hstop-slope_nat.*ystop).*(c-a);
function areaplc=Intplc(a,c)
global slopeplace dyl B slope_nat
areaplc=0.5.*slope_place.*(c.2-a.^2)+(-slope_place.*(dyI-
B./slope nat+B./slope_place)).*(c-a);
% inputdata.m (to input data))
% TO FACILITATE ENTRY OF INPUT DATA.
VAP.IABLES.
% CHOOSE ONE OPTION TO REPRESENT THE
SEDIMENT.
% VARIABLES REQUIRED FOR ALL CASES
V=300
B=2
hstar=6
slope_nat=l./30
slopeplace=l./20
% REPRESENTING THE NATIVE PROFILE.
% PICK ONE OPTION, COMMENT OUT THE
% Option 1:
DN=0.20
nat=l
% Option 2:
%y_arb=[];
%harb=[];
%nat=2
FILL IN VALUES OF REQUIRED
NATIVE PROFILE AND THE FILL
OTHER ONE.
Single sediment size, D(mm)
Arbitrary native profile
% REPRESENTING THE FILL SEDIMENT SIZE DISTRIBUTION
% PICK ONE OPTION, COMMENT OUT THE OTHERS.
% Option 1:
DF=0.14
sigmaF=0.5
fill=l
% Option 3:
distribution
%D_arb=[];
%Farb=[];
%fill=3
Log-normal distribution
Arbitrary fill sediment cumulative size
70
Sample Output
ans =
*******************************FINAL-ANSWER********************
dyo = 26.2952
PercentVact = 62.5670
APPENDIX B
PROGRAM LISTING FOR FCOARSER.M
% fcoarser.m (MAIN PROGRAM)
% DF > DN
close all
clear all
warning off
% DEFINE GLOBAL VARIBLES
global numbins hstar hi y h incomplete straight_line nstop ystop hstop
yB perdif ResVact caseid
global miuF miuN sigmaF V B slope_nat slope place AN_des Vact yl hstar
y n Arep Dy delta_Vact hstop ystop dyl
global Yo Yo_min Yo_max dyo y_nat h_nat AF
global num den bin f_arb phi_arb test test test2 k
% LOAD INPUT DATA
inputdata
numbins=4;
% TABLE OF A(mA1/3) VALUES FOR A GIVEN D(mm)
d_tab=0.1:0.01:1.09;
d_tab=(round(dtab.*100))./100;
A_tab=[0.063 0.0672 0.0714 0.0756 0.0798 0.084 0.0872 0.0904 0.0936
0.0968 0.1 0.103 0.106...
0.109 0.112 0.115 0.117 0.119 0.121 0.123 0.125 0.127 0.129 0.131
0.133 0.135 0.137...
0.139 0.141 0.143 0.145 0.1466 0.1482 0.1498 0.1514 0.153 0.1546
0.1562 0.1578 0.1594...
0.161 0.1622 0.1634 0.1646 0.1658 0.167 0.1682 0.1694 0.1706 0.1718
0.173 0.1742 0.1754...
0.1766 0.1778 0.179 0.1802 0.1814 0.1826 0.1838 0.185 0.1859 0.1868
0.1877 0.1886...
0.1895 0.1904 0.1913 0.1922 0.1931 0.194 0.1948 0.1956 0.1964 0.1972
0.198 0.1988...
0.1996 0.2004 0.2012 0.202 0.2028 0.2036 0.2044 0.2052 0.206 0.2068
0.2076 0.2084...
0.2092 0.210 0.2108 0.2116 0.2124 0.2132 0.2140 0.2148 0.2156 0.2164
0.2172];
% IF GIVEN DN DETERMINE THE CORRESPONDING SEDIMENT SCALE PARAMETER
if nat==l
miuN=-(log(DN)./log(2));
DN=(round(DN.*100))./100;
k=find(d_tab==DN);
ANdes=A_tab(k);
end
% IF GIVEN AN ARBITRARY NATIVE PROFILE DETERMINE THE LEAST SQUARES FIT
OF 2/3 POWER RULE
if nat==2
ANdes=sum(h arb.*yarb.^(2/3)) ./sum(yarb. (4/3));
q=find(Atab
ql=max(q);
q2=ql+l;
DN=dtab(ql) +(d_tab(q2)-d_tab(ql))./(Atab(q2) -Atab(ql)).*(AN_des-
A_tab(ql));
miuN=-(log(DN) ./log(2));
end
% IF GIVEN A LOG-NORMAL SEDIMENT SIZE DISTRIBUTION:
if fill==l
% Determine nourishment sediment size distribution
miuF=-(log(DF)./log(2));
AF=A_tab(find(d tab==(round(DF.*100) ./100)));
phi=miuF-4.*sigmaF:(miuF+4.*sigmaF-
miuF+4.*sigmaF)./30:miuF+4.*sigmaF;
f=l./sigmaF./sqrt(2.*pi).*exp(-(phi-miuF) .2./2./sigmaF.A2);
F=1-0.5.*(l+erf((phi-miuF)./sqrt(2)./sigmaF));
% Find proportion of nourishment sand that has the same mean size as
the native
guessphistar= (miuN+miuF) ./2;
phi_star=fzero('eqtn55',guess_phistar,optimset('disp','off'));
F_star=l-0.5.*(l+erf((phi_star-miuF)./sqrt(2)./sigmaF));
% Plot nourishment sediment size distribution
figure
plot(phi,f)
hold on
plot((miuF miuF],[0 max(f)])
plot([miuN miuN],[0 max(f)],'r')
plot([phi_star phi_star],[0 max(f)],'g')
xlabel('Sand Size (phi)'); ylabel('Frequency');
legend('distribution','miuF','miu_N', 'phi_*')
title('Nourishment Sand Size Distribution (Log-Normal)')
axis([miuF-4*sigmaF miuF+4*sigmaF 0 max(f)])
% Plot cumulative nourishment sediment size distribution
figure
plot(phi,F)
hold on
plot([miuF miuF],[0 1])
plot([miuN miuN],[0 1],'r')
plot([phi_star phi_star],[0 1],'g')
xlabel('Sand Size (phi)'); ylabel('Cummulative Frequency');
legend('cummulative distribution','miuF','miu_N', 'phi *');
title('Cummulative Nourishment Sand Size Distribution (Log-
Normal) ');
axis([miuF-4*sigmaF miuF+4*sigmaF 0 1 )
% Divide the rest of the distribution into (numbins-l) bins
delta_F=(1-Fstar)./(numbins-l);
delta_per=delta_F;
for i=l:numbins-2
delta_per=[deltaper delta_F];
end
deltaper=[deltaper F_star];
check=sum(deltaper);
% Determine the limits of each grain size bin
FI(1)=1.0;
for i=2:numbins-1
FI(i)=FI(i-l)-deltaF;
end
FI(numbins)=F_star;
FI(numbins+1)=0.0;
phi_FI=sqrt(2).*sigmaF.*erfinv(l1-2.*FI)+miuF;
% Determine phi_rep for each bin
for i=l:numbins
ul=(phi_FI(i)-miuF)./sigmaF./sqrt(2);
u2=(phi_FI(i+l)-miuF)./sigmaF./sqrt(2);
phi_rep(i)=sqrt(2./pi).*sigmaF.*(exp(-ul.A2)-exp(-
u2.^2))./(erf(u2)-erf(ul))+miuF;
d_rep(i)=2.^(-phi_rep(i));
if d_rep(i)>=0.1 & d_rep(i)<=1.09
d rep(i)=(round(d_rep(i).*100))./100;
j=find(d_tab==drep(i));
A_rep(i) =Atab(j);
elseif d_rep(i)<0.1
A_rep(i)=0.4.*d_rep(i).^(0.8);
elseif d_rep(i)>l.09 & drep(i)<=10
A_rep(i)=0.21.*d_rep(i).^0.311;
elseif d_rep(i)>10 & d_rep(i)<=100
A_rep(i)=0.257.*d_rep(i).^0.224;
elseif drep(i)>100 & d_rep(i)<=520
A_rep(i)=0.288.*d_rep(i).^0.199;
end
end
end
% IF GIVEN AN ARBITRARY CUMULATIVE FILL SEDIMENT DISTRIBUTION:
if fill==3
Dbins=length(Darb)-1;
phi_arb=-log2(D_arb);
for q=l:Dbins
f_arb(q)=F_arb(q)-F_arb(q+l);
end
% Find phi_84 and phi_16 corresponding to 84% and 16% cumulative %
distribution
clear q ql q2
q=find(Farb==0.84);
if isempty(q)==0
D_84=Darb(q);
phi_84=-log2(D_84);
else
ql=find(F_arb>0.84);
ql=max(ql);
q2=ql+l;
D_84=D_arb(q2)+(0.84-F_arb(q2)).*(D_arb(ql)-
D_arb(q2))./(Farb(ql)-F_arb(q2));
phi_84=-log2(D_84);
end
clear q ql q2
q=find(F arb==0.16);
if isempty(q)==0
D_16=D_arb(q);
phi_16=-log2(D_16);
else
ql=find(F_arb>0.16);
ql=max(ql);
q2=ql+l;
D_16=D_arb(q2)+(0.16-F_arb(q2))
D_arb(q2))./(F arb(ql)-Farb(q2));
phi_16=-log2(D_16);
end
phi_mean=(phi_84+phi_16)./2;
phi_sorting=(phi_16-phi_84)./2;
DF_mean=2.A(-phimean)
DN
.*(D_arb(ql)-
if DF mean<=DN
sprintf=('Warning: DF<=DN, THIS PROGRAM IS NOT APPLICABLE')
pause
end
AF=A_tab(find(dtab==(round(DF_mean.*100)./100)));
% Determine phi_star
centroid=phi_arb(Dbins+l);
bin=Dbins+l;
while centroid>miuN
bin=bin-l;
num=0;
den=0;
for i=Dbins:-l:bin
num=num+f_arb(i).*(phi_arb(i+l)-
phi_arb(i)).*(phi_arb(i)+phi_arb(i+l))./2;
den=den+f_arb(i).*(phiarb(i+l)-phi_arb(i));
end
centroid=num./den;
end
if centroid==miuN
phi_star=phi_arb(i);
else
num=num-f_arb(i).*(phi_arb(i+l)-
phi_arb(i)).*(phi_arb(i)+phi_arb(i+l))./2;
den=den-f_arb(i).*(phi_arb(i+l)-phi_arb(i));
guess_phi_star=phi arb(i+l);
phi_star=fzero('eqtnll',guess_phi_star,optimset('disp','off'));
if phistar>phi_arb(length(phi arb)) phi_star
sprintf('Error: phi_* falls outside of range of given
sediment size distribution')
end
end
% Plot sediment size distribution
area=0;
for i=l:Dbins
area=area+f_arb(i).*(phi_arb(i+l)-phi_arb(i));
end
figure
plot([phi_mean phi_mean],[0 max(f_arb)./area+.05],':b');
hold on
plot( miuN miuN],[0 max(f_arb)./area+.05],':r');
plot([phi_star phi_star],[0 max(f_arb)./area+.05],':g');
for i=l:Dbins
plot([phi_arb(i) phi_arb(i)],[0 f_arb(i)./area]);
plot([phi_arb(i) phi_arb(i+l)], f_arb(i)./area f_arb(i)./area]);
plot([phi_arb(i+l) phi_arb(i+l)],[0 f_arb(i)./area]);
end
plot([phi_arb(i+l) phi_arb(i+l)], [f_arb(i)./area 0]);
xlabel('Sand Size (phi)'); ylabel('Frequency');
legend('miuF','miu N', 'phi_*','distribution');
title('Nourishment Sand Size Distribution (Arbitrary)');
% Plot cumulative frequency sediment size distribution (finer than)
figure
plot(phi_arb,F_arb,'.-')
hold on
plot([phimean phimean], [0 1])
plot([miuN miuN], 0 1],'r')
plot([phi_star phi_star],[0 1],'g')
xlabel('Sand Size (phi)'); ylabel('Cummulative Frequency (Finer
than) );
legend('cummulative distribution','miu F','miu N', 'phi_*');
title('Cummulative Nourishment Sand Size Distribution (Arbitrary)');
% Determine limits of bins
clear q ql q2
q=find(phi_arb
ql=max(q);
q2=ql+l;
F_star=(Farb(ql)-F_arb(q2)).*(phi_star-phi_arb(q2))./(phi_arb(ql)-
phiarb(q2))+F_arb(q2);
delta_F=(l-F_star)./(numbins-1);
delta per=delta_F;
for i=l:numbins-2
deltaper=[delta-per delta_F];
end
delta_per=[delta_per F_star];
check=sum(deltaper);
FI(1)=l;
for i=2:numbins-l
FI(i)=FI(i-1)-delta F;
end
FI(numbins)=Fstar;
FI(numbins+l)=0.0;
phi_FI(1)=phiarb(1);
for i=2:numbins-1
clear q ql q2
q=find(F_arb>FI(i));
ql=max(q);
q2=ql+l;
phi_FI(i)=(FI(i)-Farb(q2)).*(phiarb(ql)-
phi_arb(q2))./(F_arb(ql)-Farb(q2))+phiarb(q2);
end
phi_FI(numbins)=phi_star;
phi_FI(numbins+l)=max(phi_arb);
clear q ql q2
W Determine phi_rep for bins
for i=l:numbins-l
clear q phihold Fhold sum t
q=find((phi_arb>phi_FI(i))&(phi arb
phi_hold=[phi_FI(i) phi_arb(q) phi_FI(i+l)];
F_hold=[FI(i)F_arb(q) FI(i+l) ] ;
sum=O;
for t=l:length(phi_hold)-1;
sum=sum+(F hold(t+l)-
F_hold(t)).*(phihold(t)+phi_hold(t+l))./2;
end
phi_rep(i)=sum./(Fhold(length(F_hold))-F_hold(l));
end
clear q
phi rep(numbins)=miuN;
% Determine A rep from phi_rep
d_rep=2. ^(-phi_rep);
for i=l:numbins
if d_rep(i)>=0.1 & d_rep(i)<=1.09
d_rep(i)=(round(d_rep(i).*100)) ./100;
clear j
j=find(d_tab==drep(i));
A_rep(i)=A_tab(j);
elseif d_rep(i)<0.1
A_rep(i)=0.4.*drep(i).^(0.8);
elseif d_rep(i)>1.09 & drep(i)<=10
A_rep(i)=0.21.*d_rep(i).^0.311;
elseif drep(i)>10 & d_rep(i)<=100
A_rep(i)=0.257.*d_rep(i) .0.224;
elseif drep(i)>100 & drep(i)<=520
A_rep(i)=0.288.*drep(i).^0.199;
end
end
end
% DETERMINE dyl FOR THE GIVEN PLACEMENT VOLUME, V
guess_yI=100;
yI=fzero('eqtn56',guess_yI,optimset('disp','off'));
while isnan(yI)==1
guess_yl=guess_yl+50;
yI=fzero('eqtn56',guess_yl,optimset('disp','off'));
end
dyI=yI+B./slopenat-B./slope_place-AN_des.*yl.^ (2./3)./slopeplace;
hI=AN_des.*yI.^(2./3);
% LOOP TO FIND X%
p=l;
trial_X(p)=50;
X=trial X(p);
trialVact(p)=trial_X(p)./100.*V;
Vact=trialVact(p);
delta_Vact=deltaper.*trial_Vact(p);
Yo_min=(hstar./AN_des).^(3./2);
guess=Yo_min;
Yo_max=fzero('eqtn50', guess, optimset('disp','off'));
trial_Res_Vact(p)=loopfcoarserl(X);
dif_Vact(p)=(trialRes_Vact(p)-trial_Vact(p))./trialVact(p).*100;
trialYo(p)=Yo;
while dif_Vact(p)<0
p=p+l;
trial X(p)=trialX(p-1)-10;
X=trial_X(p);
trial_Vact(p)=trialX(p)./100.*V;
Vact=trialVact(p);
delta_Vact=deltaper.*trialVact(p);
Yo_min=(hstar./ANdes).A^3./2);
guess=Yo_min;
Yomax=fzero('eqtn50', guess, optimset('disp','off'));
trialRes Vact(p)=loopfcoarserl (X);
dif_Vact(p)=(trial_Res_Vact(p)-trialVact(p))./trialVact(p).*l00;
trialYo(p)=Yo;
end
upperlimX=trialX(p-l);
upperlimDif=difVact(p-l);
lowerlimX=trialX(p);
lowerlim_Dif=dif_Vact(p);
while abs(dif_Vact(p))>1
p=p+l;
trial_X(p)=lowerlim_X-lowerlim Dif.*((upperlimX-
lowerlim_X) ./(upperlim_Dif-lowerlimDif));
X=trial_X(p);
trial_Vact(p)=trialX(p)./100.*V;
Vact=trial_Vact(p);
delta_Vact=deltaper.*trialVact(p);
Yo_min=(hstar./AN_des).^(3./2);
guess=Yo_min;
Yo_max=fzero('eqtn50', guess, optimset('disp','off'));
trial_ResVact(p)=loopfcoarserl(X);
dif_Vact(p)=(trial_ResVact(p)-trial_Vact(p))./trialVact(p).*100;
trialYo(p)=Yo;
if dif_Vact(p)<0
upperlimX=trial_X(p) ;
upperlim_Dif=dif_Vact(p);
else
lowerlimX=trial_X(p);
lowerlim_Dif=dif_Vact(p);
end
end
% PRINT FINAL ANSWERS TO SCREEN
sprintf(' ****************************FINAL-
ANSWER*******************************')
dyo
PercentVact=X
caseid
% loopfcoarserl.m (function that loops for X%)
% For the given guess of X%, loop for the correct value of Yo.
% Determine the resulting active volume Res_Vact for these values
% of X% and Yo.
function [ResVact]=loopfcoarserl(X)
global numbins hstar hi y h incomplete straight line nstop ystop hstop
yB perdif Res Vact caseid
global miuF miuN sigmaF V B slopenat slopeplace AN_des Vact yI hstar
y n Arep Dy delta_Vact hstop ystop dyl
global Yo Yo_min Yomax dyo y_nat h_nat AF test test test2 k
test=[];
testl=[];
test2=[;
q=l;
trial_Yo(q)=Yo_max;
Yo=trialYo(q);
trialchange(q)=loopfcoarser2(Yo);
trial perdif(q)=perdif;
trial_case=caseid;
while trial_change(q)<0
q=q+l;
trial_Yo(q)=trial_Yo(q-1)-5;
if trial_Yo(q)
trial_Yo(q)=Yo_min;
end
Yo=trial_Yo(q);
trial_change(q)=loopfcoarser2(Yo);
trial_perdif(q)=perdif;
trialcase=char(trial case,caseid);
end
upperlim=trial_Yo(q-l);
lowerlim=trial_Yo(q);
r=l;
new_Yo(r)=0.5.*(upperlim+lowerlim);
Yo=new_Yo(r);
new_change(r)=loopfcoarser2(Yo);
new perdif(r)=perdif;
newcase=caseid;
while new_change(r)-=0
if new_change(r)>0
lowerlim=new Yo(r);
end
if new_change(r)<0
upperlim=newYo(r);
end
r=r+l;
new_Yo(r)=0.5.*(upperlim+lowerlim);
80
Yo=new Yo(r);
newchange(r) =loopfcoarser2 (Yo) ;
new_perdif (r)=perdif ;
new case=char(newcase,caseid);
end
%test
%testl
%test2
%keyboard
% loopfcoarser2.m (function that loops for Yo)
% For the given guess of Yo for the current value of X% (i.e. Vact),
% determine if the volume that fits offshore up to (Yo,h*) is equal to
Vact (+/- 1%).
% This is used to determine if the guess of Yo should be increased
(change=5),
% decreased (change=-5), or if it is the correct value for the current
X% (change=0).
function [change] = loopfcoarser2(Yo)
global numbins hstar hi y h incomplete straight_line nstop ystop hstop
yB perdif ResVact caseid
global miuF miuN sigmaF V B slope_nat slope_place AN_des Vact yI hstar
y n Arep Dy delta_Vact hstop ystop dyl
global Yo Yo_min Yo_max dyo y_nat h_nat AF test test test2 k
y_eqbwat=0;
Yo;
perdif=NaN;
y=[] ;
h=[];
y(numbins+l)=Yo;
h(numbins+l)=hstar;
incomplete=0;
straight_line=0;
nstop=0;
y_stop=[];
h_stop=ll;
yB= [];
% Place Vact starting from offshore at Yo and coming inshore using eqtn
2-7.
% If the profile intersects the SWL or becomes steeper than slopenat,
% it is replaced with a straight line with slope=slope_nat.
for n=numbins:-l:l
Dy(n)=(h(n+l)./A_rep(n)).A(3./2)-y(n+l) ;
guess=y(n+l);
solution=fzero('eqtn51',guess,optimset('disp','off'));
y(n)=solution;
h(n)=Arep(n).*(y(n)+Dy(n)).A(2./3);
% If the equilibrium profile shape intersects the SWL in this bin,
% find the point at which this occurs.
% If this is the case, incomplete=l.
if isnan(solution)==1
incomplete=l;
isnany=n;
nstop=isnany;
ystop=(2./3.*A_rep(n)./slope_nat).^3-Dy(n);
if ystop>y(n+l)
ystop=y(n+l);
end
hstop=Arep(n).*(ystop+Dy(n)).^(2./3);
yB=ystop-l./slope_nat.*(B+hstop);
%y=y(l:nstop-l);
break
end
% If the equilibrium profile slope >= slope_nat in this bin,
% find the point at which this occurs.
% If this is the case, straight_line=l.
end_slope=2./3.*A_rep(n)./(y(n)+Dy(n)).^(1./3);
if end_slope>=slope_nat
straight_line=1;
nstop=n;
ystop=(2./3.*A_rep(n)./slope_nat).^3-Dy(n);
if ystop>y(n+l)
ystop=y(n+l);
end
hstop=A_rep(n) .*(ystop+Dy(n)) (2./3);
yB=ystop-l./slope_nat.*(B+hstop);
%y=y(1:nstop-1);
break
end
end
% Determine the native profile
y_nat=0: Yo./75: Yo;
h_nat=AN_des.*ynat.^(2./3);
h_nat=[-B hnat];
y_nat=[-B/slope_nat y_nat];
% Plot the native profile
figure(3)
clf
plot(y_nat,h_nat)
set(gca,'ydir','reverse','-b')
hold on
% Plot SWL
plot([min(y_nat) max(y_nat)],t0 O],'k')
% Plot placement profile
y_place=[min(y_nat) min(y_nat+dyl) yI];
hplace=[min(h_nat) min(h_nat) hI];
plot(y_place,h place,'-r');
% Plot trial equilibrium profile for the current X% and Yo guess
% substituting with straight lines where required from above steps
if straight_line==l
sprintf('Very steep slope replaced with sl3:pe nat');
for n=nstop:numbins
clear yplot hplot
yplot=y(n):(y(n+l)-y(n))./20:y(n+l);
hplot(h(n) .^(3./2)+A_rep(n) .(3./2) (yplot-y(n))) .(2./3) ;
plot(yplot,hplot, '-g')
end
plot(y,h,'.g');
elseif incomplete==l
sprintf('Not all bins fit underwater');
for n=l:numbins
clear yplot hplot
yplot=y(n):(y(n+l)-y(n))./20:y(n+l);
hplot=(h(n).^(3./2)+Arep(n).^(3./2).*(yplot-y(n))).A(2./3);
plot(yplot,hplot,'-m')
end
clear yplot hplot
yplot=-Dy(isnany):(y(isnany+l)+Dy(isnany))./15:y(isnany+l);
hplot=A_rep(isnany) .*(Dy(isnany)+yplot).^ (2./3);
plot(yplot,hplot,':m')
plot(y,h,'.m');
else
sprintf('All bins fit with their usual slope');
for n=l:numbins
clear yplot hplot
yplot=y(n):(y(n+l)-y(n))./20:y(n+l);
hplot=(h(n).^(3./2)+Arep(n) ^(3./2).*(yplot-y(n))) .(2./3);
plot(yplot,hplot,'-y')
end
plot(y,h,'.y');
end
if incomplete==0 & straight_line==0
if y(l)>yl
sprintf('Case 3a: Decrease Yo');
caseid='3a';
change=-5;
elseif y(l)
yplcyl=(h(l))./slope_place+dyI-B./slope_nat+B./slope_place;
if y(l)
sprintf('Case 3c: Increase Yo');
caseid='3c';
change=+5;
elseif y(l)>yplcyl
if y(2)
%sprintf('Case 3b with y(2)
far from yI')
end
Vadd=3./5.*AN_des.*(yI."(5./3)-y(1) .(5./3))-Intplc(y(1) ,y) ;
ystop=(2./3.*A_rep(1)./slope_nat).A3-Dy(1);
hstop=A_rep(1).*(ystop+Dy(1)).A(2./3);
guess_ycom=y(l);
ycom=fzero('eqtn57' ,guess_ycom,optimset('disp', 'off'));
hcom=A_rep(l).*(ycom+Dy()). ^(2./3);
if ycom>ystop
sprintf('Case 3b.l');
caseid='3b.l';
Vol=Intplc(ycom,y(l))-3./5.*A_rep(1). ((y(1)+Dy()).A(5./3)-
(ycom+Dy(1)).^(5./3)) ;
yx=ycom;
hx=hcom;
DyF=(hx./AF). (3./2)-yx;
y_eqbwat=-DyF;
clear yplot hplot
yplot=yx:(y(l)-yx)./10:y(l);
hplot=Arep(l).*(yplot+Dy(1)).^(2./3);
plot(yplot,hplot,'-c')
clear yplot hplot
yplot=y_eqbwat:(yx-y_eqbwat)./20:yx;
hplot=AF.*(yplot+DyF) (2./3);
plot(yplot,hplot,'-c')
clear yplot hplot
plot([y_nat(l) y_nat(l)+yeqbwat y_eqbwat],[-B -B 0],'-c');
elseif ycom
sprintf('Case 3b.2');
caseid='3b.2';
yx=(hstop-slope_nat.*ystop+slope place.* (dy-
B./slope_nat+B./slope_place))./(slope_place-slope_nat) ;
hx=slope_nat.*yx+hstop-slope_nat.*ystop;
Vl=Intplc(ystop,y(l))-3./5.*A_rep(l).*((y(1)+Dy(1)).A(5./3)-
(ystop+Dy(l)) .(5./3));
V2=Intplc(yx,ystop)-Inteqb(yx,ystop);
Vol=Vl+V2;
DyF=(hx./AF) .A(3./2)-yx;
y_eqbwat=-DyF;
clear yplot hplot
yplot=ystop:(y(l)-ystop)./10:y(l);
hplot=Arep(l).*(yplot+Dy(l)) .(2./3);
plot(yplot,hplot,'-c')
plot([yx ystop],[hx hstop],'c');
clear yplot hplot
yplot=y_eqbwat:(yx-y_eqbwat)./20:yx;
hplot=AF.*(yplot+DyF) (2./3);
plot(yplot,hplot,'c')
plot([ynat(1) ynat(l)+y_eqbwat y_eqbwat],[-B -B 0],'-c');
end
sum remain=Vadd;
difference=Vol-sum_remain;
perdif=difference./sumremain.*100;
if abs(perdif)>l
if Vol>sum remain
sprintf('Vol>sum remain:
change=-5;
end
if Vol
sprintf('Vol
change=5;
end
decrease Yo');
increase Yo');
if abs(perdif)
sprintf('This is the value of Yo for X%');
change=0;
dyo=y_eqbwat;
y_plcwat=dyI-B./slope_nat+B./slope_place;
Res_Vact=3./5.*AF.*(yx+DyF).A(5./3)-
Intplc(y_plcwat,yx)+0.5.*B.A2./slopenat+B.*(dyI-y_eqbwat-
B./slopenat)+0.5.*B.^2./slope_place;
if abs((ResVact-Vact)./Vact.*100)>1
if ResVact>Vact
sprintf('Res_Vact>Vact: Need to increase X');
end
if ResVact
sprintf('Res_Vact
end
Need to decrease X');
end
end
if incomplete==l I straight_line==l
yx=(hstop-slope_nat.*ystop+slope_place.*(dyl-
B./slope_nat+B./slopeplace))./(slope_place-slopenat);
hx=slope_nat.*yx+hstop-slope_nat.*ystop;
yp=hstop./slope_place+dyl-B./slope_nat+B./slopeplace;
if yB>dyl-B./slope_nat
caseid='la';
sprintf('Case la: Decrease Yo');
change=-5;
elseif yB
caseid='1c';
sprintf('Case Ic: Increase Yo');
change=5;
elseif yB
yp
%Vcrit=B.^2./slope_nat-0.5.*B.^2./slope_nat-
0.5.*B.^2./slope_place;
%if Vcrit
% sprintf('Case Ib: Increase Yo')
% caseid='lb';
% change=5;
% %keyboard
%else
% sprintf('WARNING Case Ib!!!')
% %keyboard
y_plcwat=dyI-B./slope_nat+B./slope_place;
sumremain=sum(delta_Vact(l:nstop));
if ystop>yI
if ystop==y(nstop+1)
sprintf('Case Ib.la');
caseid='lb.la';
Vl=3./5.*AN_des.*(y(nstop+l).^(5./3)-yI.A(5./3))-
Inteqb(yI,y(nstop+l));
V2=Intplc(yx,yl)-Inteqb(yx,yI);
Vol=Vl+V2;
elseif ystop-=y(nstop+l)
sprintf('Case Ib.lb');
caseid='lb.lb';
Vl=3./5.*ANdes.*(y(nstop+l).^(5./3)-ystop.^(5./3))-
3./5.*A_rep(nstop).*((Dy(nstop)+y(nstop+l)).^(5./3)-
(Dy(nstop)+ystop).^(5./3));
V2=3./5.*AN_des.*(ystop.A(5./3)-yI.A(5./3))-
Inteqb(yI,ystop);
V3=Intplc(yx,yI)-Inteqb(yx,yI);
Vol=Vl+V2+V3;
end
elseif ystop
if ystop==y(nstop+l)
sprintf('Case lb.2a');
caseid='lb.2a';
Vadd=3./5.*ANdes.*(yI.A(5./3)-ystop.^(5./3))-
Intplc(ystop,yI);
sumremain=sumremain+Vadd;
Vl=Intplc(yx,ystop)-Inteqb(yx,ystop);
Vol=Vl;
elseif ystop-=y(nstop+l) & y(nstop+l)>yI
sprintf('Case lb.2b');
caseid='lb.2b';
Vl=3./5.*AN_des.*(y(nstop+l).^(5./3)-yl.A(5./3))-
3./5.*A_rep(nstop).*((Dy(nstop)+y(nstop+l)).A(5./3)-
(Dy(nstop)+yI).^(5./3));
V2=Intplc(ystop,yI)-
3./5.*A_rep(nstop).*((Dy(nstop)+yI).A(5./3)-(Dy(nstop)+ystop).*(5./3));
V3=Intplc(yx,ystop)-Inteqb(yx,ystop);
Vol=Vl+V2+V3;
elseif ystop-=y(nstop+l) & y(nstop+l)<=yl
sprintf('Case lb.2c');
caseid='lb.2c';
Vadd=3./5.*ANdes.*(yI.A(5./3)-y(nstop+l). (5./3))-
Intplc(y(nstop+l),yl);
sumremain=sumremain+Vadd;
Vl=Intplc(ystop,y(nstop+l))-
3./5.*A_rep(nstop).*((Dy(nstop)+y(nstop+l)).A(5./3)-
(Dy(nstop)+ystop).^(5./3));
V2=Intplc(yx,ystop)-Inteqb(yx,ystop);
Vol=Vl+V2;
end
end
difference=Vol-sum_remain;
perdif=difference./sum_remain.*100;
if yx>=y_plcwat
DyF=(hx./AF).^(3./2)-yx;
y_eqbwat= -DyF;
plot([yx ystop],[hx hstop],'c');
clear yplot hplot
yplot=y_eqbwat:(yx-y_eqbwat)./20:yx;
hplot=AF.*(yplot+DyF) .(2./3);
plot(yplot,hplot,'c')
plot([ynat(l) ynat(l)+yeqbwat y_eqbwat],[-B -B 0].,'-c');
else
clear yplot hplot
yplot=[y_nat(1) yB ystop];
hplot=[-B -B stopp;
plot(yplot,hplot,'-+c')
if abs(perdif)>l
if Vol>sumremain
sprintf 'Vol>sumremain:
change=-5;
end
if Vol
sprintf('Vol
change=5;
end
end
decrease Yo');
increase Yo');
if abs(perdif)
sprintf('This is the value of Yo for X%');
change=0;
if yx>=yplcwat
DyF=(hx./AF).A(3./2)-yx;
y_eqbwat=-DyF;
Res_Vact=3./5.*AF.*(yx+DyF).A(5./3)-
Intplc(yplcwat,yx)+0.5.*B.A2./slopenat+B.*(dyI-yeqbwat-
B./slopenat)+0.5.*B.^2./slope_place;
else
y_eqbwat=ystop-hstop./slopenat;
Res_Vact=0.5.*(B+hx).*(dyl-yeqbwat);
end
%if abs((Res Vact-Vact)./Vact.*100)<=1
dyo=yeqbwat;
%end
if abs((Res_Vact-Vact)./Vact.*100)>1
if ResVact>Vact
sprintf('ResVact>Vact: Need to increase X');
end
end
end
if ResVact
sprintf('Res_Vact
end
Need to decrease X');
%end
end
axis([y_nat(l) max(ynat)+5 -B-0.25 max(hnat)+0.25])
88
legend('Native','SWL','Placement','EBP')
sprinttf('%%%%%%%%%%%%%%%%%%%%%%%%)
%caseid
%Vact./V.*100
%change
%perdif
%keyboard
test= test Yo];
testl=[testl ' caseid];
test2=[test2 y_eqbwat];
k=0.5.*B.^2./slope_nat+B.*(dyl-y_eqbwat-
B./slope_nat)+0.5.*B.^2./slope_place;
% Smaller functions used by ffiner.m and/or fcoarser.m
function eql=eqtnl(phi_star)
global miuF miuN sigmaF
eql=miuF-sqrt(2/pi)*sigmaF*exp(-((phi_star-
miuF)/sigmaF/sqrt(2))^2)/(l+erf((phistar-miuF)/sigmaF/sqrt(2)))-miuN;
function eq2=eqtn2(yl)
global V B slopenat slopeplace AN des
eq2=-yI+V/B-0.5*B/slope_nat+0.5*B/slopeplace-
3/5/B*AN_des*yI^(5/3)+O.5*AN_des^2*yIA(4/3)/B/slope_place+ANdes*yI^(2/
3)/slope_place;
function eq3=eqtn3(yint)
global A_rep slope_place dyl B slope_nat dyo
cl=A_rep(l)./slope_place;
c2=dyI-B./slope_nat+B./slope_place;
eq3=-yint+cl.*(yint-dyo).^(2/3)+c2;
function eq4=eqtn4(solve_y)
global AN_des delta_Vact Vl Arep Dy yI
eq4=delta_Vact(1)-Vl-3/5.*AN_des.*(solve y.A(5/3)-
yI.^(5/3))+3/5.*A_rep(1).*((Dy(1)+solve_y).^(5/3)-(Dy(1)+yl).^(5/3));
function eq5=eqtn5(solve_y)
global delta_Vact n ANdes y_eqb A_rep Dy
eq5=deltaVact(n)-3/5.*ANdes.*(solve_y.(5/3)-
yeqb(n).^(5/3))+3/5.*A_rep(n).*((Dy(n)+solve_y) ^(5/3)-
(Dy(n)+y_eqb(n)).^(5/3));
function eq6=eqtn6(y_stop)
global delta Vact slope_place A_rep Dy hint yint
eq6=delta_Vact(l)-0.5./slopeplace.*((hint+slope place.*(y_stop-
yint)).^2-hint.^2)+3./5.*A_rep(l).*((Dy(l)+y_stop).^(S./3)-
(Dy(l)+yint) .(5./3));
function eq7=eqtn7(solve_y)
global AN_des delta_Vact V2 A_rep Dy yI
eq7=deltaVact(2)-V2-3/5.*AN des.*(solvey.^(5/3)-
yI.A(5/3))+3/5.*A_rep(2) .* ((Dy(2)+solve_y) .^ (5/3)-(Dy(2)+yI) ^5/3)) ;
function eq8=eqtn8(solution)
global AN_des y n A_rep Dy delta_Vact
eq8=3./5.*AN_des.*(y(n+l).^(5./3)-solution).A(5./3))-
3./5.*Arep(n).*((y(n+l)+Dy(n)).^(./3)-(solution+Dy(n)).^(5./3))-
delta Vact(n);
function eq9=eqtn9(yint)