Hyperelas4#

A cantilever beam undergoing bending deformation in dynamic.

Hyperelas4
Hyperelas4
Hyperelas4
===== hyperelastic problem at iteration 0 =====
At Newton iteration 1 norm is 1.356606783020e+07
At Newton iteration 2 norm is 8.948257279341e+05
At Newton iteration 3 norm is 1.407693457908e+04
At Newton iteration 4 norm is 1.478558937274e+02
At Newton iteration 5 norm is 1.269510032835e-01
At Newton iteration 6 norm is 1.979168689955e-08


===== hyperelastic problem at iteration 1 =====
At Newton iteration 1 norm is 4.990598608386e+04
At Newton iteration 2 norm is 5.914349401053e+03
At Newton iteration 3 norm is 1.785050985512e+01
At Newton iteration 4 norm is 3.982566134905e-03
At Newton iteration 5 norm is 1.309176479979e-08


===== hyperelastic problem at iteration 2 =====
At Newton iteration 1 norm is 4.880150591255e+03
At Newton iteration 2 norm is 3.617888922672e+04
At Newton iteration 3 norm is 2.402653919204e+01
At Newton iteration 4 norm is 8.577990689806e-05
At Newton iteration 5 norm is 1.281955262370e-08


===== hyperelastic problem at iteration 3 =====
At Newton iteration 1 norm is 8.757766699363e+03
At Newton iteration 2 norm is 6.853710531265e+04
At Newton iteration 3 norm is 7.071966685157e+01
At Newton iteration 4 norm is 1.164578294936e-03
At Newton iteration 5 norm is 1.077751593398e-08


===== hyperelastic problem at iteration 4 =====
At Newton iteration 1 norm is 1.114866961567e+04
At Newton iteration 2 norm is 1.094117410401e+05
At Newton iteration 3 norm is 1.802443784399e+02
At Newton iteration 4 norm is 2.611953537989e-02
At Newton iteration 5 norm is 1.325490296439e-08


===== hyperelastic problem at iteration 5 =====
At Newton iteration 1 norm is 1.150207613286e+04
At Newton iteration 2 norm is 1.565449382839e+05
At Newton iteration 3 norm is 4.079575010993e+02
At Newton iteration 4 norm is 1.065486415489e-02
At Newton iteration 5 norm is 1.323487867599e-08


===== hyperelastic problem at iteration 6 =====
At Newton iteration 1 norm is 9.850216205020e+03
At Newton iteration 2 norm is 1.056572558409e+05
At Newton iteration 3 norm is 1.831136646683e+02
At Newton iteration 4 norm is 5.726681423849e-02
At Newton iteration 5 norm is 2.584015871309e-08


===== hyperelastic problem at iteration 7 =====
At Newton iteration 1 norm is 6.622311650215e+03
At Newton iteration 2 norm is 3.177721060201e+04
At Newton iteration 3 norm is 1.440548018725e+01
At Newton iteration 4 norm is 1.096748749916e-04
At Newton iteration 5 norm is 1.311524173363e-08

Generate movie 1/8 (12.50 %) 898.68 ms
Generate movie 2/8 (25.00 %) 678.67 ms
Generate movie 3/8 (37.50 %) 543.04 ms
Generate movie 4/8 (50.00 %) 433.42 ms
Generate movie 5/8 (62.50 %) 326.99 ms
Generate movie 6/8 (75.00 %) 224.64 ms
Generate movie 7/8 (87.50 %) 110.51 ms
Generate movie 8/8 (100.00 %) 0.00 µs

13 from EasyFEA import Terminal, Folder, ElemType, Models, Simulations, PyVista
14 from EasyFEA.Geoms import Domain
15
16 if __name__ == "__main__":
17     Terminal.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.059 seconds)

Gallery generated by Sphinx-Gallery