# Mecánica estructural en 3D

Calcule la deformación de un cigüeñal fijado debido a una carga ejercida por los pistones.

Especifique un Graphics3D.

 In[2]:= XNeeds["NDSolve`FEM`"] mesh = ToElementMesh[DiscretizeGraphics[gr], "MeshOrder" -> 1]
 Out[2]=

Especifique la formulación de estrés en 3D.

 In[3]:= XstressOperator[ Y_, \[Nu]_] := {Inactive[ Div][({{0, 0, -((Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu])))}, {0, 0, 0}, {-(Y/(2 (1 + \[Nu]))), 0, 0}}.Inactive[Grad][ w[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{0, -((Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu]))), 0}, {-(Y/(2 (1 + \[Nu]))), 0, 0}, {0, 0, 0}}.Inactive[Grad][ v[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{-((Y (1 - \[Nu]))/((1 - 2 \[Nu]) (1 + \[Nu]))), 0, 0}, {0, -(Y/(2 (1 + \[Nu]))), 0}, {0, 0, -(Y/(2 (1 + \[Nu])))}}.Inactive[Grad][ u[x, y, z], {x, y, z}]), {x, y, z}], Inactive[Div][({{0, 0, 0}, {0, 0, -((Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu])))}, {0, -(Y/( 2 (1 + \[Nu]))), 0}}.Inactive[Grad][ w[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{0, -(Y/(2 (1 + \[Nu]))), 0}, {-((Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu]))), 0, 0}, {0, 0, 0}}.Inactive[Grad][u[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{-(Y/(2 (1 + \[Nu]))), 0, 0}, {0, -((Y (1 - \[Nu]))/((1 - 2 \[Nu]) (1 + \[Nu]))), 0}, {0, 0, -(Y/(2 (1 + \[Nu])))}}.Inactive[Grad][ v[x, y, z], {x, y, z}]), {x, y, z}], Inactive[Div][({{0, 0, 0}, {0, 0, -(Y/(2 (1 + \[Nu])))}, {0, -(( Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu]))), 0}}.Inactive[Grad][ v[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{0, 0, -(Y/(2 (1 + \[Nu])))}, {0, 0, 0}, {-((Y \[Nu])/((1 - 2 \[Nu]) (1 + \[Nu]))), 0, 0}}.Inactive[Grad][u[x, y, z], {x, y, z}]), {x, y, z}] + Inactive[ Div][({{-(Y/(2 (1 + \[Nu]))), 0, 0}, {0, -(Y/(2 (1 + \[Nu]))), 0}, {0, 0, -(( Y (1 - \[Nu]))/((1 - 2 \[Nu]) (1 + \[Nu])))}}.Inactive[Grad][ w[x, y, z], {x, y, z}]), {x, y, z}]}

Especifique restricciones tales que el límite del cigüeñal se mantenga fijo en estas posiciones.

 In[4]:= XSubscript[\[CapitalGamma], D] = {DirichletCondition[{u[x, y, z] == 0., v[x, y, z] == 0., w[x, y, z] == 0.}, {y <= 0.1, y >= 890}]};

Especifique una carga límite empujando hacia los ejes negativos .

 In[5]:= XSubscript[\[CapitalGamma], L] = NeumannValue[-10000., ((217 <= y <= 256) && (40 <= z <= 103)) || ((584 <= y <= 622) && (40 <= z <= 103))];