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.093944319768e+05
At Newton iteration 3 norm is 1.425886127162e+04
At Newton iteration 4 norm is 1.528342335447e+02
At Newton iteration 5 norm is 1.308350447884e-01
At Newton iteration 6 norm is 2.228056523380e-08


===== hyperelastic problem at iteration 1 =====
At Newton iteration 1 norm is 5.063370201521e+04
At Newton iteration 2 norm is 5.945769422920e+03
At Newton iteration 3 norm is 1.808625373603e+01
At Newton iteration 4 norm is 4.014704015982e-03
At Newton iteration 5 norm is 1.291775061801e-08


===== hyperelastic problem at iteration 2 =====
At Newton iteration 1 norm is 4.978636183249e+03
At Newton iteration 2 norm is 3.685464342498e+04
At Newton iteration 3 norm is 2.448434983872e+01
At Newton iteration 4 norm is 8.767964537179e-05
At Newton iteration 5 norm is 1.379572210636e-08


===== hyperelastic problem at iteration 3 =====
At Newton iteration 1 norm is 8.938665529061e+03
At Newton iteration 2 norm is 7.012222278535e+04
At Newton iteration 3 norm is 7.276664416804e+01
At Newton iteration 4 norm is 1.203266399477e-03
At Newton iteration 5 norm is 1.096026345620e-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.855269808672e+02
At Newton iteration 4 norm is 2.702486276031e-02
At Newton iteration 5 norm is 1.327368779465e-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.163062787094e+02
At Newton iteration 4 norm is 1.100727490845e-02
At Newton iteration 5 norm is 1.441352847849e-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.848234915372e+02
At Newton iteration 4 norm is 5.746142064635e-02
At Newton iteration 5 norm is 2.560244023616e-08


===== hyperelastic problem at iteration 7 =====
At Newton iteration 1 norm is 6.712638577581e+03
At Newton iteration 2 norm is 3.205841852489e+04
At Newton iteration 3 norm is 1.441124162480e+01
At Newton iteration 4 norm is 1.111913217786e-04
At Newton iteration 5 norm is 1.293866189083e-08

Generate movie 0/7
Generate movie 1/7 (14.29 %) 808.41 ms
Generate movie 2/7 (28.57 %) 618.01 ms
Generate movie 3/7 (42.86 %) 489.81 ms
Generate movie 4/7 (57.14 %) 368.93 ms
Generate movie 5/7 (71.43 %) 244.84 ms
Generate movie 6/7 (85.71 %) 123.23 ms
Generate movie 7/7 (100.00 %) 0.00 µs

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

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

Gallery generated by Sphinx-Gallery