Package 'boussinesq'

Title: Analytic Solutions for (Ground-Water) Boussinesq Equation
Description: A collection of R functions were implemented from published and available analytic solutions for the One-Dimensional Boussinesq Equation (ground-water). In particular, the function "beq.lin()" is the analytic solution of the linearized form of Boussinesq Equation between two different head-based boundary (Dirichlet) conditions; "beq.song" is the non-linear power-series analytic solution of the motion of a wetting front over a dry bedrock (Song at al, 2007, see complete reference on function documentation). Bugs/comments/questions/collaboration of any kind are warmly welcomed.
Authors: Emanuele Cordano
Maintainer: Emanuele Cordano <[email protected]>
License: GPL (>= 3)
Version: 1.0.6
Built: 2024-11-18 05:38:51 UTC
Source: https://github.com/ecor/boussinesq

Help Index


Analytic solutions for (ground-water) Boussinesq Equation

Description

Analytic solutions for (ground-water) Boussinesq Equation

Author(s)

Emanuele Cordano [email protected]


Analytic exact solution for One-Dimensional Boussinesq Equation in a two-bounded domain with two constant-value Dirichlet Condition

Description

Analytic exact solution for One-Dimensional Boussinesq Equation in a two-bounded domain with two constant-value Dirichlet Condition

Usage

beq.lin(
  t = 0,
  x = seq(from = 0, to = L, by = by),
  h1 = 1,
  h2 = 1,
  L = 100,
  ks = 0.01,
  s = 0.4,
  big = 10^7,
  by = L/100,
  p = 0.5
)

Arguments

t

time coordinate.

x

spatial coordinate. Default is seq(from=0,to=L,by=by).

h1

water surface level at x=0. Left Dirichlet Bounday Condition.

h2

water surface level at x=L. Right Dirichlet Bondary Condition.

L

length of the domain.

ks

Hydraulic conductivity

s

drainable pororosity (assumed to be constant)

big

maximum level of Fourier series considered. Default is 10^7.

by

see seq

p

empirical coefficient to estimate hydraulic diffusivity D=ks/(s(ph1+(1p)h2))D=ks/(s *(p*h1+(1-p)*h2)). It ranges between 0 and 1.

Value

Solutions for the indicated values of x and t.

Author(s)

Emanuele Cordano

See Also

beq.lin.dimensionless

Examples

L <- 1000
x <- seq(from=0,to=L,by=L/100)
t <- 4 # 4 days 
h_sol0 <- beq.lin(x=x,t=t*24*3600,h1=2,h2=1,ks=0.01,L=L,s=0.4,big=100,p=0.0)
h_solp <- beq.lin(x=x,t=t*24*3600,h1=2,h2=1,ks=0.01,L=L,s=0.4,big=100,p=0.5)
h_sol1 <- beq.lin(x=x,t=t*24*3600,h1=2,h2=1,ks=0.01,L=L,s=0.4,big=100,p=1.0)

plot(x,h_sol0,type="l",lty=1,main=paste("Water Surface Elevetion after",
t,"days",sep=" "),xlab="x[m]",ylab="h[m]")
lines(x,h_solp,lty=2)
lines(x,h_sol1,lty=3)
legend("topright",lty=1:3,legend=c("p=0","p=0.5","p=1"))

Analytic exact solution for Dimentionless (i. e. diffusivity equal to 1 - unity) One Dimensional Heat Equation in a two-bounded domain with two constant-value Dirichlet Conditions

Description

Analytic exact solution for Dimentionless (i. e. diffusivity equal to 1 - unity) One Dimensional Heat Equation in a two-bounded domain with two constant-value Dirichlet Conditions

Usage

beq.lin.dimensionless(
  t = 0,
  x = seq(from = 0, to = L, by = by),
  big = 1e+05,
  by = L * 0.01,
  L = 1
)

Arguments

t

time coordinate.

x

spatial coordinate. Default is seq(from=0,to=L,by=by).

big

maximum level of Fourier series considered. Default is 100000.

by

see seq

L

length of the domain. It is used if x is not specified.

Value

Solutions for the specifiied values of x and t

Author(s)

Emanuele Cordano

References

Rozier-Cannon, J. (1984), The One-Dimensional Heat Equation, Addison-Wesley Publishing Company, Manlo Park, California, encyclopedia of Mathematics and its applications.

See Also

beq.lin


Song et al.'s analytic solution to Boussinesq equation in a 1D semi-infinite domain with a Dirichlet boundary condition

Description

Song et al.'s analytic solution to Boussinesq equation in a 1D semi-infinite domain with a Dirichlet boundary condition

Usage

beq.song(t = 0.5, x = 1, s = 0.4, h1 = 1, ks = 0.01, nmax = 4, alpha = 1)

Arguments

t

time coordinate.

x

spatial coordinate. Default is seq(from=0,to=L,by=by).

s

drainable pororosity (assumed to be constant)

h1

water surface level or boundary condition coefficient at x=0. Left Dirichlet Bounday Condition.

ks

Hydraulic conductivity

nmax

order of power series considered for the analytic solution solution. Default is 4.

alpha

α\alpha exponent see Song at al, 2007

Value

The water surface eletion vs time and space obtained by the analytic solution of Boussinesq Equation

Note

For major details, see Song at al, 2007

Author(s)

Emanuele Cordano

References

Song, Zhi-yao;Li, Ling;David, Lockington. (2007), "Note on Barenblatt power series solution to Boussinesq equation",Applied Mathematics and Mechanics, https://link.springer.com/article/10.1007/s10483-007-0612-x ,doi:10.1007/s10483-007-0612-x

See Also

beq.song.dimensionless

Examples

L <- 1000
x <- seq(from=0,to=L,by=L/100)
t <- c(4,5,20) #  days 

h_sol1 <- beq.song(t=t[1]*3600*24,x=x,s=0.4,h1=1,ks=0.01,nmax=10,alpha=0)
h_sol2 <- beq.song(t=t[2]*3600*24,x=x,s=0.4,h1=1,ks=0.01,nmax=10,alpha=0)
h_sol3 <- beq.song(t=t[3]*3600*24,x=x,s=0.4,h1=1,ks=0.01,nmax=10,alpha=0)
	
	
plot(x,h_sol1,type="l",lty=1,
main="Water Surface Elevetion (Song at's solution) ",
xlab="x[m]",ylab="h[m]")
lines(x,h_sol2,lty=2)
lines(x,h_sol3,lty=3)
legend("topright",lty=1:3,legend=paste("t=",t,"days",sep=" "))

Dimensionless solution for one-dimensional derived equation from scaling Boussinesq Equation (Song et al, 2007)

Description

Dimensionless solution for one-dimensional derived equation from scaling Boussinesq Equation (Song et al, 2007)

Usage

beq.song.dimensionless(xi, xi0, a)

Arguments

xi

dimensionless coordinate (see Note)

xi0

displacement of wetting front expressed as dimensionless coordinate (see Note)

a

vector of coefficient returned by coefficient.song.solution

Value

the dimesioneless solution, i.e. the variable HH

Note

The expession for the dimensionless coordinate (Song at al., 2007) is ξ=x(2sη1Kstα+1)1/2\xi=x (\frac{2 \, s }{\eta_1 \, K_s \, t^{\alpha+1} } )^{1/2} and the solution for the dimensionless equation derived by Boussinesq Equation is: H=n=0an(1ξξ0)nH = \sum_{n=0}^{\infty} a_n (1-\frac{\xi}{\xi_0} )^n for ξ<ξ0\xi<\xi_0 , otherwise is 0 .

Author(s)

Emanuele Cordano

References

Song, Zhi-yao;Li, Ling;David, Lockington. (2007), "Note on Barenblatt power series solution to Boussinesq equation",Applied Mathematics and Mechanics, https://link.springer.com/article/10.1007/s10483-007-0612-x ,doi:10.1007/s10483-007-0612-x

See Also

beq.song


Alogorithm for resolution of the series coefficient ana_n for the dimensionless formula for HH in beq.song.dimensionless

Description

Alogorithm for resolution of the series coefficient ana_n for the dimensionless formula for HH in beq.song.dimensionless

Usage

coefficient.song.solution(n = 4, lambda = 0)

Arguments

n

approximation order

lambda

dimensionless parameter related to α\alpha see Song at al, 2007

Value

the ana_n series coefficient

Note

For major details, see Song at al, 2007

Author(s)

Emanuele Cordano

References

Song, Zhi-yao;Li, Ling;David, Lockington. (2007), "Note on Barenblatt power series solution to Boussinesq equation",Applied Mathematics and Mechanics, https://link.springer.com/article/10.1007/s10483-007-0612-x ,doi:10.1007/s10483-007-0612-x