Shell defs 2023

Generic defs

Clear[EEEE];

(*elastic material*)
EEEE[EE_,νν_]:=Module[{e,ee,EM,GM},
e={{1,0,0},{0,1,0},{0,0,1}}; 
ee=Table[Outer[Times,e1,e2],{e1,e},{e2,e}];
EM=EE/(1-νν^2)*{{1,νν,0},{νν,1,0},{0,0,0}};
GM={{1,0,0},{0,1,0},{0,0,1}}*EE/(2+2*νν);
Simplify[Sum[EM[[i,j]]*Outer[Times,ee[[i,i]],ee[[j,j]]],{i,1,3},{j,1,3}]+
GM[[1,1]]*Outer[Times,ee[[1,2]]+ee[[2,1]],ee[[1,2]]+ee[[2,1]]] +GM[[2,2]]*Outer[Times,ee[[2,3]]+ee[[3,2]],ee[[2,3]]+ee[[3,2]]] +
GM[[3,3]]*Outer[Times,ee[[3,1]]+ee[[1,3]],ee[[3,1]]+ee[[1,3]]]]];

(*prettyprint*)
COMBO[a_,b_]:=ToExpression[ToString[a]<>ToString[b]];

displayrule :={F[a_,n,0] :>(Subscript[Q, a]),F[n,a_,0] :>(Subscript[Q, a]),F[a_,b_,0] :>(Subscript[N, COMBO[a,b]]),M[a_,b_,0] :>(Subscript[M, COMBO[a,b]]),F[a_,n,c_] :>(Subscript[Q, a,c]),F[n,a_,c_] :>(Subscript[Q, a,c]),
F[a_,b_,c_] :>(Subscript[N, COMBO[a,b],c]),M[a_,b_,c_] :>(Subscript[M, COMBO[a,b],c]),b[a_]->(Subscript[b, a]), c[a_]->(Subscript[c, a]), u[a_,0] ->(Subscript[u, a]),  u[a_,b_] ->(Subscript[u, a,b]),  ω[a_,0] ->(Subscript[ω, a]),  ω[a_,b_] ->(Subscript[ω, a,b]),
θ[a_,0] ->(Subscript[θ, a]),  θ[a_,b_] ->(Subscript[θ, a,b])};

Geometrical quantities defs

BASIS:=CompoundExpression[
{α,β}=var=Drop[vars,-1];
eα =(∂_α)r0; 
hα =Simplify[Sqrt[eα.eα ],cnd];
eα =Simplify[eα/hα]; 
eβ =(∂_β)r0;
hβ=Simplify[Sqrt[eβ.eβ ],cnd];
eβ=Simplify[eβ/hβ];  
en =Simplify[eα\[Cross]eβ];
hn=Simplify[Sqrt[en.en ],cnd];
en=Simplify[en/hn];
FF={eα,eβ,en};
FFINV=Simplify[Inverse[FF]]];  

SHELLKINEMATICS:=CompoundExpression[
(* variables *)
{α,β}=var=Drop[vars,-1];
Print["vars =",vars ];
basis={(Subscript[e, α]),(Subscript[e, β]),(Subscript[e, n])};
Print["e =",MatrixForm[basis]];

(* Shell basis *)
BASIS;  

(*midsurface position vector*)
rr0 = Simplify[Transpose[FFINV].r0];
Print["(Subscript[r, 0]) =",rr0.basis /.asm ];

(*basis derivatives*)
Clear[DDD,ddd]; 
comp=Table[DDD[i,j,k],{i,{α,β,n}},{j,{α,β,n}},{k,{α,β,n}}];
Evaluate[comp]=ddd=Map[Simplify[((∂_(#))FF).FFINV]&,{α,β,n}];
Print[ 
"(∂_α)e =",MatrixForm[ddd[[1]].basis /.asm],"   ",
"(∂_β)e =",MatrixForm[ddd[[2]].basis/.asm],"   ",
 "(∂_n)e =",MatrixForm[ddd[[3]].basis/.asm]];

(*gradient*)
Clear[DD,dd];
rrr=r0+n*en;   
HH = Simplify[Transpose[D[rrr,{{α,β,n}}]],cnd]; 

(*Print["HH =",MatrixForm[HH]];*)
(*Print["HHinv =",MatrixForm[Simplify[Inverse[HH]]]];*)
comp=Table[DD[i,j],{i,{α,β,n}},{j,{α,β,n}}];
ddn=Simplify[Inverse[HH.Transpose[FF]],cnd];
Evaluate[comp]=dd=(ddn/.n->0);
Print["∇ =",MatrixForm[dd/.asm],"    ","∇ =",(basis.dd/.asm).{(Subscript["∂", α]),(Subscript["∂", β]),(Subscript["∂", n])}];

(*curvature*)
Clear[κκ,kk];
comp=Table[κκ[i,j],{i,{α,β,n}},{j,{α,β,n}}];
Evaluate[comp]=kk=Simplify[Transpose[dd.Map[Last[#]&,ddd]],cnd];
Print["κ =",MatrixForm[kk[[1;;2,1;;2]]/.asm],"      ",
"κ =",Flatten[kk/.asm].Flatten[Outer[CircleTimes,basis,basis]]];
(*Print["K =",MatrixForm[Simplify[Det[kk[[1;;2,1;;2]] ]]]];*)

(*gradient scaling*)
Clear[GG,gg];
comp=Table[GG[i,j],{i,{α,β,n}},{j,{α,β,n}}];
Evaluate[comp]=gg=Simplify[ddn.Inverse[dd],cnd];
Print["D =",MatrixForm[gg /.asm]];

(*volume and area elements*)
J=Simplify[HH[[1]].(HH[[2]]\[Cross]HH[[3]]),cnd];
Jα=Simplify[Sqrt[(HH[[2]]\[Cross]HH[[3]]).(HH[[2]]\[Cross]HH[[3]]) ],cnd];
Jβ=Simplify[Sqrt[(HH[[3]]\[Cross]HH[[1]]).(HH[[3]]\[Cross]HH[[1]]) ],cnd];
Jn=Simplify[Sqrt[(HH[[1]]\[Cross]HH[[2]]).(HH[[1]]\[Cross]HH[[2]]) ],cnd];
 J=Simplify[J/(J /. n->0),cnd];
Jα=Simplify[Jα/(Jα /. n->0),cnd];
Jβ=Simplify[Jβ/(Jβ /. n->0),cnd];
Jn=Simplify[Jn/(Jn /. n->0),cnd];
Print["J  =",J /.asm,"    ","(Subscript[J, α]) =",Jα /.asm,"    ","(Subscript[J, β]) =", Jβ /.asm,"    ","(Subscript[J, n]) =", Jn /.asm];

(*Christoffel symbols*)
Clear[Γ,ΓΓ];
comp=Table[Γ[i,j,k],{i,{α,β,n}},{j,{α,β,n}},{k,{α,β,n}}];
Evaluate[comp]=ΓΓ=Simplify[dd.ddd,cnd];
Do[ If[(aa=Γ[ii,jj,kk])===0,"",Print[(Subscript["Γ", {ii,jj,kk}]) ," = ",aa /.asm]],   {ii,{α,β,n}},{jj,{α,β,n}},{kk,{α,β,n}}]];

Equilibrium equations defs

Clear[SHELLEQUILIBRIUM];

SHELLEQUILIBRIUM:=CompoundExpression[
Clear[F,M];
FQ[i_]:=Sum[DD[j,l]*F[j,i,l],{l,var},{j,vars}]+
Sum[Γ[k,j,k]*F[j,i,0],{j,var},{k,vars}]+
Sum[Γ[j,k,i]*F[j,k,0],{j,vars},{k,vars}]+b[i] ;

MQ[i_]:=Sum[DD[j,l]*M[j,i,l],{l,var},{j,vars}]+
Sum[Γ[k,j,k]*M[j,i,0],{j,var},{k,vars}]+
Sum[Γ[j,k,i]*M[j,k,0],{j,vars},{k,vars}]-F[n,i,0]+c[i]; 

Print[TraditionalForm[Simplify[FQ[α]/.asm  /. displayrule]]," = 0"];
Print[TraditionalForm[Simplify[FQ[β]/.asm  /. displayrule]]," = 0"];
Print[TraditionalForm[Simplify[FQ[n]/.asm  /. displayrule]]," = 0"];
Print[TraditionalForm[Simplify[MQ[α]/.asm  /. displayrule]]," = 0"];
Print[TraditionalForm[Simplify[MQ[β]/.asm  /. displayrule]]," = 0"]];

Constitutive equations defs

CONSTITUTIVE:=CompoundExpression[
(*strain measures*)
Clear[u,ω,κκ,ϵϵ];
{een[α],een[β],een[n]}={0,0,1};  ω[n,_]=0;
comp1=Table[ϵϵ[i,j],{i,vars},{j,vars}];
Evaluate[comp1]=aa=Table[
Sum[DD[i,k]*u[j,k],{k,var}]+Sum[u[k,0]*Γ[i,k,j],{k,vars}]+een[i]*ω[j,0],{i,vars},{j,vars}]/.asm;

comp2=Table[κκ[i,j],{i,vars},{j,vars}];
Evaluate[comp2]=bb=Table[
Sum[DD[i,k]*ω[j,k],{k,var}]+
Sum[ω[k,0]*Γ[i,k,j]  ,{k,vars}],{i,vars},{j,vars}] /.asm;

int=FullSimplify[(Transpose[gg].EEEE[EE,ν].gg)*J /.asm]; 

AA=Integrate[int,{n,-t/2,t/2},GenerateConditions->False];
BB=Integrate[n^2*int,{n,-t/2,t/2}, GenerateConditions->False];
CC=Integrate[n*int,{n,-t/2,t/2},GenerateConditions->False];

Clear[FD,MD]; 
comp3=Table[FD[i,j],{i,vars},{j,vars}];
Evaluate[comp3]=fd=
Sum[AA[[;;,;;,i,j]]*aa[[j,i]]+CC[[;;,;;,i,j]]*bb[[j,i]],{i,1,3},{j,1,3}];

comp4=Table[MD[i,j],{i,{α,β,n}},{j,{α,β,n}}];
Evaluate[comp4]=md=
Sum[CC[[;;,;;,i,j]]*aa[[j,i]]+BB[[;;,;;,i,j]]*bb[[j,i]],{i,1,3},{j,1,3}]];

SHELLCONSTITUTIVE[nt_]:=Module[{κκ,ϵϵ,aa,bb},
CONSTITUTIVE;

 ω[vars[[1]],b_]:= θ[vars[[2]],b];
 ω[vars[[2]],b_]:= -θ[vars[[1]],b];

Do[
Print[TraditionalForm[F[vars[[i]],vars[[j]],0]/.asm/.displayrule],"=",TraditionalForm[FullSimplify[t*Normal[Series[FD[vars[[i]],vars[[j]]]/t,{t,0,nt}]]  /.asm/. displayrule]]],{i,1,3},{j,1,3}];
Do[
Print[TraditionalForm[M[vars[[i]],vars[[j]],0]/.asm/.displayrule],"=",TraditionalForm[FullSimplify[t^3*Normal[Series[MD[vars[[i]],vars[[j]]]/t^3,{t,0,nt}]] /.asm /. displayrule]]],{i,1,3},{j,1,3}];
(*
δδ[exp_]:=exp/. {u[a_,b_]->δu[a,b],θ[a_,b_]->δθ[a,b]};

Print[MatrixForm[ϵc=comp1]];

Print[MatrixForm[κc=comp2]];

Print[MatrixForm[δϵc=δδ[comp1]]];

Print[MatrixForm[δκc=δδ[comp2]]];

Print[MatrixForm[
FullSimplify[Fc=t*Normal[Series[comp3/t,{t,0,nt}]]  /.asm]]];

Print[MatrixForm[
FullSimplify[Mc=t^3*Normal[Series[comp4/t^3,{t,0,nt}]]  /.asm]]];

Print[-FullSimplify[Flatten[δϵc].Flatten[Fc]+Flatten[δκc].Flatten[Mc]]]*)
];

Cylindrical membrane defs

equilibrium[membrane]:={
(∂_ϕ)Nzϕ[z,ϕ]/R+(∂_z)Nzz[z,ϕ]+bz,
(∂_z)Nzϕ[z,ϕ]+(∂_ϕ)Nϕϕ[z,ϕ]/R+bϕ,
Nϕϕ[z,ϕ]/R+bn};

constitutive[membrane]:={
Nϕϕ[ϕ]-EE*t/(1-ν^2)*(uϕ'[ϕ]-un[ϕ])/R,
Qϕ[ϕ]-GG*t*(un'[ϕ]+uϕ[ϕ])/R*α,
Mϕϕ[ϕ]-DD*(-θz'[ϕ]/R+(uϕ'[ϕ]-un[ϕ])/R^2)
};

clamped[membrane][ϕ_]:={un[ϕ],uϕ[ϕ],θz[ϕ]};

free[membrane][z_,ϕ_]:={Nzz[z,ϕ]};

resultants[membrane]:={Nzz[z,ϕ],Nϕϕ[z,ϕ],Nzϕ[z,ϕ]};

Cylindrical shell ϕ-strip defs

equilibrium[ϕn]:={
Nϕϕ'[ϕ]/R-Qϕ[ϕ]/R+bϕ,
Qϕ'[ϕ]/R+Nϕϕ[ϕ]/R+bn,
Mϕϕ'[ϕ]/R-Mϕn[ϕ]/R-Qϕ[ϕ]+cϕ};

DD:=t^3/12*EE/(1-ν^2);
constitutive[ϕn]:={
Nϕϕ[ϕ]-(EE*t/(1-ν^2)*(uϕ'[ϕ]-un[ϕ])/R-DD *θz'[ϕ]/R^2),
Qϕ[ϕ]-(GG*t*((un'[ϕ]+uϕ[ϕ])/R-θz[ϕ])),
Mϕϕ[ϕ]-(DD*(-θz'[ϕ]/R+(uϕ'[ϕ]-un[ϕ])/R^2)),
Mϕn[ϕ]-((1-ν)/2*DD*(((un'[ϕ]+uϕ[ϕ])/R-θz[ϕ])/R))
};

clamped[ϕn][ϕ_]:={un[ϕ],uϕ[ϕ],θz[ϕ]};
free[ϕn][ϕ_]:={Nϕϕ[ϕ],Qϕ[ϕ],Mϕϕ[ϕ]};

functions[ϕn]:={un[ϕ],uϕ[ϕ],θz[ϕ],Nϕϕ[ϕ],Qϕ[ϕ],Mϕϕ[ϕ],Mϕn[ϕ]};

Cylindrical shell (zϕn) defs

Clear[uz,uϕ,un,θz,θϕ,θn];

equilibrium[zϕn]:={
(∂_ϕ)Fϕz[z,ϕ]/R+(∂_z)Fzz[z,ϕ]+bz,
(∂_z)Fzϕ[z,ϕ]+(∂_ϕ)Fϕϕ[z,ϕ]/R-Fnϕ[z,ϕ]/R+bϕ,
(∂_ϕ)Fnϕ[z,ϕ]/R+(∂_z)Fnz[z,ϕ]+Fϕϕ[z,ϕ]/R+bn,
(∂_z)Mzz[z,ϕ]+(∂_ϕ)Mϕz[z,ϕ]/R-Qz[z,ϕ]+cz,
(∂_z)Mzϕ[z,ϕ]+(∂_ϕ)Mϕϕ[z,ϕ]/R-Mϕn[z,ϕ]/R-Qϕ[z,ϕ]+cϕ
};


constitutive[zϕn]:={
Fzz[z,ϕ]->EE*t/(1-ν^2)*((∂_z)uz[z,ϕ]+ν ((∂_ϕ)uϕ[z,ϕ]-un[z,ϕ])/R-a^2/12 R (∂_z)θϕ[z,ϕ]),
Fϕϕ[z,ϕ]->EE*t/(1-ν^2)*((∂_ϕ)uϕ[z,ϕ]/R-  un[z,ϕ]/R+(1-g)(∂_ϕ)θz[z,ϕ]+ν (∂_z)uz[z,ϕ]),
Fzϕ[z,ϕ]->G t *
((∂_ϕ)uz[z,ϕ]/R+(∂_z)uϕ[z,ϕ]+a^2/12 R(∂_z)θz[z,ϕ]),
Fϕz[z,ϕ]->G t *
(g ((∂_ϕ)uz[z,ϕ]/R+(∂_ϕ)θϕ[z,ϕ])+(∂_z)uϕ[z,ϕ]-(∂_ϕ)θϕ[z,ϕ]),
Fzn[z,ϕ]->G t *
(θϕ[z,ϕ]+(∂_z)un[z,ϕ]),
Fnz[z,ϕ]->G t *
(θϕ[z,ϕ]+(∂_z)un[z,ϕ]),
Fϕn[z,ϕ]->G t *
g(((∂_ϕ)un[z,ϕ]+uϕ[z,ϕ])/R-θz[z,ϕ]),
Fnϕ[z,ϕ]->G t *
(((∂_ϕ)un[z,ϕ]+uϕ[z,ϕ])/R-θz[z,ϕ]),
Fnn[z,ϕ]->0,
Mzz[z,ϕ]->t^3/12*EE/(1-ν^2)*
((∂_z)θϕ[z,ϕ]-ν (∂_ϕ)θz[z,ϕ]/R-(∂_z)uz[z,ϕ]/R),
Mϕϕ[z,ϕ]->t^3/12*EE/(1-ν^2)*(f/R(-(∂_ϕ)θz[z,ϕ]+(∂_ϕ)uϕ[z,ϕ]/R-un[z,ϕ]/R)+ν(∂_z)θϕ[z,ϕ]),
Mzϕ[z,ϕ]->t^3/24*EE/(1+ν)*
(((∂_ϕ)θϕ[z,ϕ]-(∂_z)uϕ[z,ϕ])/R- (∂_z)θz[z,ϕ]),
Mϕz[z,ϕ]->t^3/24*EE/(1+ν)*
(f((∂_ϕ)θϕ[z,ϕ]+(∂_ϕ)uz[z,ϕ]/R)/R- (∂_z)θz[z,ϕ]),
Mzn[z,ϕ]->-t^3/24*EE/(1+ν)*
((∂_z)un[z,ϕ]+ θϕ[z,ϕ])/R,
Mnz[z,ϕ]->t^3/24*EE/(1+ν)*
((∂_z)un[z,ϕ]+ θϕ[z,ϕ])/R,
Mϕn[z,ϕ]->t^3/24*EE/(1+ν)*
f(((∂_ϕ)un[z,ϕ]+uϕ[z,ϕ])/R- θz[z,ϕ])/R,
Mnϕ[z,ϕ]->0,
Mnn[z,ϕ]->0
};

resultants[zϕn]:={
Fzz[z,ϕ],Fϕϕ[z,ϕ],Fzϕ[z,ϕ],Fϕz[z,ϕ],Fzn[z,ϕ],
Fnz[z,ϕ],Fϕn[z,ϕ],Fnϕ[z,ϕ],Fnn[z,ϕ],
Mzz[z,ϕ],Mϕϕ[z,ϕ],Mzϕ[z,ϕ],Mϕz[z,ϕ],Mzn[z,ϕ],
Mnz[z,ϕ],Mϕn[z,ϕ],Mnϕ[z,ϕ],Mnn[z,ϕ]};

functions[zϕn]:={
uz[z,ϕ],uϕ[z,ϕ],un[z,ϕ],
θz[z,ϕ],θϕ[z,ϕ],θn[z,ϕ]};

g=1+a^2/12;
f=12/a^2(g-1);
G =EE/(2+2 ν);
a=t/R;

constitutive[zϕn]

(*moments balance test with a generic g*)

Simplify[(Fnz[z,ϕ]-Fzn[z,ϕ]) /.constitutive[zϕn]]

Simplify[(Fzϕ[z,ϕ]-Fϕz[z,ϕ]+Mϕz[z,ϕ]/R) /.constitutive[zϕn]]

Simplify[(Fnϕ[z,ϕ]-Fϕn[z,ϕ]+Mϕn[z,ϕ]/R) /.constitutive[zϕn]]

(*rigid body motion test*)

U={{0,0,1},{-Sin[ϕ],Cos[ϕ],0},{-Cos[ϕ],-Sin[ϕ],0}}.{Ux,Uy,Uz};
Ω={{0,0,1},{-Sin[ϕ],Cos[ϕ],0},{-Cos[ϕ],-Sin[ϕ],0}}.{Ωx,Ωy,Ωz};
r0={z,0,-R};

{uz[z,ϕ],uϕ[z,ϕ],un[z,ϕ]}=U+Ω\[Cross]r0;
{θz[z,ϕ],θϕ[z,ϕ],θn[z,ϕ]}=Ω;

Simplify[resultants[zϕn] /.constitutive[zϕn]]

Generic examples

Plate (x,y,n)

Clear[x,y,n];
r0={x,y,0};   
vars={x,y,n};
cnd=R>0;
asm ={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[1];

Plate (r,ϕ,n)

Clear[r,ϕ,n];
r0={r*Cos[ϕ],r*Sin[ϕ],0};   
vars={r,ϕ,n};
cnd=r>0;
asm ={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[1];

Shallow shell (x,y,n)

Clear[x,y,n];
r0={x,y,f[x,y]};   
vars={x,y,n};
cnd={};
asm={Derivative[1,0][f][x,y]->0,Derivative[0,1][f][x,y]->0,Derivative[2,0][f][x,y]->-κxx,Derivative[0,2][f][x,y]->-κyy,Derivative[1,1][f][x,y]->-κxy};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;

Cylindrical shell (z,ϕ,n)

Clear[z,ϕ,n];
r0={R*Cos[ϕ],R*Sin[ϕ],z};   
vars={z,ϕ,n};
cnd=R>0&&R-n>0;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[2];

Cylindrical shell (s,z,n)

Clear[s,z,n];
r0={R*Cos[s/R],R*Sin[s/R],z};   
vars={z,s,n};
cnd=R>0&&R-n>0;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[1];

Spherical shell

(*sphere*)
Clear[ϕ,θ,R,n];
r0=R*{Sin[θ]*Cos[ϕ],Sin[θ]*Sin[ϕ],Cos[θ]}; 
vars={ϕ,θ,n};
cnd:=0≤θ<Pi&&R>0&&R-n>0;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[2];

Toroidal shell

(*torus*)
Clear[ϕ,θ,n];
r0=(R+r*Cos[θ])*{Cos[ϕ],Sin[ϕ],0}+r*Sin[θ]*{0,0,1};  
vars={ϕ,θ,n};
cnd =r>0&&R>0&&(R+r Cos[θ])>0;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[1];

Spherical shell (modified order)

(*sphere*)
Clear[ϕ,θ,R,n];
r0=R*{Sin[θ]*Cos[ϕ],Sin[θ]*Sin[ϕ],Cos[θ]}; 
vars={θ,ϕ,n};
cnd:=0≤θ<Pi&&R>0&&R-n>0;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;
Print["CONSTITUTIVE:"];
SHELLCONSTITUTIVE[1];

Conical shell

(*conical surface*)
r0=z*{Tan[a]*Cos[ϕ],Tan[a]*Sin[ϕ],1}; 
vars={z,ϕ,n};
cnd:=z>0&&0<a<Pi/2;
asm={};

Print["KINEMATICS:"];
SHELLKINEMATICS;
Print["EQUILIBRIUM:"];
SHELLEQUILIBRIUM;

Lecture examples

Lecture example 6.2

EM=EE/(1-νν^2)*{{1,νν,0},{νν,1,0},{0,0,(1-νν)/2}};
MM={{0,Cot[θ],-1},{0,0,-1},{-Cot[θ],0,0}};
FF={1,1,0}*Δp R/2;

FullSimplify[R/t*Inverse[EM.MM].FF]

Calculation example 4

sol=DSolve[(∂_θ)Nθθ[θ]-(((R+2r Cos[θ] )/(R+r Cos[θ])))Tan[θ]Nθθ[θ]+r Δp Tan[θ]==0,Nθθ,θ][[1]];

Simplify[Nθθ[θ] /.sol/.(C[1])->0]

Simplify[(r Δp-(Nθθ[θ] /.sol/.(C[1])->0))/(((r Cos[θ] )/(R+r Cos[θ])))]