Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

[Strand 7] How to fix some degrees of freedom for a node element in Strand 7?

Status
Not open for further replies.

Ryanhhh97

Structural
Sep 24, 2020
15
AU
Hi,

May I ask if someone knows how to edit the degrees of freedom for each node in Strand 7? I have built a thin 3-D shell structure in Strand 7 which is ready for static analysis. And I adopted Tri6 plate to mesh the surface. The default freedom condition is set to all free condition, which means there are six degrees of freedom for each node (three translation and three rotation). However, a plate bending finite element would only have the out-of-plane deflection and two rotations not the twist (only three degrees of freedom per node). May I ask how to manage this through Strand 7? I have attached the ST7 file to this post. Much appreciated if someone could do me a favour.

Kind Regards,
Ryan
 
 https://files.engineering.com/getfile.aspx?folder=5b119154-ec68-4425-8fed-527a7ba14d68&file=Shell_A2.st7
Replies continue below

Recommended for you

Since the structure is curved in three dimensions, I don't know why you want to remove the in plane deflection freedoms, but probably the easiest way to do it is with user defined elements. It's not something I have done, so I can't help with the details, other than suggesting reading the manual and web-notes.

Also I'd suggest experimenting with a much smaller model!

Doug Jenkins
Interactive Design Services
 
Hi Doug,

Thanks for your kind reply. I think the problem is about the selection of the plate type. And selecting plate/shell element would have six degrees of freedom automatically. Also, may I ask what do you mean by experimenting a smaller model? Should I choose Tri3 or Quad4 plate rather than Tri6 plate?

Kind Regards,
Ryan
 
If you select "plate/shell" the "material" box underneath has an option for User Defined, which allows you to set up your own stiffness matrices.

For setting up a simpler model I just meant create one with about 10 elements, rather than 19,138, to see if they work.

I still don't know why you want to reduce the number of degrees of freedom anyway though.

Doug Jenkins
Interactive Design Services
 
You might want to check your mesh:
[ul]
[li]Your mesh is not entirely comprised of 6-node triangles - you also have a lot of 8-node quads. [/li]
[li]You have a lot of "almost coincident" nodes, which are separated by very small distances.[/li]
[li]A lot of the elements (especially those near the "ridge line") are quite heavily warped and / or have very small internal angles.[/li]
[li]There are a lot of areas where it looks like you have overlapping shell surfaces - typically quad elements which are over-laid by a corresponding re-mesh of triangles. (Try "shrinking" the elements by 5% - 10% and you should see the effect where 2 triangles overlie a single quad element more clearly.)[/li]
[/ul]

Nevertheless, the mesh analyses satisfactorily using default solver settings, and without making any changes to the default degrees of freedom. Note that the linear static solver does a "drilling" check when you use default solver settings, and in this case, it fixes 29,856 drilling degrees of freedom.

From the on-line help manual:

To detect and suppress drilling degrees of freedom, the following procedure is used.
If only one principal rotational stiffness is less than the Stiffness Multiplier times the maximum principal rotational stiffness, the lowest principal stiffness is assumed to be a drilling singularity (i.e. insufficient rotational stiffness about the calculated direction), as long as the node connects only to plate/shell elements. If the drilling singularity is detected, the rotational stiffness in the drilling direction is replaced by a new value equal to the Stiffness Multiplier times the maximum principal rotational stiffness.




 
Hi jhardy1,

Thank you so much for your advice.

[li][/li]I have selected all the plates and assigned all of them to 6-node triangles. But I don't know why there are still other types of plates.

[li][/li]I have cleaned the mesh and may I ask does it automatically deleted the overlain plates?

[li][/li]As for the problem of the ridge line, the model I imported is not smooth and maybe it is the reason lead to small internal angles. But how to solve this type of problem?

The DOF problem is Ok as I initially thought we used the simplest plate bending element here, which only requires three DOF (one out-of-plane translational displacement plus two rotations bending the plane.

Thanks again for your valuable suggestion

Kind Regards,
Ryan
 
How did you generate the mesh? Did you import the CAD geometry into Strand7 and use Strand7's own built-in Auto-mesh tool, or did you use some other software to mesh the surfaces, and import the already-triangulated mesh into Strand7?

In my experience, Strand7's Auto-mesh tool will generate only a single "layer" of plate-shell elements per CAD geometry surface - but if you have two surfaces which are coincident, you can end up with two overlapping meshes of plate-shell elements. You often need to "clean" imported CAD geometry in Strand7 before running the Auto-mesher - but you'll need to decide what to do with coincident surfaces. (E.g. retain and mesh both, or delete one, or delete both.)

For overlapping meshes of the type you have (quad elements overlain by a congruent pair of triangles), no, the mesh cleaning tool won't delete the overlap. However, it is a fairly trivial exercise to manually select all quad elements and delete them, for example.

You can use the "Show Plate Free Edges" and "Show Plate T-Junctions" tools to highlight areas where you have problems with overlapping and / or "floating" elements. Using a "Shrink" of 5% to 10% can also make it easier to spot partially overlapping elements.

Strand7's tools for importing and auto-meshing CAD geometry are very useful, but can be limited if the CAD geometry is not ideally suited for automatic meshing. Fine geometric detail will tend to generate very fine local meshes, with the possibility of high aspect ratios and / or highly warped elements. You often need to simplify and / or "de-feature" the CAD geometry (remove geometric vertices, edges and surfaces that you don't actually NEED to mesh; remove fillets which are too small to be relevant for your analysis; merge closely adjacent vertices into a single vertex; etc) before auto-meshing it.

 
Hi jhardy1,

Thank you so much for your kind advice. You are such a kind person!

My geometry was generated by Grasshopper and its mesh was quadrilateral in Rhinoceros. After I imported the IGES file into Strand 7, I re-meshed it with 6-node triangle.

I have fixed the problems of different types of elements and there are no overlapping surfaces now. The new file is attached to this reply. Could you please have a quick look to see if it is good enough to conduct the linear test?

Kind Regards,
Ryan
 
 https://files.engineering.com/getfile.aspx?folder=e03e2bb8-e068-46ef-86fd-3fed8907d47a&file=Shell_A2_6-Node_Triangle.st7
@Ryanhhh97

I would suggest quad8 elements when dealing with curved surfaces, instead of the tri elements. I always avoid tri elements if they are not required, obviously auto meshing puts them in at certain locations.

I had a look at the geometry that is in your model. I think there may have been many cutting planes and/or surface features which may have caused the initial meshing issues. I think that revising your geometry in the CAD interface will fix many of your problems. I managed to fix your geometry by using beam elements around the perimeter of the geometry and thereafter deleting your initial geometry and developing a new one from the beam elements. This produced a far better quality FEA mesh in my opinion. I am not sure if your apex is supposed to look the way it does, but the elements do not link up to the geometry, the method I described produced a surface that tied up to the geometry. Have a look at the "points and lines" tools I find them very useful for fixing geometry.

Keep in mind that it is always not required that the mesh be fine everywhere, it needs to be evaluated. in general all meshing software will develop very fine meshes at interfaces, for example if you had a beam coming into a tank, at the interface of the beam and tank the mesh will be extremely fine and will become coarser as you move away from the interface. I think Strand7 may have struggled to do this due to the quantity of faces in the geometry.

I normally start with a coarse mesh to get the model up and running and then refine once I have something working. This is a good way of doing things especially if you are going to use the more complex solvers.


 
In addition to my previous response, Strand7 will also suppress degrees of freedom when required based on the element types.

When a global stiffness matrix is developed the restrained degrees (supports) of freedom are essentially taken out for the global stiffness matrix. If for example you have restrained rotation on an element that does not allow rotation, thus implying that there is no row and column on the local stiffness matrix that pertains to rotation. The system will not remove any row and column since none of them pertain to the rotation. Strand7 will normally prompt you about this in the log file.

I may have misunderstood your comment about the degrees of freedom, but I just explained what I thought you were getting at. I hope it helps
 
Do you have access to the Strand7 auto-mesher module? If so, try importing the raw CAD geometry (IGES, SAT or STEP format) into Strand7 without first meshing in Rhinoceros, and then mesh directly within Strand7.

Your imported geometry has 1080 vertices and 1118 faces. I don't know the mathematical description of the actual shell surfaces you are modeling (spherical, parabolic, hyperbolic, etc - but I believe the Sydney Opera House shells use spherical segments for construction efficiency), but I suspect the true geometry can probably be defined with just a handful of faces and vertices. E.g. one spherical surface for each side face, and perhaps a few additional surfaces to model the ridge line and perimeters of the shell faces, if the geometry or thickness is different in these areas.

This approach would be preferable for FEA meshing, because it would allow you to auto-mesh an initial coarse mesh for quick trial purposes (e.g. mesh each side of the shell with say 8 x 8 8-node quads), and then once you are satisfied the basic model is working as expected, you can refine the mesh until you have the required level of detail and accuracy.

Your geometry seems to have some irregularities near the ridgeline, especially at the apex of the shell, and this is leading to some badly warped elements in this area, which I suspect are not part of the actual intended geometry. It is not obvious to me whether these irregularities were created when you created the basic geometry in Grasshopper, or were created when you created a surface mesh in Rhinoceros.

 
Hi guys,

Thank you so much for your suggestions.

Yes, I used Strand 7 auto-surface meshing tool to construct the mesh. This is not the original Sydney Opera House roof but a simpler geometry generated by form-finding tools in Grasshopper. Therefore, I don't actually have mathematical expressions for this geometry.

I tried to smooth the geometry in Rhino before importing into Strand 7, which can result in smoother modelling of the top ridge (apex). However, this does not help improve the surface meshing in Strand 7. I cleaned the geometry first with minimum feature length of 0.03, then surface mesh the geometry. But there are a large number of nodes concentrating in some areas (especially near the ridge). I followed the online tutorial but have no idea why it can't solve the problem. I have attached my IGES file as well as the .st7 file to this reply.

Kind Regards,
Ryan
 
 https://files.engineering.com/getfile.aspx?folder=0d00470e-40d2-4afc-9b03-291328f60d13&file=111_Shell_A2.st7
Free-form surface modellers can produce aesthetic smooth-looking surfaces over areas of complex geometry, but these areas can have very tight curvature, double-curvature, etc, with lots of control points and curved edges. Every curve, surface, and control point in the CAD model will become a vertex, edge and surface to be meshed in Strand7. Where the control points are closely spaced, the resulting mesh will be very fine.

For an analysis like this, I would suggest you "take control" of your geometry, rather than using a free-form modeller. E.g. use a spherical surface for the two main side faces, and perhaps a simple cylindrical surface for the ridge-line. You can probably create a good model by drawing a cross-section with two circular curves and a straight chord at the ridge, and then revolve this to create a shell. A bit of slicing-and-dicing, and you're done!

Think also about symmetry - you can probably just model one side face and half the ridge-line, which is less work to model. Import the half-model, mesh it in Strand7, and then mirror it on the centreline to create the full shell.

 
Hi jhardy1,

Thank you for your reply. What would happen if the mesh is now uniformly distributed? Will it generate unintended stresses or forces?

I tried it again. First cleaned the geometry, then manually created the plate elements connecting the vertices. And it yields to a much simpler model, only with 491 plates. And I am able to manipulate with the irregularities on the ridgeline by manually drawing better triangles. The advantage is that I could avoid very fine meshes at some locations, whilst the drawback is that the geometry is much coarser compared to the original one. I ran the model and it gave me clearer patterns for some parameters like stress and moment. But apparently it gave me very different values from the old model. May I ask if this means this new model works better than the old one? I have attached the new model to this reply.

Many thanks,
Ryan
 
 https://files.engineering.com/getfile.aspx?folder=0fa48c32-8e74-4bbe-be03-ca6580d1f345&file=manual_Shell_A2.st7
Your new mesh generally looks rather better than the earlier meshes, but it still has some significant distorted areas along the ridge line. This model and your earlier models have very different applied loads; I think this is the reason for the different results, more than the mesh quality, but the mesh quality will certainly impact local stress results.

As an example of what I am suggestting - please take a look at the attached PDF file, which creates a MUCH cleaner geometry and mesh than your methods. I used OnShape as my CAD modeller, but pretty well any 3D CAD package could do this.

I created a 2D sketch as shown in Section AA - two offset circular arcs, two straight segments, and some governing dimensions. I then revolved this sketch around the horizontal axis, and then sliced it as shown on the side elevation to leave me a shell which superficially resembles yours (but I haven't tried to scale it to match). I then exported a STEP geometry file, which I imported into Strand7, and then did a coarse auto-mesh using Quad8 elements as the "target". This mesh should analyse MUCH faster and with fewer spurious results than the distorted meshes which your geometry is generating.

The coarse auto-mesh has only 115 8-node Quad elements, but they conform precisely to the imported geometry, and it is a trivial exercise to re-mesh with a much finer mesh if required.

 
Hi jhardy1,

Thank you so much! This really helps.

Kind Regards,
Ryan
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top