Cantilever problem
In this example, a linear (2D plane stress) elasticity problem is considered. First, we show forward definition of the problem using FEniCS in pytop. Then, we describe the
how to build the optimization problem using pytop's features.
Forward Problem
Governing Equation
The equation for linear elastic deformation problem can be written as
−∇⋅σ=f in Ω
σ=λtr(ε)I+2με
ε=21(∇u+(∇u)T)
where σ is the stress tensor, f is a body force, and u is the deformation vector. The strain ε can be calculated from the u.
The material property is described as Lame's constants, λ and μ. All variables are defined in closed body Ω.
The variational (or weak) form of abovementioned equation is obtained by the inner product of the equation and test function v. We get
∫Ωσ:∇v dV=∫∂Ωf⋅v dV+∫∂Ω(σ⋅n)⋅v dS.
Here, (σ⋅n)=t is a traction force on the Dirichlet bondary ∂ΩD. This form can summarize as: find u∈V that satified
a(u,v)=L(v)
a(u,v)=∫Ωσ:∇v dV
L(v)=∫∂Ωf⋅v dV+∫∂Ω(σ⋅n)⋅v dS.
Because of symmetrity of the σ, the bilinear form a(u,v) can be replaced into elastic potential:
a(u,v)=∫Ωσ(u):ε(v) dV
Optimization problem
Design variable
The density variable ρ(x) is defined to represent the material distribution. We parametarize the modulus Eρ with