Hyperelas4#

A cantilever beam undergoing bending deformation in dynamic.

Hyperelas4
Hyperelas4
Hyperelas4
===== hyperelastic problem at iteration 0 =====
At Newton iteration 1 norm is 1.321961470281e+07
At Newton iteration 2 norm is 9.093944319766e+05
At Newton iteration 3 norm is 1.425886127161e+04
At Newton iteration 4 norm is 1.528342335463e+02
At Newton iteration 5 norm is 1.308350447556e-01
At Newton iteration 6 norm is 2.259880581059e-08


===== hyperelastic problem at iteration 1 =====
At Newton iteration 1 norm is 5.063370201521e+04
At Newton iteration 2 norm is 5.945769422921e+03
At Newton iteration 3 norm is 1.808625373514e+01
At Newton iteration 4 norm is 4.014704443860e-03
At Newton iteration 5 norm is 1.359438808398e-08


===== hyperelastic problem at iteration 2 =====
At Newton iteration 1 norm is 4.978636183249e+03
At Newton iteration 2 norm is 3.685464342499e+04
At Newton iteration 3 norm is 2.448434983923e+01
At Newton iteration 4 norm is 8.768056520821e-05
At Newton iteration 5 norm is 1.326470203510e-08


===== hyperelastic problem at iteration 3 =====
At Newton iteration 1 norm is 8.938665529061e+03
At Newton iteration 2 norm is 7.012222278536e+04
At Newton iteration 3 norm is 7.276664416807e+01
At Newton iteration 4 norm is 1.203265615253e-03
At Newton iteration 5 norm is 1.078216266352e-08


===== hyperelastic problem at iteration 4 =====
At Newton iteration 1 norm is 1.137171002519e+04
At Newton iteration 2 norm is 1.119397616765e+05
At Newton iteration 3 norm is 1.855269808678e+02
At Newton iteration 4 norm is 2.702486232182e-02
At Newton iteration 5 norm is 1.317870669478e-08


===== hyperelastic problem at iteration 5 =====
At Newton iteration 1 norm is 1.171954197748e+04
At Newton iteration 2 norm is 1.595152303518e+05
At Newton iteration 3 norm is 4.163062787084e+02
At Newton iteration 4 norm is 1.100727546083e-02
At Newton iteration 5 norm is 1.513194410460e-08


===== hyperelastic problem at iteration 6 =====
At Newton iteration 1 norm is 1.002040542127e+04
At Newton iteration 2 norm is 1.071125200654e+05
At Newton iteration 3 norm is 1.848234915366e+02
At Newton iteration 4 norm is 5.746142191985e-02
At Newton iteration 5 norm is 2.647882479002e-08


===== hyperelastic problem at iteration 7 =====
At Newton iteration 1 norm is 6.712638577581e+03
At Newton iteration 2 norm is 3.205841852490e+04
At Newton iteration 3 norm is 1.441124162534e+01
At Newton iteration 4 norm is 1.111906050022e-04
At Newton iteration 5 norm is 1.421910222258e-08

Generate movie 1/8 (12.50 %) 905.50 ms
Generate movie 2/8 (25.00 %) 663.33 ms
Generate movie 3/8 (37.50 %) 543.49 ms
Generate movie 4/8 (50.00 %) 438.44 ms
Generate movie 5/8 (62.50 %) 328.58 ms
Generate movie 6/8 (75.00 %) 220.80 ms
Generate movie 7/8 (87.50 %) 109.66 ms
Generate movie 8/8 (100.00 %) 0.00 µs

13 from EasyFEA import Display, Folder, ElemType, Models, Simulations, PyVista
14 from EasyFEA.Geoms import Domain
15
16 if __name__ == "__main__":
17     Display.Clear()
18
19     # ----------------------------------------------
20     # Configuration
21     # ----------------------------------------------
22
23     # outputs
24     folder = Folder.Results_Dir()
25     makeMovie = True
26     result = "uy"
27
28     # geom
29     L = 120
30     h = 13
31
32     # model
33     lmbda = 121153.84615384616  # Mpa
34     mu = 80769.23076923077
35
36     # ----------------------------------------------
37     # Mesh
38     # ----------------------------------------------
39     meshSize = h / 3
40
41     contour = Domain((0, 0), (L, h), meshSize)
42
43     mesh = contour.Mesh_Extrude(
44         [], [0, 0, h], [h / meshSize], ElemType.HEXA8, isOrganised=True
45     )
46     nodesX0 = mesh.Nodes_Conditions(lambda x, y, z: x == 0)
47     nodesXL = mesh.Nodes_Conditions(lambda x, y, z: x == L)
48
49     # ----------------------------------------------
50     # Simulation
51     # ----------------------------------------------
52
53     mat = Models.HyperElastic.SaintVenantKirchhoff(3, lmbda, mu)
54
55     simu = Simulations.HyperElastic(mesh, mat)
56
57     simu.add_dirichlet(nodesX0, [0, 0, 0], simu.Get_unknowns())
58     simu.add_dirichlet(nodesXL, [-h], ["y"])
59
60     # static
61     simu.Solve()
62     simu.Save_Iter()
63
64     # dynamic
65     T = 7
66     dt = T / 7
67     simu.Bc_Init()
68     simu.Solver_Set_Hyperbolic_Algorithm(dt)
69     simu.add_dirichlet(nodesX0, [0, 0, 0], simu.Get_unknowns())
70
71     for _ in range(int(T / dt)):
72         simu.Solve()
73         simu.Save_Iter()
74
75     # ----------------------------------------------
76     # Results
77     # ----------------------------------------------
78
79     PyVista.Plot_BoundaryConditions(simu).show()
80
81     if makeMovie:
82         PyVista.Movie_simu(
83             simu, "uy", folder, "Hyperelas4.gif", deformFactor=1, plotMesh=True
84         )
85
86     PyVista.Plot(simu, "uy", 1, plotMesh=True).show()

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

Gallery generated by Sphinx-Gallery