Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Mechanics submodule #215

Closed
adtzlr opened this issue Apr 30, 2022 · 0 comments · Fixed by #216
Closed

Add Mechanics submodule #215

adtzlr opened this issue Apr 30, 2022 · 0 comments · Fixed by #216
Labels
enhancement New feature or request
Milestone

Comments

@adtzlr
Copy link
Owner

adtzlr commented Apr 30, 2022

Mechanics submodule

A submodule for (solid) mechanics.

Solid Body

A umat as a user material class with two methods, one for the evaluation of the gradient and one for the hessian of the total potential energy. A solid body is built on top of it and provides convenient methods for weak-form assemblies based on linear and bilinear forms in combination with fields. In a similar way, hydrostatic pressure boundaries are supported too.

# Solid Body
S = fem.mechanics.SolidBody(umat, field)

# Assemble methods for internal force vector and stiffness matrix
r = S.vector(field) # force attribute as last assembled vector
K = S.matrix(field) # stiffness attribute as last assembled vector

# Field gradients/values and stress from latest (force) assembly or given field
F = S.extract(field) # kinematics as last evaluated extraction
P = S.gradient(field) # stress as last evaluated gradient
A = S.hessian(field) # elasticity as last evaluated hessian

# Pressure Boundary
SP = fem.mechanics.SolidBodyPressure(fieldp)
SP.update(fieldp, other_field=field)
r -= SP.vector(fieldp, pressure, resize=r)
K -= SP.matrix(fieldp, pressure, resize=K)
@adtzlr adtzlr added this to the 4.0.0 milestone May 1, 2022
@adtzlr adtzlr added the enhancement New feature or request label May 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant