Dear all,

Using Maple I am able to compute a general solution to my system of

ODE; does anyone know an easy way to find the particular solution to

the same problem using meshless methods, i.e. obtaining a solution

that verifies prescribed boundary conditions.

Here’s the Maple worksheet with my differential equations system

with(linalg):

- Hide quoted text — Show quoted text -

> with(LinearAlgebra):

> with(DEtools):workdir:="D:/Science/PhD@work/3Dmodel/kirchhoff/general/BOX8LL":

> currentdir(workdir);

> read "modelRigid_kirchhoff.m":

> read "modelRigid_modesB2.m":

> Yc:=-B/2:

> Zc:=-H/2:

> alias(alpha=B^4+6*H*B^3-5*H^2*B^2+6*B*H^3+H^4);

> alias(beta=9*E*B^4*G*H^4+18*E*B^3*G*H^3*t^2+3*E*B^2*G*H^4*t^2+3*E*B^4*G*H^2*t^2+8*E*B^2*G*H^2*t^4+4*E*B*G*H^3*t^4+4*E*B^3*G*H*t^4);

> T_modesGlobal_t:=transpose(T_modesGlobal):

> K0g2d:=map(simplify,evalm(T_modesGlobal_t &* K0g2 &* T_modesGlobal));

> subs(Yc=-B/2,Zc=-H/2,evalm(K0g2d));

> nDim:=rowdim(K0g2d);

> K1g2d:=map(simplify,evalm(T_modesGlobal_t &* K1g2 &* T_modesGlobal));

> subs(Yc=-B/2,Zc=-H/2,evalm(K1g2d));

> K2g2d:=map(simplify,evalm(T_modesGlobal_t &* K2g2 &* T_modesGlobal));

> subs(Yc=-B/2,Zc=-H/2,evalm(K1g2d));

> d0:=vector(11,[q1(x),q2(x),q3(x),q4(x),q5(x),q6(x),q7(x),q8(x),V(x),W(x),Theta(x)]);

> d1:=map(diff,d0,x);

> d2:=map(diff,d0,x,x);

> EQD:=map(simplify,evalm(K2g2d &* d2 + K1g2d &* d1 + K0g2d &* d0)):

> EQD_num:=map(evalf,subs(H=2,B=1,t=0.01,E=200,G=87,evalm(EQD)));

> #for i from 1 to nDim do eq[i]:=EQD[i]=0: end do:

> for i from 1 to nDim do eq[i]:=EQD_num[i]=0: end do:

> sys_eqd:=[seq(eq[i],i=1..nDim)]:

> sol:=map(evalf,dsolve(sys_eqd));

> subs(sol,q1(x));

> subs(sol,q2(x));

> subs(sol,q3(x));

> Q0g2d:=evalm(T_modesGlobal_t &* Q0g2 &* T_modesGlobal);

> Q1g2d:=map(simplify,evalm(T_modesGlobal_t &* Q1g2 &* T_modesGlobal));

> dd1:=map(convert,d1,D);

> dd0:=map(convert,d0,D);

> Boundary_Terms:=evalm(Q1g2d &* dd1 + Q0g2d &* dd0);

> P:=vector(11,[N1,N2,N3,N4,N5,N6,N7,N8,Vy,Vz,T]);

> Pd:=map(simplify,evalm(T_modesGlobal_t &* P));

> for i from 1 to nDim do eq_boundary_static[i]:=Boundary_Terms[i]-Pd[i]=0; end do:

> EQBStatic:=[seq(eq_boundary_static[i],i=1..nDim)]:

> EQBStatic_num:=subs(x=0,H=2,B=1,t=0.01,E=200,G=87,N5=1000,N1=0,N2=0,N3=0,N4=0,N5=0,N6=0,N7=0,N8=0,Vy=0,Vz=0,T=0,EQBStatic);

> d_prescribed:=vector(11,[U1,U2,U3,U4,U5,U6,U7,U8,V_p,W_p,Theta_p]);

> EQBKinematic:=[seq(d0[i]-d_prescribed[i]=0,i=1..nDim)];

> EQBKinematic_num:=subs(x=10,H=2,B=1,t=0.01,E=200,G=87,U1=0,U2=0,U3=0,U4=0,U5=0,U6=0,U7=0,U8=0,V_p=0,W_p=0,Theta_p=0,EQBKinematic);

> sol_num:=dsolve({op(sys_eqd),op(EQBStatic_num),op(EQBKinematic_num)},{q1(x),q2(x),q3(x),q4(x),q5(x),q6(x),q7(x),q8(x),V(x),W(x),Theta(x)},numeric);

Is there an easy way to implement a meshless method to solve this out?

Thanks