|
26 | 26 |
|
27 | 27 | mathfn = Linear(0, jnp.array([0.0, 0.5, 1.0]), jnp.array([0.0, 1.0, 1.0])) |
28 | 28 | cnf = [NodalForce(jnp.array([0, 1]), mathfn, 1, 10)] |
29 | | -elements = Quadrilateral4Node((1, 1), (1.0, 1.0), cons, concentrated_nodal_forces=cnf) |
30 | | -elements.nodes.velocity = elements.nodes.velocity.at[:, :, 0].set(1) |
| 29 | +elements = Quadrilateral4Node( |
| 30 | + (1, 1), 1, (1.0, 1.0), cons, concentrated_nodal_forces=cnf |
| 31 | +) |
| 32 | +# elements.nodes.velocity = elements.nodes.velocity.at[:, :, 0].set(1) |
31 | 33 | # elements.nodes.mass += 1 |
32 | 34 | # elements.compute_external_force(particles) |
33 | 35 | # print(elements.nodes.f_ext.squeeze()) |
34 | 36 | # elements.compute_body_force(particles, jnp.array([0, -10]).reshape(1, 2)) |
35 | 37 | # elements.compute_internal_force(particles) |
36 | 38 | mesh = Mesh2D({"elements": elements, "particles": [particles]}) |
37 | | -mpm = MPMExplicit(mesh, 0.01, scheme="usf") |
| 39 | +mpm = MPMExplicit(mesh, 0.01, scheme="usf", velocity_update=True) |
38 | 40 | result = mpm.solve(10, 0) |
39 | 41 | # breakpoint() |
40 | | -print(result["stress"][10, :, :2, 0]) |
| 42 | +print(result["stress"][-1]) |
0 commit comments