MoTN,
To target nodes for these boundary conditions I believe they have to be boundaries in your mesh.boundary file. In the last example look at boundary 5 in the mesh.boundary file. This is how you add a node to it. I add it by editing the file. The format is
Boundary element#, Boundary Number, element attached, element attached, element type (101 is a point), Node#
9 5 1 0 101 9
Also the mesh.header file is changed to read the boundary element
Kevin
Introducing springs to a point/face as a boundary condition
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
I would like to recall that if one wishes to add springs (or masses) by using a group identifier of 1-dimensional elements (nodes) askevinarden wrote: ↑16 Apr 2020, 11:43 To target nodes for these boundary conditions I believe they have to be boundaries in your mesh.boundary file.
Boundary Condition X
Target Boundary(1) = ...
Spring 1 = ...
Spring 2 = ...
Spring 3 = ...
...
End
the file mesh.boundary must naturally define this group of elements. On the other hand the target nodes version as
Boundary Condition Y
Target Nodes(n) = ...
Spring 1 = ...
Spring 2 = ...
Spring 3 = ...
...
End
should work regardless of what mesh.boundary contains (it works based on the content of mesh.nodes file). So no need to edit the mesh files in the latter case.
-- Mika
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
Thanks Mika,
But I have not been able to get that to work. Also I still am unable to get displacements in the vtu file. Attached is MoTN's case with all of the 0 eigenvalues removed with constraints.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: 6.566180E+01 0.000000E+00
EigenSolve: 2: 5.928763E+04 0.000000E+00
EigenSolve: 3: 1.462589E+05 0.000000E+00
EigenSolve: 4: 7.279436E+05 0.000000E+00
EigenSolve: 5: 1.340368E+06 0.000000E+00
EigenSolve: 6: 1.410136E+06 0.000000E+00
If you have some time perhaps you can point out where I am going wrong.
Kevin
But I have not been able to get that to work. Also I still am unable to get displacements in the vtu file. Attached is MoTN's case with all of the 0 eigenvalues removed with constraints.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: 6.566180E+01 0.000000E+00
EigenSolve: 2: 5.928763E+04 0.000000E+00
EigenSolve: 3: 1.462589E+05 0.000000E+00
EigenSolve: 4: 7.279436E+05 0.000000E+00
EigenSolve: 5: 1.340368E+06 0.000000E+00
EigenSolve: 6: 1.410136E+06 0.000000E+00
If you have some time perhaps you can point out where I am going wrong.
Kevin
Last edited by kevinarden on 16 Apr 2020, 17:02, edited 1 time in total.
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
Mika,
You are correct on the boundary target node. It does not have to be added to mesh.boundary. I must have been doing something wrong earlier. It does work. However, I am doing something wrong to get displacements in vtu.
Kevin
You are correct on the boundary target node. It does not have to be added to mesh.boundary. I must have been doing something wrong earlier. It does work. However, I am doing something wrong to get displacements in vtu.
Kevin
Re: Introducing springs to a point/face as a boundary condition
For generating vtu output in the case of eigenanalysis see the example eigenanalysis.sif at
https://github.com/ElmerCSC/elmerfem/tr ... s_Cylinder
https://github.com/ElmerCSC/elmerfem/tr ... s_Cylinder
Re: Introducing springs to a point/face as a boundary condition
- In section Solver 1 add (to replace the default component names of the shell solver)
Variable = U
- In section Solver 2 change
Displacement Variable Name = U
- In section Solver 3 remove
Vector Field 1 = String eigenvector
Then I get output.
-- Mika
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
Works, thanks
Update case file for MoTN case
Update case file for MoTN case
Re: Introducing springs to a point/face as a boundary condition
Thank you very much Kevin and Mika, you two have been the most helpful!
I see that the last file "MoTN.zip" works very well and gives meaningful results; its first eigenvalue is sensitive to the spring coefficient proportionally, while the rest vary as I change Young's modulus. Also, the results are not sensitive to the target node on either side (either node 8 or 2 gives the same results). They, however, change if I set Target node = 9 (the center node); I cannot explain why though.
Quantitatively speaking, for the given system parameters I expect that:
I=Density * 1/12 * L*W*h*(h^2+W^2)=3.7651;
where Density = 3.2478e4 kg/m^3, L=0.8128 m, W= 0.4064 m, and h=25.4e-3 m
Ky= Spring 5 = 4019;
Hence,
eigenValue[1]=K/I=4019/3.7651=1.0675e+03
But the first eigenvalue I obtained via Elmer is 6.697305E+01.
could you please help me to reconcile this as well?
I see that the last file "MoTN.zip" works very well and gives meaningful results; its first eigenvalue is sensitive to the spring coefficient proportionally, while the rest vary as I change Young's modulus. Also, the results are not sensitive to the target node on either side (either node 8 or 2 gives the same results). They, however, change if I set Target node = 9 (the center node); I cannot explain why though.
Quantitatively speaking, for the given system parameters I expect that:
I=Density * 1/12 * L*W*h*(h^2+W^2)=3.7651;
where Density = 3.2478e4 kg/m^3, L=0.8128 m, W= 0.4064 m, and h=25.4e-3 m
Ky= Spring 5 = 4019;
Hence,
eigenValue[1]=K/I=4019/3.7651=1.0675e+03
But the first eigenvalue I obtained via Elmer is 6.697305E+01.
could you please help me to reconcile this as well?
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
I understand the rotational inertia to be MW^2 * 1/12 but your h is so small it does not change the answer.
I went back to the test case previously posted since it is a 1x1 square I set the thickness to 1 and density to 100. removed the lumped masses. Now it is a unit cube with mass = 100. I set the springs to 100, 200, 300, etc. so the modes would come out in order of DOF.
The rotational X (4) and Rotational Y (5) should be 48 and 60 using my equation, however they come out to be 24 and 30. So your equation must be correct. It matches the test case.
The translations come out as 1, 2, and 3 which is expected.
The zero mode is rotation Z (6) which the shell element is not defined.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: -4.135867E-10 0.000000E+00
EigenSolve: 2: 9.999996E-01 0.000000E+00
EigenSolve: 3: 1.999999E+00 0.000000E+00
EigenSolve: 4: 2.999995E+00 0.000000E+00
EigenSolve: 5: 2.399960E+01 0.000000E+00
EigenSolve: 6: 2.999937E+01 0.000000E+00
EigenSolve: --------------------------------
I went back to the test case previously posted since it is a 1x1 square I set the thickness to 1 and density to 100. removed the lumped masses. Now it is a unit cube with mass = 100. I set the springs to 100, 200, 300, etc. so the modes would come out in order of DOF.
The rotational X (4) and Rotational Y (5) should be 48 and 60 using my equation, however they come out to be 24 and 30. So your equation must be correct. It matches the test case.
The translations come out as 1, 2, and 3 which is expected.
The zero mode is rotation Z (6) which the shell element is not defined.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: -4.135867E-10 0.000000E+00
EigenSolve: 2: 9.999996E-01 0.000000E+00
EigenSolve: 3: 1.999999E+00 0.000000E+00
EigenSolve: 4: 2.999995E+00 0.000000E+00
EigenSolve: 5: 2.399960E+01 0.000000E+00
EigenSolve: 6: 2.999937E+01 0.000000E+00
EigenSolve: --------------------------------
Last edited by kevinarden on 17 Apr 2020, 12:42, edited 1 time in total.
-
- Posts: 2312
- Joined: 25 Jan 2019, 01:28
- Antispam: Yes
Re: Introducing springs to a point/face as a boundary condition
I went and looked at the displacements and the plate was rotating about X not Y. I changed the spring to Spring 4 (thought to be rotation X but is actually Y). Took out the restraints on the rigid body modes so the first real mode is 1065.5 which matches the calculation.
So rotation x and y are switched.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: -5.115953E-10 0.000000E+00
EigenSolve: 2: 1.075463E-08 0.000000E+00
EigenSolve: 3: 1.065494E+03 0.000000E+00
EigenSolve: 4: 6.162329E+04 0.000000E+00
EigenSolve: 5: 3.866650E+05 0.000000E+00
EigenSolve: 6: 1.722540E+06 0.000000E+00
EigenSolve: --------------------------------
So rotation x and y are switched.
EigenSolve: Computed 6 Eigen Values
EigenSolve: --------------------------------
EigenSolve: 1: -5.115953E-10 0.000000E+00
EigenSolve: 2: 1.075463E-08 0.000000E+00
EigenSolve: 3: 1.065494E+03 0.000000E+00
EigenSolve: 4: 6.162329E+04 0.000000E+00
EigenSolve: 5: 3.866650E+05 0.000000E+00
EigenSolve: 6: 1.722540E+06 0.000000E+00
EigenSolve: --------------------------------