You are on page 1of 23

Project Report

AE675A – Finite Element Method
Topic – code for 1-D Problem
Name – Swatantra Verma
Roll no. – 11757
Instructure – C. S. Upadhyay

Code –
%
%
%
%
%

FEM 1D Code for AE675A
By
Swatantra Verma
11757

% defining variables
clc;
clear all;
syms EA k Ldom Nsub Lsub Nimelem x m n k_e Q1 Q2 EAp fsum k_ep k_ef
syms intK Intp Sum Fp f fp ff intF intp FFp Degf Degk nk nf wt Wt power
syms bndcD bndcDp bndcN bndcNp bndcM_del bndcM_k bndcMp chkc nodei nodej

%taking bar property as input
Ldom=input('Enter the length of the domain = ');
Nsub=input('Enter the number of subdomains = ');
Telem=0;
for i=1:Nsub
fprintf(' for subdomain %d=>\n',i);
Lsub(i)=input('Enter the length of subdomain = ');
Nelem(i)=input('Enter the number of elements in subdomain = ');
Lelem(i)=Lsub(i)/Nelem(i);
Telem=Telem+Nelem(i);
end
%check on input
sum=0;
for i=1:Nsub
sum=sum+Lsub(i);
end
if sum~=Ldom
('Wrong Input ..!!')
else
xn(1,1)=0;
%meshing of bar
for i=2:Nsub
xn(i,1)=xn(i-1,1)+Lsub(i-1);
end
for i=1:Nsub
for j=2:Nelem(i)+1
xn(i,j)=xn(i,j-1)+Lelem(i);
end
end
X=zeros(1,Telem+1);
k=0;
X(1,1)=0;
for i=1:Nsub
z=xn([i],:);
for j=2:Nelem(i)+1
X(1,j+k)=X(1,j+k)+z(1,j);
end

j-1)+Limt(l).j)=imx(i+k.j)).%the number of intermediate points we want for i=1:Nsub Limt(i)=(Lsub(i)/(Nelem(i)*(intpoint+1))). for h=1:Telem for i= 1:nosf for j=1:nosf if i~=j num=num*(x-imx(h. for i=1:Telem for j=1 imx(i.1). intpoint = deg-1.j). den=1. end %number of intermediade elements Nimelem=0. end . end %basis function generation num=1 . den=den*(imx(h. end end k=k+Nelem(l). end nosf=nimt+2. den=1. num=1. for i=1:Nsub Nimelemsub(i)=((Lsub(i))/(Limt(i))). end W=X'. end k=0. power=deg. end N=Nimelem+1. M{h. else nimt=deg-1.i}=fract. if deg==0 nimt=0. end end for l=1:Nsub for i=1:Nelem(l) for j=2:intpoint+1 imx(i+k. else end end fract=num/den. deg=input('Enter the desired order of approximation = ').j)=W(i. fract. end end for i=1:Telem for j=intpoint+2 imx(i.k=k+Nelem(i).j)).j)=W(i+1.i)-imx(h. Nimelem=Nimelem+Nimelemsub(i).

%formulation of global matrix of K(stiffness matrix) and F(force matrix) intK=zeros((Telem*(nosf-1))+1.nosf).i)=diff(m(h.j)*n(i. EA(i)= poly2sym(EAp. for i=1:Nsub for j=1:Nelem(i) r=r+1.X(i+1). n(h.k)=k_e(i). for k=1:nosf EAf(r.wt] = gauleg(X(i).x). for k=1:nosf q=q+1. fp= input('Enter a polynomial for f in [] brackets(highest power coefficient first) = ').i). k_e(i) = poly2sym(k_ep. f(i)= poly2sym(fp. [Intp. end end shapefunction = m.i)).x).j)*m(i. k and f per subdomain for i=1:Nsub fprintf(' for subdomain %d=>\n'.i}). Sum=zeros(nosf.k)=EA(i).x).nk). k_ep = input('Enter a polynomial for k in [] brackets(highest power coefficient first) = '). end %formulation of EA. Fp = sym2poly((EAf(i)*n(i. q=0. Degk = numel(Fp)-1. %derivative of shape function %input of EA. end end p=0. k and f matrix over bar r=0.k))).(Telem*(nosf-1))+1).i)=vpa(M{h. for i=1:Telem for j=1:nosf p=p+1. %shape fhape function derivativeofshapefunction = n.end for h=1:Telem for i=1:nosf M{h. Val = polyval(Fp. k_ef(r. m(h. nk=ceil((Degk+1)/2).k))+(k_ef(i)*m(i. .Intp).i}. end ff(r)=f(i). EAp= input('Enter a polynomial for EA in [] brackets (highest power coefficient first) = ').

if chkc == 0 bndcDp = input('input the node point point coordinate = ').nosf).X(i+1). Val = polyval(FFp.nodei) = 1.intp).nf).j). %d=>\n'. end intK(p.k) = Sum(j. [intp. p=(nosf-1)*i. intK(i. end end for i=1:(Telem*(nosf-1))+1 if i~=nodei intK(nodei. q=(nosf-1)*i. else intK(nodei. for j=1:bndc_no fprintf(' for boundry condition no.k).q) = intK(p.nodei) = 0.1). end q=q-nosf. end end elseif chkc == 1 bndcNp = input('input the node point coordinate = '). for i=1:(Telem*(nosf-1))+1 if i~=nodei intF(i) = intF(i)-intK(i. end intF(p) = intF(p)+Sum(j).Wt] = gauleg(X(i).for l=1:nk Sum(j. Sum=zeros(nosf.1. chkc = input('input boundry condition type (0. for l=1:nf Sum(j) = (Sum(j)+Val(l)*Wt(l)). bndcD = input('input the value of u = ').j)). FFp = sym2poly(ff(i)*m(i. intF=zeros(((Telem*(nosf-1))+1).nodei)*bndcD.i) = 0. p=(nosf-1)*i. for i=1:Telem for j=1:nosf p=p+1. end Sum=zeros(nosf.q)+Sum(j. q=0. of condition = '). nf=ceil((Degf+1)/2).2)= '). . bndcN = input('input the value of p = '). end %taking boundry conditions as input and changing global matrix of K(stiffness matrix) and F(force matrix) bndc_no = input('input total boundry no. else intF(nodei) = 0. end Sum=zeros(nosf.1). Degf = numel(FFp)-1.1).k)+(Val(l)*wt(l)). [nodei] = find(W==bndcDp). end p=0.

bndcM_k = input('input the value of k = '). bndcM_del = input('input the value of delta(disp) = ').1)=U(i.j)*Alfa(a)). end U %calculating diffrentiate of U U_diff = diff(U). elseif chkc == 2 bndcMp = input('input the node point coordinate = '). if(j~= Telem) hold on. end a=a-1. else hold off.[nodei] = find(W==bndcNp). if(i~= Telem) hold on.1).!!') end end %calculating Alfa Alfa = (inv(intK)*intF). a=0. for i=1:Telem ezplot(x. else ('Wrong Input . intK(nodei. end end subplot(3.1.nodei)=intK(nodei. else hold off.2). U_diff %ploting U and U_diff subplot(3. [nodei] = find(W==bndcMp). intF(nodei)= intF(nodei)-(bndcM_k*bndcM_del). %calculating U syms U U_diff a M deg U=sym(zeros(Telem.1.1)).1)+(m(i.W(j+1)]).[W(j)..[W(i).U_diff(j). end end .W(i+1)]).U(i).nodei)-bndcM_k. for j=1:Telem ezplot(x. for i=1:Telem for j=1:nosf a=a+1. intF(nodei)= intF(nodei)+bndcN. U(i.

nr)+kmat_temp(2.x.m)=subs(kmat(q.1)). else .m)+temp_fmat(s.i)=(x^(q-1)) * (x^(r-1)). for s=1:3 j=i+(s-2).intpr(m)). if i~=1 && i~=Telem [intpr.r.X(i+2). for q=1:nr+1 for r=1:nr+1 kmat(q.1. elseif s==2 kmat_temp(s.i).wr]=gauleg(X(i).intpr(m)).nr).intpr(m)).x.m)=kmat_temp(s. end end elseif i==1 [intpr.i). fmat(r.m)=subs(fmat(r.r.m)=subs(kmat(q.i).wr_prev]=gauleg(X(i-1). else kmat_temp(s. for m=1 :nr if s==1 kmat_temp(s.r. fmat(r.X(i+1). fmat(r.m)=subs(kmat(q. [intpr_next.r.nr).m)=temp_fmat(s. for s=1:2 j=i+(s-1).intpr_prev(m)).intpr_next(m)).i)=(x^(q-1)) * (x^(r-1)).1.m-1).intpr(m)).intpr_next(m)).i).X(i).1.i).nr)+kmat_temp(3.r.1.wr_next]=gauleg(X(i+1). temp_fmat(s.1.i)=kmat_temp(1. temp_fmat(s.i)=temp_fmat(1.x.X(i+1).wr]=gauleg(X(i). end if m~=1 kmat_temp(s.r.r.i). temp_fmat(s.1. temp_fmat(s.nr). [intpr_next.wr_next]=gauleg(X(i+1).i)= (x^(r-1)) * (U_diff(j.i).nr).m-1).nr)+temp_fmat(2.nr).m)=subs(fmat(r.1.nr)+temp_fmat(3. temp_fmat(s. for q=1:nr+1 for r=1:nr+1 kmat(q.nr).x.x.1)). end end end kmat(q.nr).x.m)=subs(kmat(q. for m=1 :nr if s==1 kmat_temp(s.intpr_prev(m)).m)=subs(fmat(r.i).X(i+2).i)= (x^(r-1)) * (U_diff(j.%-------------recovery--------% %Calculation of K and F for recovery for i= 1:Telem nr=power.x.m)=subs(fmat(r.m)+kmat_temp(s.x. [intpr_prev.

1.wr_prev]=gauleg(X(i-1). temp_fmat(s.x. else kmat_temp(s.m)=subs(kmat(q. end end end end %calculation of Alfar = Alfa for recovery for i=1:Telem Alfar(:. temp_fmat(s.i))*fmat(:.i)= (x^(r-1)) * (U_diff(j. end if m~=1 kmat_temp(s.i)=temp_fmat(1.1.i). fmat(r.r.nr).nr)+temp_fmat(2.intpr(m)).1.m)+kmat_temp(s. end if m~=1 kmat_temp(s.m)=subs(fmat(r. fmat(r.nr).m)=kmat_temp(s.intpr(m)).r.x.m-1).nr)+kmat_temp(2.r.kmat_temp(s.intpr_next(m)).i)=temp_fmat(1.r. end end end kmat(q.1.nr).m-1).:.m-1). temp_fmat(s.nr).1.i).m)=subs(fmat(r.m)=temp_fmat(s.i).r.x.X(i). temp_fmat(s.m)=subs(kmat(q.m)=subs(kmat(q.x.x. end end end kmat(q. temp_fmat(s.r.i). for q=1:nr+1 for r=1:nr+1 kmat(q.i)= inv(kmat(:.i).m)=subs(fmat(r.1)).intpr_prev(m)). [intpr_prev.intpr_next(m)).nr).i)=(x^(q-1)) * (x^(r-1)). end end elseif i==Telem [intpr.intpr_prev(m)).m)+kmat_temp(s.m)+temp_fmat(s. for m=1 :nr if s==1 kmat_temp(s.i)=kmat_temp(1. for s=1 :2 j=i+(s-2).m)=temp_fmat(s.wr]=gauleg(X(i).nr)+kmat_temp(2.m)=kmat_temp(s.X(i+1).i).nr)+temp_fmat(2. end % calculation and plot of recovery of dudx subplot(3.x. fmat(r.nr).i).i)=kmat_temp(1.:.1.1.m).1.3) for i=1 : Telem .

1)=temp_dudx_r(nr+1).dudx_r(i.[W(i).1. ezplot(x. if(i~= Telem) hold on.END-----------% . if j~=1 temp_dudx_r(j)=temp_dudx_r(j)+temp_dudx_r(j-1).1). end end dudx_r %-------.W(i+1)]). else hold off. end end dudx_r(i.i).for j=1:nr+1 temp_dudx_r(j)= (x^(j-1))*Alfar(j.

2)= 0 input the node point coordinate = 0 input the value of u = 0 for boundry condition no.1. 2=> input boundry condition type (0.2)= 1 input the node point coordinate = 1 input the value of p = 1 U= .5 Enter the number of elements in subdomain = 2 for subdomain 2=> Enter the length of subdomain = . of condition = 2 for boundry condition no.5 Enter the number of elements in subdomain = 2 Enter the desired order of approximation = 1 for subdomain 1=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] for subdomain 2=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] input total boundry no.1. 1=> input boundry condition type (0.Test Cases – Test -1 Enter the length of the domain = 1 Enter the number of subdomains = 2 for subdomain 1=> Enter the length of subdomain = .

0 1.1 1 0.6 x x = x.0 x y 1 0.0 1.0 2 y 1.6 x .0*x U_diff = 1.0*x 1.0*x 1.1.4 0. y = 1.4 0.9 0 0.8 1 0.2 0.2 0.0*x 1.0 1.5 0 -1 0 1 x x = x.0 dudx_r = 1 1 1 1 x = x. y = 1.1 1 0. y = 1 0 0.8 1 y 1.9 0.

2)= 1 input the node point coordinate = .1.1.5 Enter the number of elements in subdomain = 2 for subdomain 2=> Enter the length of subdomain = . 1=> input boundry condition type (0. of condition = 3 for boundry condition no.5 input the value of p = 1 . 2=> input boundry condition type (0.2)= 0 input the node point coordinate = 0 input the value of u = 0 for boundry condition no.2)= 1 input the node point coordinate = 1 input the value of p = 0 for boundry condition no.5 Enter the number of elements in subdomain = 2 Enter the desired order of approximation = 1 for subdomain 1=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] for subdomain 2=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] input total boundry no.1.Test -2 Enter the length of the domain = 1 Enter the number of subdomains = 2 for subdomain 1=> Enter the length of subdomain = . 3=> input boundry condition type (0.

0 0 0 dudx_r = 1 17/12 .5 0 -1 0 1 x x = x.5 x x = x.U= 1.5 0 -0.0*x 0.5 y 0.5 U_diff = 1. y = 0 1 1. y = 0 2 -1 0 2 y 1 0.2*x 19/12 . y = 0.5 y 1 0.0 1.5 0 0.0*x 1.2*x 0 x = x.5 0 1 x .5 0.

2)= 1 input the node point coordinate = .Test -3 Enter the length of the domain = 1 Enter the number of subdomains = 2 for subdomain 1=> Enter the length of subdomain = . 3=> input boundry condition type (0.2)= 1 input the node point coordinate = 1 input the value of p = 1 for boundry condition no.1.1. 1=> input boundry condition type (0.2)= 0 input the node point coordinate= 0 input the value of u = 0 for boundry condition no.5 Enter the number of elements in subdomain = 2 Enter the desired order of approximation = 1 for subdomain 1=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] for subdomain 2=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10] Enter a polynomial for k in [] brackets (highest power coefficient first) = [0] Enter a polynomial for f in [] brackets (highest power coefficient first) = [0] input total boundry no.5 input the value of p = 1 .1. 2=> input boundry condition type (0. of condition = 3 for boundry condition no.5 Enter the number of elements in subdomain = 2 for subdomain 2=> Enter the length of subdomain = .

0*x 2.95 U_diff = 2. y = 0.1 dudx_r = 2 67/24 .U = 2.1 0.95 y 1 0.5 1 0.1 x + 0.1*x + 0.5 y 0 -2 -1 0 1 x x = x.95 0.0*x 0. y = 0.0 2.5 1 0.0 0.5 -4 -2 0 2 4 2 4 y x x = x.5 -4 -2 0 x . y = 1/10 2 1.1 2 3 2 1.(19*x)/5 373/120 .(19*x)/5 1/10 x = x.1*x + 0.

3=> input boundry condition type (0.1. of condition = 3 for boundry condition no.1] for subdomain 2=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10] Enter a polynomial for k in [] brackets (highest power coefficient first) = [1] Enter a polynomial for f in [] brackets (highest power coefficient first) = [2.2)= 1 .1.2)= 1 input the node point coordinate = 1 input the value of p = 0 for boundry condition no.5] Enter a polynomial for k in [] brackets (highest power coefficient first) = [1] Enter a polynomial for f in [] brackets (highest power coefficient first) = [2. 1=> input boundry condition type (0.Test -4 Enter the length of the domain = 3 Enter the number of subdomains = 2 for subdomain 1=> Enter the length of subdomain = 1 Enter the number of elements in subdomain = 2 for subdomain 2=> Enter the length of subdomain = 2 Enter the number of elements in subdomain = 4 Enter the desired order of approximation = 2 for subdomain 1=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [5.3] input total boundry no.1. 2=> input boundry condition type (0.2)= 0 input the node point coordinate = 0 input the value of u = 0 for boundry condition no.

479874159144934253617975628003*(x .5)*(x .0.4356403139235851540433941408992 .0) 29.5)*(x .0.065737487366590130477561615407*(x .65920726287530762022015551338*x*(x .443284052978029308178520295769*(x .25) 57.2.0) 31.31055026665708140853894292376935*x 1.443284052978029308178520295769*(x .1.8988771102623744901904956350336 .455727100577016486226966662798*(x .5) + 11.2.641474734517053946092346450314*(x .0.5) 19.0) 28.065737487366590130477561615407*(x .0) 19.5)*(x .1.691426964999351412188843823969*(x .122007064902827977448396268301*(x .1.0) 54.2.75)*(x .0575303610339519266858587798197 .0)*(x .0)*(x .4656718562933996885533360909903 .25)*(x .25) 12.2.5) + 29.47722691514141502011625561863184*x .input the node point coordinate = 3 input the value of p = 10 U= 11.9867463440282264741654216777533 .0.1.1.97293934828370964851274038665*(x .0.0) + 26.2.2.5)*(x .2147522308371998533971236611251 .2026504962161617129368096357211*x 1.796389103442578516478533856571*(x .500336401663126650873891776428*(x .1.5)*(x .0.3.0.2.1.26490638834486901487252907827497*x 1.25)*(x .5) U_diff = 3.4069603245965822679863777011633*x 2.0) 28.75)*(x .75) 59.2.0.5) + 26.38901575878963257082432392053306*x 1.3.1.122007064902827977448396268301*(x .1.479874159144934253617975628003*(x .75)*(x .2.0.75)*(x .0.1.75)*(x .2.2.1.1.2.2.0) + 29.1.455727100577016486226966662798*x*(x .25) 45.5)*(x .343019685597958812195429345593*(x .

47722691514141502011625561863184 x y -5 0 3 2 1 2 4 6 8 x x = x.4356403139235851540433941408992 .5 1 0.+ 2596945644605905/3377699720527872 y -6 -4 -2 0 2 1.97293934828370964851274038665 (x .3.+ 29.. y = 1.75) (x ..(6207308294935*x^2)/70368744177664 + (9541701212105*x)/1125899906842624 + 2596945644605905/3377699720527872 y x = x.(168981288381493*x^2)/70368744177664 + (8468238993012299*x)/2251799813685248 + 68689443268471/13510798882111488 (149361901570707*x^2)/140737488355328 ..479874159144934253617975628003 (x .0.(162480030621297*x^2)/281474976710656 + (99967898607503*x)/1688849860263936 + 5235534440893573/2251799813685248 (1053749989888677*x^2)/1125899906842624 . y = 29.2.2..(90819771376623499*x)/20266198323167232 + 456962077195719595/81064793292668928 .(187505158257477*x^2)/2251799813685248 .2.0) (x .5 -4 -2 0 2 x 4 6 . y = -.(73197444396387*x)/4503599627370496 + 43198453784032199/54043195528445952 .dudx_r = .5) 2 0 5 10 x x = x.75) -.(7117189074733225*x)/2533274790395904 + 11765527698663083/3377699720527872 .

3=> . 1=> input boundry condition type (0.2)= 0 input the node point coordinate = 0 input the value of u = 0 for boundry condition no.1] for subdomain 2=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10] Enter a polynomial for k in [] brackets (highest power coefficient first) = [1] Enter a polynomial for f in [] brackets (highest power coefficient first) = [2.Test .5] Enter a polynomial for k in [] brackets (highest power coefficient first) = [1] Enter a polynomial for f in [] brackets (highest power coefficient first) = [2.1.1.3] input total boundry no.2)= 1 input the node point coordinate = 1 input the value of p = 0 for boundry condition no. of condition = 3 for boundry condition no. 2=> input boundry condition type (0.5 Enter the length of the domain = 3 Enter the number of subdomains = 2 for subdomain 1=> Enter the length of subdomain = 1 Enter the number of elements in subdomain = 2 for subdomain 2=> Enter the length of subdomain = 2 Enter the number of elements in subdomain = 4 Enter the desired order of approximation = 3 for subdomain 1=> Enter a polynomial for EA in [] brackets (highest power coefficient first) = [5.

245999008315026301829675503541*(x .331.2.0) .1666666666666666666666666666667)*(x .6666666666666666666666666666667)*(x 1.2.1.8333333333333333333333333333333)*(x .1.113.2.2.8333333333333333333333333333333)*(x .5)*(x .6666666666666666666666666666667)*(x .16666666666666666666666666666667)*(x 0.1.113.01720555797356482230497931596*(x .0) .0.66666666666666666666666666666667)*(x .1.1666666666666666666666666666667)*(x .90.6666666666666666666666666666667)*(x .5)*(x .66666666666666666666666666666667)*(x .1666666666666666666666666666667) + 285.5) .2.0.8333333333333333333333333333333)*(x 1.435290567012934559443237958476*(x 1.3333333333333333333333333333333)*(x .297.37519908266103740857033699285*(x .0) .3333333333333333333333333333333)*(x 2.0) 363.72231576904152561269256693777*(x 0.58502585450562527569218218559*(x .5)*(x 2.0.1.83333333333333333333333333333333)*(x 0.0) 347.1.8333333333333333333333333333333)*(x .96081538733189297829540009843*(x 3.0) 113.16666666666666666666666666666667)*(x .37519908266103740857033699285*(x 2.2.66666666666666666666666666666667)*(x .input boundry condition type (0.3.3167268551962649780762149021*(x .1.5)*(x .3333333333333333333333333333333)*(x 1.0) + 119.0)*(x .5) .435290567012934559443237958476*(x .18632569249823305312929733191*(x .1.1.5)*(x .0) + 321.12364113464954407106688449858*(x .33333333333333333333333333333333)*(x .0.3333333333333333333333333333333)*(x .5)*(x .2.1.2.3333333333333333333333333333333)*(x .0) 53.6666666666666666666666666666667)*(x - .2)= 1 input the node point coordinate = 3 input the value of p = 10 U= 53.0) + 200.0.1666666666666666666666666666667) 354.119.5)*(x 1.110124903685870467739960076869*x*(x 0.6666666666666666666666666666667) 366.1.3333333333333333333333333333333)*(x 1.3.1.92004802842554056496737757698*(x .1.0.0)*(x .0.237.5)*(x .2.96081538733189297829540009843*(x .83333333333333333333333333333333)*(x 0.0) 103.0) .1.83333333333333333333333333333333)*(x .33333333333333333333333333333333) .1.2.2.245999008315026301829675503541*x*(x .1666666666666666666666666666667)*(x .2.5) .103.3167268551962649780762149021*(x 1.97218363337871416263169521699*(x .8333333333333333333333333333333)*(x .66305623331731577962955270777*x*(x 0.2.1.5)*(x 2.1.1666666666666666666666666666667)*(x 2.5) + 61.1.0)*(x 2.77934232691515958890704496298*(x .5)*(x .2.0.77056079448808834087003560853*(x 0.04115323106015189580375590594*(x .5) 90.

8333333333333333333333333333333)*(x 2.2.058472227464772430494122090749*(x .0) .28702520202859105324932897929*(x 0.0) .3333333333333333333333333333333) 388.2.66666666666666666666666666666667) + 291.74844205198850666249654750573*(x 1.33333333333333333333333333333333) 52.66666666666666666666666666666667)*(x .113.5) + 61.1.1.5) 37.2.0.234.35612391200089676956963558041*x*(x 0.290.1666666666666666666666666666667)*(x .66666666666666666666666666666667)*(x .1.93299902071060714092709531542*(x 2.0.62421046717373229739678208716*(x 2.5) U_diff = 114.2.1666666666666666666666666666667) 6.1.5)*(x .0) + 6.72442637586388691772754100384*(x 1.0.96831477735655191452224244131*(x 0.33668142811212220522065763362*(x .1.2.2.3333333333333333333333333333333)*(x 1.2.2.194.6128422211269111130604869686067*(x .5)*(x .0) .5) .0) 234.58191499096063026286174135748*(x .96022493716666268426251917845*(x .3333333333333333333333333333333)*(x 2.36.1.5) .52456178617306203904036010499*(x 0.951754974553437271822531329235*(x 0.16666666666666666666666666666667)*(x .0) .0.66305623331731577962955270777*(x 0.33333333333333333333333333333333)*(x .5) + 122.881436288183330418632976943627*(x .0) 10.5)*(x .189291558697908257613562454935*(x .6666666666666666666666666666667)*(x .6666666666666666666666666666667) + 434.1.2.16666666666666666666666666666667) + 53.59698455071767675406135822413*(x .434.2.0.902842470451975742662398261018*(x .1.20585136150102290031327356701*(x 0.2.5856163046708555697250631055795*(x .83333333333333333333333333333333)*(x .0) .1666666666666666666666666666667) + 388.0) .3333333333333333333333333333333)*(x .1.417057225002289477799877204234*x*(x 0.5)*(x .217.2.1666666666666666666666666666667)*(x .5)*(x .33393241316982980038119421806*(x 1.60332117322927558689116267487*(x 1.4163523137211893043740928988*(x 1.33333333333333333333333333333333) .245999008315026301829675503541*(x 0.110124903685870467739960076869*(x 0.1.8333333333333333333333333333333)*(x 1.1.60.1.0) + 12.0.2.8333333333333333333333333333333)*(x .5)*(x .2.082487903589392175263128592633*(x 1.1.0) 194.5) .1666666666666666666666666666667) 12.552931329631445311889592630905*x*(x .16666666666666666666666666666667)*(x .44036798984580904914309940068*(x 1.6666666666666666666666666666667)*(x .8333333333333333333333333333333)*(x .10.35533859543847512441061553545*(x .147.6666666666666666666666666666667)*(x .1.1.1666666666666666666666666666667) + 467.3333333333333333333333333333333) 467.0.5) + 147.83333333333333333333333333333333)*(x 0.0) .5)*(x .5)*(x .83333333333333333333333333333333)*(x .3333333333333333333333333333333)*(x .2.5) + 217.

243.5) dudx_r = (75802571805425125*x^3)/2814749767108072 (126855265433737628830063288564415*x^2)/3119608899000834054019639934976 + (108396595568312186272489881267505*x)/6239217798001668108039279869952 56873317228221958625800777197961/49913742384013344864314238959616 (753339013326251825*x^3)/1066350357082473088 (8554717007507696568850763736845*x^2)/6155439238700161385149614784512 (36674738663846536148987489073205*x)/24621756954800645540598459138048 + 42837296449935338790493127815969/12310878477400322770299229569024 (7341157905953026960215433999698002841862465*x^3)/18336705731462315260764552868370 786878358552 (39874908145552851532014995979907753193769335*x^2)/2200404687775477831291746344204 49442540302624 (2604958408736338170330911931138826351206767455*x)/8801618751101911325166985376817 97770161210496 + 2620687069848158858114218980915442722410326778325538511485/6451654773391884476532 77421778661559863999782927690891264 (799862640358850681582821309690860801325395*x^3)/137525292984980758364131997809513 956897424672 (68902969800308697212507163316504832983506005*x^2)/1650303515819769100369583973714 167482769096064 (326504567569256428009713275689773275970181725*x)/22004046877596921338261119649522 23310358794752 + 21317688405838307152923424139592918029157912379644696695195/217743348600414010870 53940777660640226385646943321056083968 .3758660407802292269252575351857*(x .2.1160237550272817941277025966*(x 2.6666666666666666666666666666667)*(x .6666666666666666666666666666667) 2.3.84964426438611084790863969829*(x 2.5) .8333333333333333333333333333333) .8333333333333333333333333333333)*(x 2.6666666666666666666666666666667) + 486.243.2.3.2.0)*(x .8333333333333333333333333333333)*(x .5) + 2.0)*(x .81852693958326661061164486455*(x .2.406983365583073464222252368927*(x .486.2.0)*(x .2.14714107983012603142469743034*(x .3.

0) (x .83333333333333333333333333333 2 0 -6 -4 -2 0 2 4 6 8 y x 61061164486455 (x .84964426438611084790863969829 (x .8333333333333333333333333333333) -..5) -.2.243.2...666666666666666 3 2 1 -5 0 -5 0 y 5 10 x x.8333333333333333333333333333333) (x ..2..3.(81337120763564480615557319800159592055805*x^3)/1146044108199897514994141689689621 2707129856 (14051145657869595247517625314309523076565135*x^2)/4125758789519631053978910082882 63657456674816 (89967857426886844561487528002353372231410905*x)/550101171935950807197188011051018 209942233088 + 1345689638394018849669239850754843848675601364295631278535/1360895928742760672780 192984041388044340555421409395867648 (730106081404517119631012978696112457*x^3)/93790327337722225707791894815319949056 (32594498243675222207692225519502326835*x^2)/1125483928052666708493502737783839388 672 (132069105194355344270731747974952010855*x)/75032261870177780566233515852255959244 8+ 1236101360151818265516523432236110013245944762584235/1237482665768914042513295279 940621745065695454953472 y x . y = -.+ 122.2.2..+ 1236101360151818265516523432236110013245944762584235/1237482665768914042513295279940621745065695454953472 2 1 0 -1 5 x 10 ..33668142811212220522065763362 (x .