Relaxation due to the Sqrt(t)-Law in Comparison with the MAXWELL-Fluid
Univ.-Prof. Dr.-Ing. habil. Josef BETTEN
RWTH Aachen University
Templergraben 55
D-52056 A a c h e n
betten@mmw.rwth-aachen.de
This worksheet is concerned with the relaxation functions (11.72 a, b) taken
from BETTEN's book: Creep Mechanics, Third Edition, Springer-Verlag 2008.
> |
S(t,B):=sigma(t,B)/sigma(0)=exp(-B*sqrt(t)); # sqrt(t)-law (11.72a) |
 |
(1) |
> |
s(t,b):=sigma(t,b)/sigma(0)=exp(-b*t); # MAXWELL-fluid (11.72b) |
 |
(2) |
In the following example, the parameters b = B = [1/2, 1] have been assumed.
> |
for i in [1/2,1] do S(t,i):=subs(B=i,exp(-B*sqrt(t))) od; |
 |
(3) |
 |
(3) |
> |
for i in [1/2,1] do s(t,i):=subs(b=i,exp(-b*t)) od; |
 |
(4) |
 |
(4) |
> |
alias(H=Heaviside,th=thickness,co=color): |
> |
p[1]:=plot({S(t,1/2),S(t,1)},t=0..2,0..1, axes=boxed,th=3,co=black): |
> |
p[2]:=plot({s(t,1/2),s(t,1)},t=0..2,linestyle=4,co=black, title="Relaxation, b = B = [1/2, 1]"): |
> |
p[3]:=plot(H(t-1),t=0.99..1.001,co=black,linestyle=3): |
> |
p[4]:=plot(H(t-2),t=1.99..2.001,co=black): |
> |
p[5]:=plots[textplot]({[1.25,0.2,`B = 1`], [1.25,0.65,`B = 1/2`]}): |
> |
plots[display](seq(p[k],k=1..5)); |
The solid lines in this Figure refer to the equation S(t, B), while the dashdot lines
represent the relaxation function s(t, b). The difference between these two functions
(11.72a,b) in a range of t = [0, 2], also called the distance of the two relaxation
functions, can be expressed by the L-two-error norm defined as:
> |
L[2][Norm]:= sqrt((1/(t[1]-t[0]))*Int((Y(t,B)-y(t,b))^2,t=t[0]..t[1])); |
![`:=`(L[2][Norm], `*`(`^`(`+`(`*`(`/`(1, `*`(`+`(t[1], `-`(t[0])))), `*`(Int(`*`(`^`(`+`(Y(t, B), `-`(y(t, b))), 2)), t = t[0] .. t[1])))), `/`(1, 2))))](/view.aspx?SI=6425/Relaxation_Sqrt_9.gif) |
(5) |
For example, for b = B = 1 on [0..1], [1..2], and [0..2] we calculate the following
values:
> |
L[2][Norm][0..1]:=sqrt(Int((S(t)-s(t))^2,t=0..1))= evalf(sqrt(int((S(t,1)-s(t,1))^2,t=0..1)),4); |
![`:=`(L[2][Norm][0 .. 1], `*`(`^`(Int(`*`(`^`(`+`(S(t), `-`(s(t))), 2)), t = 0 .. 1), `/`(1, 2))) = .1225)](/view.aspx?SI=6425/Relaxation_Sqrt_10.gif) |
(6) |
> |
L[2][Norm][1..2]:=sqrt(Int((S(t)-s(t))^2,t=1..2))= evalf(sqrt(int((S(t,1)-s(t,1))^2,t=1..2)),4); |
![`:=`(L[2][Norm][1 .. 2], `*`(`^`(Int(`*`(`^`(`+`(S(t), `-`(s(t))), 2)), t = 1 .. 2), `/`(1, 2))) = 0.7090e-1)](/view.aspx?SI=6425/Relaxation_Sqrt_11.gif) |
(7) |
> |
L[2][Norm][0..2]:=sqrt((1/2)*Int((S(t)-s(t))^2,t=0..2))= evalf(sqrt((1/2)*int((S(t,1)-s(t,1))^2,t=0..2)),4); |
![`:=`(L[2][Norm][0 .. 2], `+`(`*`(`/`(1, 2), `*`(`*`(`^`(2, `/`(1, 2)), `*`(`^`(Int(`*`(`^`(`+`(S(t), `-`(s(t))), 2)), t = 0 .. 2), `/`(1, 2))))))) = 0.9950e-1)](/view.aspx?SI=6425/Relaxation_Sqrt_12.gif) |
(8) |
These distances are based upon the assumption b = B. However, one can find an optimal
parameter b[opt] as a function of B , so that the simple function s(t, b) can be considered
as the best "best approximation" to the sqrt(t)-law S(t, B). Thus, one can use the simple
evolutional equation
> |
dgl:=Diff(s(t,b),t)=-b*s(t,b); |
 |
(9) |
instead of the evolutional equation
> |
Dgl:=Diff(S(t,B),t)=(1/2)*B^2*S(t,B)/ln(S(t,B)); |
 |
(10) |
based upon the sqrt(t)-law S(t, B).
One can find an optimal parameter b[opt] by minimizing the L-two-norm,
as shown in the following MAPLE worksheet:
> |
L[2](b,B):= sqrt((1/2)*Int((exp(-B*sqrt(t))-exp(-b*t))^2,t=0..2)); |
, `+`(`*`(`/`(1, 2), `*`(`*`(`^`(2, `/`(1, 2)), `*`(`^`(Int(`*`(`^`(`+`(exp(`+`(`-`(`*`(B, `*`(`^`(t, `/`(1, 2))))))), `-`(exp(`+`(`-`(`*`(b, `*`(t))))))), 2)), t = 0 .. 2), `/`(1, 2)))...](/view.aspx?SI=6425/Relaxation_Sqrt_15.gif) |
(11) |
Minimizing the integral, we arrive at the following results:
> |
INT(b)[B]:= simplify(int((exp(-B*sqrt(t))-exp(-b*t))^2,t=0..2)): |
> |
D(b)[B]:=diff(INT(b)[B],b): |
> |
for i in [1/4,1/2,3/4,1,5/4,3/2,7/4,2] do D(b)[i]:=subs(B=i,D(b)[B]) od: |
> |
for i in [1/4,1/2,3/4,1,5/4,3/2,7/4,2] do b[opt][B=i]:=fsolve(D(b)[i]=0,b) od; |
![`:=`(b[opt][B = `/`(1, 4)], .2186267466)](/view.aspx?SI=6425/Relaxation_Sqrt_16.gif) |
(12) |
![`:=`(b[opt][B = `/`(1, 2)], .4541329692)](/view.aspx?SI=6425/Relaxation_Sqrt_17.gif) |
(12) |
![`:=`(b[opt][B = `/`(3, 4)], .7146838538)](/view.aspx?SI=6425/Relaxation_Sqrt_18.gif) |
(12) |
![`:=`(b[opt][B = 1], 1.013007567)](/view.aspx?SI=6425/Relaxation_Sqrt_19.gif) |
(12) |
![`:=`(b[opt][B = `/`(5, 4)], 1.368639799)](/view.aspx?SI=6425/Relaxation_Sqrt_20.gif) |
(12) |
![`:=`(b[opt][B = `/`(3, 2)], 1.808748370)](/view.aspx?SI=6425/Relaxation_Sqrt_21.gif) |
(12) |
![`:=`(b[opt][B = `/`(7, 4)], 2.361214973)](/view.aspx?SI=6425/Relaxation_Sqrt_22.gif) |
(12) |
![`:=`(b[opt][B = 2], 3.037813767)](/view.aspx?SI=6425/Relaxation_Sqrt_23.gif) |
(12) |
> |
data:=[0,0],[1/4,0.219],[1/2,0.454],[3/4,0.715], [1,1.013],[5/4,1.37],[3/2,1.81],[7/4,2.36],[2,3.04]; |
![`:=`(data, [0, 0], [`/`(1, 4), .219], [`/`(1, 2), .454], [`/`(3, 4), .715], [1, 1.013], [`/`(5, 4), 1.37], [`/`(3, 2), 1.81], [`/`(7, 4), 2.36], [2, 3.04])](/view.aspx?SI=6425/Relaxation_Sqrt_24.gif) |
(13) |
> |
plot([data],B=0..2,scaling=constrained, style=point,symbol=cross,symbolsize=50); |
From these data we find a cubic parabola by using the least-squares method:
> |
fit[leastsquare[[x,y],y=a[1]*x+a[2]*x^2+a[3]*x^3,{a[1],a[2],a[3]}]] ([[0,1/4,1/2,3/4,1,5/4,3/2,7/4,2], [0,0.219,0.454,0.715,1.013,1.37,1.81,2.36,3.04]]); |
 |
(14) |
> |
b[opt]:=0.92671*B-0.13351*B^2+0.214695*B^3; |
![`:=`(b[opt], `+`(`*`(.92671, `*`(B)), `-`(`*`(.13351, `*`(`^`(B, 2)))), `*`(.214695, `*`(`^`(B, 3)))))](/view.aspx?SI=6425/Relaxation_Sqrt_27.gif) |
(15) |
> |
alias(H=Heaviside,th=thickness,co=color): |
> |
p[1]:=plot([data],B=0..2,scaling=constrained, style=point,symbol=cross,symbolsize=50, title="b[opt] as a function of B"): |
> |
p[2]:=plot(b[opt],B=0..2,0..3,th=3,co=black,axes=boxed): |
> |
p[3]:=plot(3*H(B-1),B=0.99..1.001,linestyle=4,co=black): |
> |
p[4]:=plot({1,B},B=0..2,linestyle=3,co=black): |
> |
plots[display](seq(p[k],k=1..4)); |
The next Figure represents the relaxation curves S(t, B) and s(t, b) for the
parameter combinations {[b = B = 2], [b = 3.04, B = 2]} and {[b = B = 1/2], [b = 0.45, B = 1/2]}
> |
S(t,2):=exp(-2*sqrt(t)); s(t,2):=exp(-2*t); s(t,3.04):=exp(-3.04*t); |
 |
(16) |
 |
(16) |
 |
(16) |
> |
S(t,1/2):=exp(-sqrt(t)/2); s(t,1/2):=exp(-t/2); s(t,0.45):=exp(-0.45*t); |
 |
(17) |
 |
(17) |
 |
(17) |
> |
alias(H=Heaviside,th=thickness,co=color): |
> |
p[1]:=plot({S(t,2),S(t,1/2)},t=0..2,0..1,th=3,co=black): |
> |
p[2]:=plot({s(t,2),s(t,1/2)},t=0..2,axes=boxed,co=black): |
> |
p[3]:=plot({s(t,3.04),s(t,0.45)},t=0..2, th=2,linestyle=4,co=red): |
> |
p[4]:=plot(H(t-1),t=0.99..1.001,linestyle=4,co=black, title="[b = B = 2 # b = 3.04] and [b = B = 1/2 # b = 0.45]"): |
> |
p[5]:=plots[textplot]({[1.25,0.2,`B = 2`], [1.25,0.7,`B = 1/2`]}): |
> |
plots[display](seq(p[k],k=1..5)); |
In this Figure the thick "solid lines" refer to the parameter B = [2, 1/2], the thin
"solid lines" represent b = B , and the "dashdot lines" are the approximations characterized by b[opt] = [3.04, 0.45].
The above mentioned parameter combinations yield to the following L-two-norms:
> |
L[zwei][b=2][B=2]:= evalf(sqrt((1/2)*int((S(t,2)-s(t,2))^2,t=0..2)),4); |
![`:=`(L[zwei][b = 2][B = 2], .1201)](/view.aspx?SI=6425/Relaxation_Sqrt_36.gif) |
(18) |
> |
L[zwei][b=3.04][B=2]:= evalf(sqrt((1/2)*int((S(t,2)-s(t,3.04))^2,t=0..2)),4); |
![`:=`(L[zwei][b = 3.04][B = 2], 0.9271e-1)](/view.aspx?SI=6425/Relaxation_Sqrt_37.gif) |
(19) |
> |
L[zwei][b=1/2][B=1/2]:= evalf(sqrt((1/2)*int((S(t,1/2)-s(t,1/2))^2,t=0..2)),4); |
![`:=`(L[zwei][b = `/`(1, 2)][B = `/`(1, 2)], 0.7935e-1)](/view.aspx?SI=6425/Relaxation_Sqrt_38.gif) |
(20) |
> |
L[zwei][b=0.45][B=1/2]:= evalf(sqrt((1/2)*int((S(t,1/2)-s(t,0.45))^2,t=0..2)),4); |
![`:=`(L[zwei][b = .45][B = `/`(1, 2)], 0.6663e-1)](/view.aspx?SI=6425/Relaxation_Sqrt_39.gif) |
(21) |
Appendix
A full-length output of the calculation of the optimal parameter b[opt] as a function
of the first parameter B is listed in the following Worksheet:
> |
sqrt((1/2)*Int((exp(-B*sqrt(t))-b*exp(t))^2,t=0..2)); |
 |
(22) |
> |
INT(b)[B]:= simplify(int((exp(-B*sqrt(t))-exp(-b*t))^2,t=0..2)); |
> |
D(b)[B]:=diff(INT(b)[B],b); |
> |
for i in [1/4,1,2] do D(b)[i]:=subs(B=i,D(b)[B]) od; |
> |
for i in [1/4,1,2] do b[opt][B=i]:=fsolve(D(b)[i]=0,b) od; |
![`:=`(b[opt][B = `/`(1, 4)], .2186267466)](/view.aspx?SI=6425/Relaxation_Sqrt_88.gif) |
(26) |
![`:=`(b[opt][B = 1], 1.013007567)](/view.aspx?SI=6425/Relaxation_Sqrt_89.gif) |
(26) |
![`:=`(b[opt][B = 2], 3.037813767)](/view.aspx?SI=6425/Relaxation_Sqrt_90.gif) |
(26) |
Legal Notice: The copyright for this application is owned by Maplesoft. The application is intended to demonstrate the use of Maple to solve a particular problem. It has been made available for product evaluation purposes only and may not be used in any other context without the express permission of Maplesoft.