Question: Can't solve a differential equation

I have an ordinary differential equation to be solved. when I give numeric values to B,H and L__1 (for example B=10,H=10,L__1=4), everything works fine and equations eq37a will be solved.

but when B,H and L__1 are symbolic parameters, dsolve give me this error " Error, (in dsolve) give the main variable as a second argument". and I don't know what it means.

is there any way to solve the ODE with symbolic B,H and L__1??

 

restart;

#B:=10;
#H:=10;
#L__1:=4;

eq0:=R__i=(1/2)*B+L__1;
eq01:=R__f=C+(1/2)*B+L__1;
eq02:=theta__1=arctan((H/2)/(B/2 + L__1));
eq03:=theta__2=Pi - arctan((H/2)/(B/2 - L__1));
eq43:= v__beta(r,theta,beta)= v__m(beta)*(1-(r^2/((R__max(theta,beta))^2)));
eq39:=R(beta)=R__i+2*beta*(R__f-R__i)/Pi;
eq39a:=simplify(subs([eq0,eq01], eq39));
eq38:=R__max(theta,beta)=R__max(theta,0)*(R(beta)/R__i);
eq41:=R__max(theta,0)=piecewise(theta<=rhs(eq02),(B/2+L__1)/cos(theta),theta<=rhs(eq03),(H/2)/sin(theta),rhs(eq03)<theta,(B/2-L__1)/cos(Pi-theta));
eq38a:= simplify(subs([eq41,eq39a,eq0], eq38));
eq44 := v__m(beta) = 1/(2*int((1 - r^2/R__max(theta, beta)^2)*r, [r = 0 .. R__max(theta, beta), theta = 0 .. Pi]));
eq44a:=simplify(subs(eq38a,eq44)) assuming B/L__1 >= 2 , H > 0 , B > 0 , L__1 > 0;
eq44b:= v__m(beta)= rhs(eq44a) * B * H;
eq47:=subs([eq44b,eq38a],eq43);

eq0 := R__i = (1/2)*B+L__1

 

eq01 := R__f = C+(1/2)*B+L__1

 

eq02 := `&theta;__1` = arctan(H/(2*((1/2)*B+L__1)))

 

eq03 := `&theta;__2` = Pi-arctan(H/(2*((1/2)*B-L__1)))

 

eq43 := `v__&beta;`(r, theta, beta) = v__m(beta)*(1-r^2/R__max(theta, beta)^2)

 

eq39 := R(beta) = R__i+2*beta*(R__f-R__i)/Pi

 

eq39a := R(beta) = (1/2)*B+L__1+2*beta*C/Pi

 

eq38 := R__max(theta, beta) = R__max(theta, 0)*R(beta)/R__i

 

eq41 := R__max(theta, 0) = piecewise(theta <= arctan(H/(2*((1/2)*B+L__1))), ((1/2)*B+L__1)/cos(theta), theta <= Pi-arctan(H/(2*((1/2)*B-L__1))), H/(2*sin(theta)), Pi-arctan(H/(2*((1/2)*B-L__1))) < theta, -((1/2)*B-L__1)/cos(theta))

 

eq38a := R__max(theta, beta) = (Pi*(B+2*L__1)+4*beta*C)*piecewise(theta <= arctan(H/(B+2*L__1)), (B+2*L__1)/cos(theta), theta <= Pi-arctan(H/(B-2*L__1)), H/sin(theta), Pi-arctan(H/(B-2*L__1)) < theta, (-B+2*L__1)/cos(theta))/(2*Pi*(B+2*L__1))

 

eq44 := v__m(beta) = 2/(int(R__max(theta, beta)^2, theta = 0 .. Pi))

 

eq44a := v__m(beta) = 2*Pi^2*(B+2*L__1)^2/(H*(B*Pi+4*C*beta+2*L__1*Pi)^2*B)

 

eq44b := v__m(beta) = 2*Pi^2*(B+2*L__1)^2/(B*Pi+4*C*beta+2*L__1*Pi)^2

 

v__beta(r, theta, beta) = 2*Pi^2*(B+2*L__1)^2*(1-4*r^2*Pi^2*(B+2*L__1)^2/((Pi*(B+2*L__1)+4*beta*C)^2*piecewise(theta <= arctan(H/(B+2*L__1)), (B+2*L__1)/cos(theta), theta <= Pi-arctan(H/(B-2*L__1)), H/sin(theta), Pi-arctan(H/(B-2*L__1)) < theta, (-B+2*L__1)/cos(theta))^2))/(B*Pi+4*C*beta+2*L__1*Pi)^2

(1)

eq37:=diff(v__r(r, theta, beta),r)*r*(R__f-r*cos(theta))+v__r(r,theta,beta)*(R__f-2*r*cos(theta))+r*diff(v__beta(r,theta,beta),beta)=0;
eq37a:=simplify(expand(subs(eq47, eq37)));

eq37 := (diff(v__r(r, theta, beta), r))*r*(R__f-r*cos(theta))+v__r(r, theta, beta)*(R__f-2*r*cos(theta))+r*(diff(`v__&beta;`(r, theta, beta), beta)) = 0

 

(-2*(Pi*(B+2*L__1)+4*beta*C)^2*((1/2)*(Pi*(B+2*L__1)+4*beta*C)^3*(r*cos(theta)-R__f)*r*(diff(v__r(r, theta, beta), r))+(Pi*(B+2*L__1)+4*beta*C)^3*(r*cos(theta)-(1/2)*R__f)*v__r(r, theta, beta)+8*C*r*Pi^2*(B+2*L__1)^2)*piecewise(theta <= arctan(H/(B+2*L__1)), (B+2*L__1)/cos(theta), theta <= Pi-arctan(H/(B-2*L__1)), H/sin(theta), Pi-arctan(H/(B-2*L__1)) < theta, (-B+2*L__1)/cos(theta))^2+128*C*r^3*Pi^4*(B+2*L__1)^4)/((Pi*(B+2*L__1)+4*beta*C)^5*piecewise(theta <= arctan(H/(B+2*L__1)), (B+2*L__1)/cos(theta), theta <= Pi-arctan(H/(B-2*L__1)), H/sin(theta), Pi-arctan(H/(B-2*L__1)) < theta, (-B+2*L__1)/cos(theta))^2) = 0

(2)

bc:=v__r(rhs(eq38a),theta,beta)=0;

bc := v__r((Pi*(B+2*L__1)+4*beta*C)*piecewise(theta <= arctan(H/(B+2*L__1)), (B+2*L__1)/cos(theta), theta <= Pi-arctan(H/(B-2*L__1)), H/sin(theta), Pi-arctan(H/(B-2*L__1)) < theta, (-B+2*L__1)/cos(theta))/(2*Pi*(B+2*L__1)), theta, beta) = 0

(3)

sol3:=simplify(dsolve([eq37a,bc], v__r(r, theta,beta)));

Error, (in dsolve) give the main variable as a second argument

 

NULL


 

Download Mechrect.mw

Please Wait...