Elas2#

Bending bracket component.

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

Element type: TETRA10
Ne = 2088, Nn = 3537

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

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

solver : pypardiso

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

Unspecified.

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


W def = 4.04

Svm max = 10.32

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 : 322.339 ms
Boundary Conditions : 719.786 µs
Matrix : 2.200 s
Solver : 5.382 s
Display : 404.923 ms
PostProcessing : 234.529 ms
Resolution hyperelastic : 6.641 s
PyVista_Interface : 18.472 s

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

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

Gallery generated by Sphinx-Gallery