Hyperelas3#

A L shape part undergoing bending deformation.

Hyperelas3
Hyperelas3
Hyperelas3
Hyperelas3
===== hyperelastic problem at iteration 0 =====
At Newton iteration 1 norm is 6.497862896539e+06
At Newton iteration 2 norm is 2.358952920613e+08
At Newton iteration 3 norm is 2.055017619685e+07
At Newton iteration 4 norm is 1.847687094047e+06
At Newton iteration 5 norm is 7.842704053198e+05
At Newton iteration 6 norm is 4.044220405218e+03
At Newton iteration 7 norm is 2.745963136312e+00
At Newton iteration 8 norm is 1.302516174894e-06


==================== Mesh ====================

Element type: PRISM6
Ne = 2370, Nn = 1744

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

<EasyFEA.models._hyperelastic_laws.SaintVenantKirchhoff object at 0x742185459750>

solver : pypardiso

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

Unspecified.

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

Unspecified.

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

Mesh : 215.926 ms
Boundary Conditions : 441.074 µs
Matrix : 1.272 s
Solver : 2.842 s
Display : 358.572 ms
PostProcessing : 188.828 µs
Resolution hyperelastic : 4.032 s
PyVista_Interface : 2.219 s

12 from EasyFEA import Display, Models, ElemType, Simulations, PyVista
13 from EasyFEA.Geoms import Point, Points
14
15 if __name__ == "__main__":
16     Display.Clear()
17
18     # ----------------------------------------------
19     # Configuration
20     # ----------------------------------------------
21     dim = 3
22
23     # geom
24     L = 250
25     thickness = 50
26     w = 50
27
28     # load
29     sigMax = 8 * 1e6 / (w * thickness)
30
31     # ----------------------------------------------
32     # Mesh
33     # ----------------------------------------------
34     meshSize = L / 10
35
36     p1 = Point(0, 0)
37     p2 = Point(L, 0)
38     p3 = Point(L, L, r=50)
39     p4 = Point(2 * L - w, L)
40     p5 = Point(2 * L, L)
41     p6 = Point(2 * L, 2 * L)
42     p7 = Point(2 * L - w, 2 * L)
43     p8 = Point(0, 2 * L)
44
45     contour = Points([p1, p2, p3, p4, p5, p6, p7, p8], meshSize)
46
47     if dim == 2:
48         mesh = contour.Mesh_2D([], ElemType.TRI3)
49     else:
50         mesh = contour.Mesh_Extrude([], [0, 0, -thickness], [3], ElemType.PRISM6)
51
52     nodes_y0 = mesh.Nodes_Conditions(lambda x, y, z: y == 0)
53     nodes_Load = mesh.Nodes_Conditions(lambda x, y, z: x == 2 * L)
54
55     # ----------------------------------------------
56     # Simulation
57     # ----------------------------------------------
58     elas = Models.ElasIsot(dim, E=210000, v=0.25, planeStress=True)
59     material = Models.SaintVenantKirchhoff(
60         dim, elas.get_lambda(), elas.get_mu(), thickness=thickness
61     )
62
63     simu = Simulations.HyperElasticSimu(mesh, material)
64
65     simu.add_dirichlet(nodes_y0, [0] * dim, simu.Get_unknowns())
66     simu.add_surfLoad(nodes_Load, [sigMax], ["y"])
67
68     simu.Solve()
69
70     # ----------------------------------------------
71     # Results
72     # ----------------------------------------------
73
74     PyVista.Plot_Mesh(simu).show()
75     PyVista.Plot_BoundaryConditions(simu).show()
76     PyVista.Plot(simu, "ux", deformFactor=1).show()
77     PyVista.Plot(simu, "uy", deformFactor=1).show()
78
79     print(simu)

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

Gallery generated by Sphinx-Gallery