Hai,
Can we model this problem in Fenics?
Hai,
Can we model this problem in Fenics?
This looks like the energy functional for plane-strain elasticity. There is a good FEniCS-based tutorial on that problem here, by @bleyerj. That tutorial doesn’t contain the traction term, but it could easily be added to the right-hand side form l
as dot(t,u_)*ds
, where t
is the traction vector and ds
integrates over the exterior boundary of the domain.
See the thickness is constant and taken out of the equation and we can do an area integral. can we model this in the fenics? How to model this? any resources
If the thickness is a constant (independent of position in the plane, as needed to move it outside of the integral), then its value won’t affect the displacement solution. The tutorial I linked chooses h^e = 1.
So let’s say if we apply this idea to a plate in the tension of thickness 10 mm, if I multiply with 10 mm for including thickness effect. Will the solution gets affected or remain the same?
Think about it this way: If you find a displacement field \mathbf{u} that minimizes the energy \Pi(\mathbf{u}), then it will also be a minimum of C\Pi(\mathbf{u}), for any constant C. Since every term in your energy functional is scaled by h^e, then you can set it to 1 without loss of generality.
If the superscript e is meant to indicate that the thickness changes from element to element, then it will affect results. The easiest way to implement this would be to represent thickness as a Function
in the space FunctionSpace(mesh,"DG",0)
(i.e., the space of constants on elements), and simply keep it inside of the dx
integral (over the whole domain) used to define variational forms in FEniCS.
Thanks for the answer, I have changed my view about the problem. Can you elaborate or show some way to implement this " The easiest way to implement this would be to represent thickness as a Function
in the space FunctionSpace(mesh,"DG",0)
"
Also, how can one implement area integral, like in the problem state above?
could you please help me on this.
Can you elaborate or show some way to implement this " The easiest way to implement this would be to represent thickness as a
Function
in the spaceFunctionSpace(mesh,"DG",0)
"
It’s difficult to provide more detail about how to create the Function
object without knowing the upstream format in which the thickness in each element is given. If you have already transferred the element thicknesses into the vector of degrees of freedom of a DG0 function h
, then you would simply go through Jeremy’s tutorial linked above and multiply all the variational forms by h
.
Another note: As I see it, varying the thickness in space like this only makes sense physically in the plane stress interpretation of 2D elasticity; the difference in implementation between plane stress and plane strain is explained well in the tutorial.
Also, how can one implement area integral, like in the problem state above?
The dx
integration measure in FEniCS UFL (Unified Form Language) denotes an integral over volume in 3D, area in 2D, and length in 1D. (The dimension is determined automatically from the provided mesh.) Note that the “x
” in “dx
” should be understood in a vector-valued sense, where coordinates are x_1, x_2, etc., not in a scalar-valued sense, where coordinates are x, y, etc. Similarly, ds
is a surface integral in 3D, a line integral in 2D, and point evaluation in 1D.