Elas2#

Bending bracket component.

  • elemType: TETRA10, Ne: 2088, Nn: 3537
  • Boundary conditions
  • $\sigma_{vm}$
==================== Mesh ====================

elemType: TETRA10
Ne: 2088
Nn: 3537

==================== Model ====================

Isotropic:
E = 2.10e+05, v = 0.3

solver:scipy

============= Boundary Conditions =============

Unspecified.

=================== Results ===================


W def = 4.04

Svm max = 10.53

Evm max = 0.01 %

Ux max = 2.12e-03
Ux min = -2.88e-03

Uy max = 5.15e-05
Uy min = -1.01e-02

Uz max = 2.47e-04
Uz min = -2.41e-04

=================== TicTac ===================

Mesh: 78.456 ms
Boundary Conditions: 18.040 µs
Matrix: 245.261 ms
Solver: 285.503 ms
PostProcessing: 1.726 ms

13 import matplotlib.pyplot as plt
14 import numpy as np
15
16 from EasyFEA import Terminal, Matplotlib, Models, ElemType, Simulations
17 from EasyFEA.Geoms import Point, Points
18
19 if __name__ == "__main__":
20     Terminal.Clear()
21
22     # ----------------------------------------------
23     # Configuration
24     # ----------------------------------------------
25
26     # geom
27     dim = 3
28     L = 120  # mm
29     h = L * 0.3
30
31     # model
32     E = 210000  # MPa (Young's modulus)
33     v = 0.3  # Poisson's ratio
34     coef = 1
35
36     # load
37     load = 800
38
39     # ----------------------------------------------
40     # Mesh
41     # ----------------------------------------------
42
43     # Define points and crack geometry for the mesh
44     pt1 = Point(isOpen=True, r=-10)
45     pt2 = Point(x=L)
46     pt3 = Point(x=L, y=h)
47     pt4 = Point(x=h, y=h, r=10)
48     pt5 = Point(x=h, y=L)
49     pt6 = Point(y=L)
50     pt7 = Point(x=h, y=h)
51
52     contour = Points([pt1, pt2, pt3, pt4, pt5, pt6], h / 3)
53
54     if dim == 2:
55         mesh = contour.Mesh_2D([], ElemType.TRI3)
56     elif dim == 3:
57         mesh = contour.Mesh_Extrude([], [0, 0, -h], [4], elemType=ElemType.TETRA10)
58
59     nodes_x0 = mesh.Nodes_Conditions(lambda x, y, z: x == 0)
60     nodes_xL = mesh.Nodes_Conditions(lambda x, y, z: x == L)
61
62     # ----------------------------------------------
63     # Simulation
64     # ----------------------------------------------
65
66     material = Models.Elastic.Isotropic(dim, E, v, planeStress=True, thickness=h)
67     simu = Simulations.Elastic(mesh, material)
68
69     simu.add_dirichlet(nodes_x0, [0] * dim, simu.Get_unknowns())
70     simu.add_surfLoad(nodes_xL, [-800 / (h * h)], ["y"])
71
72     sol = simu.Solve()
73     simu.Save_Iter()
74
75     # ----------------------------------------------
76     # Results
77     # ----------------------------------------------
78     print(simu)
79
80     Matplotlib.Plot_Mesh(simu, h / 2 / np.abs(sol).max())
81     Matplotlib.Plot_BoundaryConditions(simu)
82     Matplotlib.Plot(simu, "Svm", nodeValues=True, coef=1 / coef, ncolors=20)
83
84     plt.show()

Total running time of the script: (0 minutes 0.930 seconds)

Gallery generated by Sphinx-Gallery