Hi, I'm a newbie to FEM and Elmer, fascinated by the clean and powerful solver.
I'm working on simulating the deformation of a disk under certain force fields.
Currently, I followed tutorial 9 on the ElmerGUI tutorials to obtain the deflection of a linear plate. I successfully modify the plate shape to a disk and the material for my project. However, I have several questions regarding the solver:
1. Can I apply arbitrary forces/pressures to the disk? I.e., forces in arbitrary directions and locations, and how can I achieve this? Also, I tried to use the deflection tab in "body forces", do these constraints mean apply certain deflections on specific points?
2. From the ParaView, I can observe the deflections' magnitude and XYZ plots, I guess XYZ plots represent deformations' directions and magnitude means deformation distance. Is this correct?
3. I'm trying to use the multiline expressions to define conditions, are there any docs that illustrate the usage?
Many thanks if anyone could give some advice
Disk deflection calculation
Re: Disk deflection calculation
Some comments:
1. The plate solver (the module SMITC) doesn't model the stretching of the midsurface (the bending is only considered) and therefore one may apply a distributed normal load only. The shell solver can model the bending and stretching effects simultaneously and would allow to handle more general (edge) loads.
2. In the case of the plate solver the magnitude of the solution within ParaView is not meaningful, since the components of the solution are not really components of the same vector (the first [X] is the normal displacement, while the other two represent small rotations). ParaView thus makes a misinterpretation of the three components when computing the magnitude.
 Mika
1. The plate solver (the module SMITC) doesn't model the stretching of the midsurface (the bending is only considered) and therefore one may apply a distributed normal load only. The shell solver can model the bending and stretching effects simultaneously and would allow to handle more general (edge) loads.
2. In the case of the plate solver the magnitude of the solution within ParaView is not meaningful, since the components of the solution are not really components of the same vector (the first [X] is the normal displacement, while the other two represent small rotations). ParaView thus makes a misinterpretation of the three components when computing the magnitude.
 Mika
Re: Disk deflection calculation
Hi Mika,
Thanks for your fast reply and your illustrations regarding the Smitc solver. It makes sense that the plate solver only considers the stretch effect and I've switched to the shell solver as you suggested.
Since I'm not very familiar with these techniques and there is no example of the shell solver, it would be nice if you could take a look at my implementations.
First, I import the shellsolver.xml file and open the disk model.
Second, I set up the solver, activate the shell equation, and define the material properties.
Third, I add boundary conditions to fix the disk's edge and apply deformations.
I'm not quite sure what does U/DNU means in the shell boundary conditions, could you provide me some insights?
And also, the ParaView plots seem to include magnitude and XYZ plots for both U and DNU, what do they standing for? And in which order?
Many thanks
Thanks for your fast reply and your illustrations regarding the Smitc solver. It makes sense that the plate solver only considers the stretch effect and I've switched to the shell solver as you suggested.
Since I'm not very familiar with these techniques and there is no example of the shell solver, it would be nice if you could take a look at my implementations.
First, I import the shellsolver.xml file and open the disk model.
Second, I set up the solver, activate the shell equation, and define the material properties.
Third, I add boundary conditions to fix the disk's edge and apply deformations.
I'm not quite sure what does U/DNU means in the shell boundary conditions, could you provide me some insights?
And also, the ParaView plots seem to include magnitude and XYZ plots for both U and DNU, what do they standing for? And in which order?
Many thanks

 Posts: 1210
 Joined: 25 Jan 2019, 01:28
 Antispam: Yes
Re: Disk deflection calculation
There are many examples of ShellSolver in the test files.
https://github.com/ElmerCSC/elmerfem/tr ... /fem/tests
Also by searching ShellSolver on this forum there are many examples.
U is the displacement of the midplane of the shell, 1 is X, 2 Y, 3 Z
DNU is the difference in deflection of the top and bottom of the shell, i.e DNU = 0 means no rotation of the edge.
No DNU restraint would mean the edge is free to rotate.
https://github.com/ElmerCSC/elmerfem/tr ... /fem/tests
Also by searching ShellSolver on this forum there are many examples.
U is the displacement of the midplane of the shell, 1 is X, 2 Y, 3 Z
DNU is the difference in deflection of the top and bottom of the shell, i.e DNU = 0 means no rotation of the edge.
No DNU restraint would mean the edge is free to rotate.
Re: Disk deflection calculation
Hi Kevin,
Thanks for the links. I went through git test files, forum posts, and Chap. 8 of the Elmer Models Manual.
I understand U represents the displacement of the midplane nodes in XYZ directions.
However, I'm still confused about the meaning of DNU. Could you kindly explain DNU using the below example?
Let's say a thin disk lies in the XY plane and has a thickness of 2*b in Z. The node (x,y,0) represents a node in the midplane before applying loads, so the corresponding top/bottom nodes are (x,y,b) and (x,y,b).
After applying loads, the top/bottom nodes move to (xt, yt, zt) and (xb, yb, zb). U is (xm, ym, zm), representing the displacement of node (x,y,0).
Does DNU means xtx, yty, ztb  xbx, yby, zb+b?
Thanks for the links. I went through git test files, forum posts, and Chap. 8 of the Elmer Models Manual.
I understand U represents the displacement of the midplane nodes in XYZ directions.
However, I'm still confused about the meaning of DNU. Could you kindly explain DNU using the below example?
Let's say a thin disk lies in the XY plane and has a thickness of 2*b in Z. The node (x,y,0) represents a node in the midplane before applying loads, so the corresponding top/bottom nodes are (x,y,b) and (x,y,b).
After applying loads, the top/bottom nodes move to (xt, yt, zt) and (xb, yb, zb). U is (xm, ym, zm), representing the displacement of node (x,y,0).
Does DNU means xtx, yty, ztb  xbx, yby, zb+b?
Re: Disk deflection calculation
Let U_(+)(x,y,b) and U_()(x,y,b) denote the displacement vectors on the upper and lower faces of the shell. Then the three components of DNU could be computed as the components of the vector [U_()(x,y,b)  U_(+)(x,y,b)]/(2b) with respect to the global frame. Thus no norms . are involved in the formula.
 Mika
 Mika

 Posts: 1210
 Joined: 25 Jan 2019, 01:28
 Antispam: Yes
Re: Disk deflection calculation
I do not understand it as well as displacement and rotations in the commercial FEA codes I have learned that solve F=Kx. However, I have been able to successfully apply it in benchmark problems as being able to allow an edge restraint to rotate or not rotate.
 Attachments

 dnu.jpg
 (254.75 KiB) Not downloaded yet
Re: Disk deflection calculation
Hi Mika and Kevin,
Thanks for your illustrations. I think the difference here is the denominator.
Mika suggests it should be the difference of displacement vectors, while Kevin thinks it's the difference between node positions.
I'll doublecheck in the shell theory and reply here.
Many thanks for your help.
Thanks for your illustrations. I think the difference here is the denominator.
Mika suggests it should be the difference of displacement vectors, while Kevin thinks it's the difference between node positions.
I'll doublecheck in the shell theory and reply here.
Many thanks for your help.

 Posts: 1210
 Joined: 25 Jan 2019, 01:28
 Antispam: Yes
Re: Disk deflection calculation
The actual mesh in the illustrations is just the midplane of the shell. I do not imply there are actual nodes at the top and bottom of the shell. However, displacements , strains, and stresses can be calculated at the top and bottom of the shell. DNU is a boundary condition that when set to zero prevents rotation of the shell about the midplane, and if left unspecified the edge is free to rotate. In other codes you specify the rotation at the midplane, not a function of the bottom and top deflections of the shell.
Re: Disk deflection calculation
I see, so it mainly works as a boundary condition in this case.
BTW, in order to save the computed U/DNU values at each node, what are the correct variable names to use in the SaveScalars solver? I referred to the solver manual and examples in the forum, but still confused about how the data saver works Below is the code piece I wrote so far.
BTW, in order to save the computed U/DNU values at each node, what are the correct variable names to use in the SaveScalars solver? I referred to the solver manual and examples in the forum, but still confused about how the data saver works Below is the code piece I wrote so far.
Code: Select all
Solver 2
Exec Solver = Afrer timestep
Equation = SaveScalars
Procedure = "SaveData" "SaveScalars"
Filename = "displacement.dat"
Variable 1 = ???
End