Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
5 Finite Element Method is used in calculation engine as it is also visible in the name of program (__F__inite __E__lement __M__ethod = FEM). This chapter introduces the main concepts, features and functions of the built-in finite element method.
7 = {{id name="Element Types"/}}Element Types =
9 Depending on the applied FEM-Design module, the engine uses the following line and 2D (rectangular and triangular) finite elements.
11 (% border="1" style="width:852px" %)
12 |=(% colspan="1" rowspan="3" style="text-align: center; width: 107px;" %)**FEM-Design Module**|=(% colspan="6" rowspan="1" style="text-align: center; width: 742px;" %)**Finite Elements**
13 |(% colspan="2" rowspan="1" style="text-align:center; width:189px" %)**Line element**|(% colspan="2" rowspan="1" style="text-align:center; width:285px" %)**2D element**|(% colspan="2" rowspan="1" style="text-align:center; width:267px" %)**3D element**
14 |(% style="text-align:center; width:83px" %)**“Standard”**|(% style="text-align:center; width:97px" %)**“Accurate”**|(% style="text-align:center; width:147px" %)**“Standard”**|(% style="text-align:center; width:139px" %)**“Accurate”**|(% style="text-align:center; width:133px" %)**“Standard”**|(% style="text-align:center; width:134px" %)**“Accurate”**
15 |(% style="text-align:center; width:107px" %)[[image:1585283936395-928.png]] [[image:1585284003385-882.png]]|(% style="background-color:#c0c0c0; text-align:center; width:83px" %) |(% style="background-color:#c0c0c0; text-align:center; width:97px" %) |(% style="background-color:#c0c0c0; text-align:center; width:147px" %) |(% style="text-align:center; width:139px" %)[[image:1585284338571-882.png]] [[image:1585284345045-753.png]]
16 8-node  6-node|(% style="background-color:#c0c0c0; text-align:center; width:133px" %) |(% style="background-color:#c0c0c0; text-align:center; width:134px" %)
17 |(% style="text-align:center; width:107px" %)[[image:1585284331773-415.png]]|(% style="background-color:#c0c0c0; text-align:center; width:83px" %) |(% style="text-align:center; width:97px" %)[[image:1585284378769-839.png]]
18 Beam|(% style="background-color:#c0c0c0; text-align:center; width:147px" %) |(% style="width:139px" %)(((
19 (% style="text-align: center;" %)
20 [[image:1585284634926-866.png]] [[image:1585284640430-195.png]]
22 (% style="text-align: center;" %)
23 9-node  6-node
24 )))|(% style="background-color:#c0c0c0; text-align:center; width:133px" %) |(% style="background-color:#c0c0c0; text-align:center; width:134px" %)
25 |(% style="text-align:center; width:107px" %)[[image:1585284404468-380.png]]|(% style="width:83px" %)(((
26 (% style="text-align:center" %)
27 [[image:1585284513216-336.png]]
29 (% style="text-align: center;" %)
30 Truss
31 )))|(% style="width:97px" %)(((
32 (% style="text-align:center" %)
33 [[image:1585284519249-788.png]]
35 (% style="text-align: center;" %)
36 Beam
37 )))|(% style="width:147px" %)(((
38 (% style="text-align: center;" %)
39 [[image:1585284553890-705.png]] [[image:1585284561776-271.png]]
41 (% style="text-align: center;" %)
42 4-node  3-node
43 )))|(% style="width:139px" %)(((
44 (% style="text-align: center;" %)
45 [[image:1585284567449-345.png]] [[image:1585284573884-853.png]]
47 (% style="text-align: center;" %)
48 9-node  6-node
49 )))|(% style="background-color:#c0c0c0; text-align:center; width:133px" %) |(% style="background-color:#c0c0c0; text-align:center; width:134px" %)
50 |(% style="text-align:center; width:107px" %)[[image:1585284419793-514.png]]|(% style="width:83px" %)(((
51 (% style="text-align:center" %)
52 [[image:1585284513216-336.png]]
54 (% style="text-align: center;" %)
55 Truss
56 )))|(% style="width:97px" %)(((
57 (% style="text-align:center" %)
58 [[image:1585284519249-788.png]]
60 (% style="text-align: center;" %)
61 Beam
62 )))|(% style="width:147px" %)(((
63 (% style="text-align: center;" %)
64 [[image:1585284555924-547.png]] [[image:1585284563294-388.png]]
66 (% style="text-align: center;" %)
67 4-node  3-node
68 )))|(% style="width:139px" %)(((
69 (% style="text-align: center;" %)
70 [[image:1585284568864-479.png]] [[image:1585284575335-532.png]]
72 (% style="text-align: center;" %)
73 9-node  6-node
74 )))|(% style="text-align:center; width:133px" %)[[image:1585284431164-331.png]][[image:1585284436735-255.png]][[image:1585284454407-999.png]]
75 4-, 6-, 8 - nodes|(% style="text-align:center; width:134px" %)[[image:1585284442074-438.png]][[image:1585284447150-457.png]][[image:1585284460408-988.png]]
76 10-, 17-, 27 nodes
78 Table: Finite element types by FEM-Design modules
80 In the 3D modules, you can choose between “standard” and “accurate” 2D element types. With standard elements you can run 4-times faster but less accurate analysis than with the fine elements. In case of bar elements, the program assigns 2-node line elements to each beam and column element by default:
82 * 1 piece when choosing “standard” elements, and
83 * 2 pieces when choosing “accurate” mode.
85 |(% style="width:112px" %)[[image:warning.png]]|(% style="width:1378px" %)The program divides curved beam objects by several line elements in number depends on the central angle of the arc.
87 The element type “standard” or “accurate” can be set in the calculation dialog (//Analysis > Calculate > Analysis > Finite element types//).
89 [[image:1585286020955-903.png]]
91 Figure: Finite element types by FEM-Design modules
93 |(% style="width:112px" %)[[image:warning.png]]|(% style="width:1378px" %)Modification on the geometry of a structural object causes the deletion of its finite elements.
95 = {{id name="Mesh Generation"/}}Mesh Generation =
97 FEM-Design offers a fully automatic finite element mesh generation by using optimized (factory default) or custom mesh settings. Of course, the generated mesh can be modified with special easy-to-use **edit and modify function//s//**.
99 Fully automatism means that the program generates the mesh with elements having average element size optimized for the structure and its environment (supports and loads). The process can contain automatic element refinement and [[**peak smoothing**>>||anchor="#HEditingpeaksmoothingregions"]] algorithm according to the settings.
101 Automatic mesh generation can be done according to the [[**mesh settings**>>||anchor="HMeshSettings"]]:
103 * **Before calculations**
104 Click [[image:1585286062284-192.png]] //Prepare //in the [[image:1585286068748-871.png]] tabmenu. You can see and check the finite element suggested. The mesh will be visible by activating the //Surface elements// layer automatically. If you do not edit the mesh and modify the structural model, the later calculations will use the mesh generated by //Prepare//, so no further mesh generation will be done.
105 * **As the result of calculations**
106 If the program does not find previously generated finite element mesh, running calculations (analysis or design) by [[image:1585286110777-660.png]] //Calculate// generates it automatically. The mesh can be displayed by activating the //Surface elements// layer in the current structural or result view mode or just by returning to [[image:1585286073978-102.png]] mode.
108 (% style="text-align:center" %)
109 [[image:1585286127114-183.png]]
111 (% style="text-align: center;" %)
112 Figure: Automatic finite element mesh generation
114 == Mesh Settings ==
116 The settings of the automatic mesh generation are available only in [[image:1585286087875-822.png]] mode and at //Settings> All...> FEM// //> Mesh// and //Calculation//.
118 (% style="text-align:center" %)
119 [[image:1585286143394-817.png]]
121 (% style="text-align: center;" %)
122 Figure: Settings affect automatic mesh generation (Prepare)
124 === **“General” settings** ===
126 (% style="text-align:center" %)
127 [[image:1585286149995-843.png]]
129 * **Merge objects**
130 The program merges **fixed points**, **fixed lines**, **supports**, [[**beams**>>doc:Manuals.User Manual.Structure definition.Beam (Geometry).WebHome]], [[**columns**>>doc:Manuals.User Manual.Structure definition.Column (Geometry).WebHome]] and [[**walls**>>doc:Manuals.User Manual.Structure definition.Wall (Geometry).WebHome]] (only in the //Plate// module) to [[**plate**>>doc:Manuals.User Manual.Structure definition.Plate (Geometry).WebHome]] and/or [[**wall**>>doc:Manuals.User Manual.Structure definition.Wall (Geometry).WebHome]] regions (the border of the regions). It is decided randomly which objects will be let in their place or removed. The objects shorter than a merging //distance// will be deleted. The objects being at the same place (covering) and having same properties will be deleted except one.
131 \\The program also merges columns and/or beams together. It is decided randomly which line elements will be let in their place or removed. The bars shorter than the merging distance will be deleted. After that, the supports fit to the bars. The objects being at the same place (covering) and having same properties will be deleted except one.
132 \\The program merges the loads to the geometry created in the first step. Those loads that have not been merged by the previous way will be merged together. It is decided randomly which ones will be let in their place or removed. Line loads shorter than the merging distance will be deleted. If the //Avoid load multiplication// option (see later) is active, the loads having the same position and same properties will be deleted except one.(((
133 |(% style="width:114px" %)[[image:warning.png]]|(% style="width:1336px" %)(((
134 The merge process may modify the original shape of the objects to a simpler geometry; but a simple figure cannot be changed for a more complicated one. For example the program does not fit a line load having straight action line to a curved edge although merging distance requires that.
136 This version of object merge cannot merge the plate or wall regions to themselves or to each other. The user has to pay attention to the correctness of these objects.
137 )))
139 Using //Auto merge objects// (recommended) corrects structural object misplacements. If the option is inactive, geometric anomalies cause too long mesh generation process or generation failure.
140 \\Using //Inform about volume of merged objects// option together with object merge sends information about the quantity of corrections.
141 \\//Distance// sets the maximal investigation zone between elements, so if the objects are closer than the defined distance, they will be merged. The suggested distance value is 3 to 5cm for engineering problems.
142 \\[[image:1585286248303-470.png]]
143 \\Figure: Correction of misplaced elements (Object merge)
144 \\Activating //Merge peak smoothing region// and //Merge load// allows the object merge to work for peak smoothing regions and loads.
145 \\Using //Avoid load multiplication// deletes the loads having the same position, geometry and properties (load case host and value) by keeping only one copy.
147 )))
148 * **Load handling**
149 By default, load positions are independent from the finite element mesh; so for example, it is not necessary to place point loads into finite element nodes and vice versa. Although it is recommended to place loads (especially the concentrated loads with high value) into nodes, it is not necessary. //Adjust mesh to load positions// automatically places finite element nodes in the action points, on the action line and region border of the loads depending on their types (point, line and surface load), so the mesh follows the load position and geometry.
150 \\[[image:1585286293852-739.png]]
151 Figure: Load handling in mesh generation
152 * **Auto peak smoothing region around...**
153 To solve the result **singularity problems** above supports and other critical points, the program may run [[**peak smoothing algorith**>>||anchor="#HEditingpeaksmoothingregions"]] around the listed elements. Activating an element in the list, the program automatically creates [[**peak smoothing region**>>||anchor="#HEditingpeaksmoothingregions"]] around it.
155 === **“Elements” settings** ===
157 (% style="text-align:center" %)
158 [[image:1585286330394-468.png]]
160 * **Calculated average element size**
161 By default, the program automatically calculates the optimal average size of the 2D finite elements considering the size, the geometry, the environment etc. of the structural elements. So, you do not need to give an initial value for it. The automatic calculation and the element size depend on the following settings options.(((
162 |(% style="width:114px" %)[[image:warning.png]]|(% style="width:1336px" %)(((
163 Element sizes can be set manually for all model regions or by regions with the **Average element size// //**command. If you modify the default “Automatic” value for a planar structural element (wall or plate) to a given value, the automatic element size calculation will be skipped for that region, and the given size will be used for that.
165 [[image:1585286380230-563.png]]
167 Figure: The Average element size command and the “Automatic” option
168 )))
170 Using //Region by region//, the program optimizes the element size by model regions. In this case, the regions will contain meshes generated by different average element sizes. This option is recommended to use in case regions (e.g. having openings and holes) need to be refined (more dense mesh).
171 \\Using //Consider all regions together//, the one optimal average element size will be determined for all model regions having “**Automatic**” size setting. This option is suggested for structural models contain regions with nearly same geometry and size parameters.
172 \\[[image:1585286426945-418.png]]
173 Figure: Calculation modes of average size of 2D elements
174 \\In the //Scale// figure, the optimal average element size can be reduced or increased with a given ratio set by the scroll button. The grey mesh shows the recommended optimal size, whilst the blue one shows the modified custom size. Double clicking the //Scale// figure resets the element size to the optimal average element size (1:1 ratio).
175 \\[[image:1585286450585-494.png]]
176 Figure: The average element size will be four times bigger than the optimal size
177 \\The //Correct according to the minimum division numbers// option modifies the average element size of the 2D elements, if the minimum division number (**automatic** or **custom**) of the boundary lines and edges requires that. This option is recommended for generating uniform finite element meshes. Skipping this option causes dense mesh near edges where the minimum division numbers are predefined.
178 \\Using the //According to the peak smoothing regions// option considers the [[**peak smoothing**>>||anchor="#HEditingpeaksmoothingregions"]] settings of model elements in the calculation of the average element size.
179 )))
180 * **Line element parameters**
181 The default minimum number of the line elements can be set here for the bar elements. The meaning of the default division number depends on the applied element type: **standard or accurate**. For example n=2 value sets (minimum) 2 finite elements for a whole bar (if neighboring elements connect to it only in its endpoints) or a continuous part of it (in case of joined or intersected neighbors) in case //standard// element type and 4 elements at //accurate// element type.
182 \\[[image:1585286487913-568.png]]
183 Figure: Meaning of Division number in case of Standard and Accurate element types
184 \\At curved beams, alpha parameter sets the minimum division number: minimum division number = central angle of the curved beam / alpha .(((
185 |(% style="width:114px" %)[[image:warning.png]]|(% style="width:1336px" %)Division number can be set manually for all bar elements or by line elements with the [[**Division number**>>||anchor="HDivisionnumber"]]**// //**command.
187 |(% style="width:114px" %)[[image:light.png]]|(% style="width:1336px" %)For imperfection (of steel bars), stability and dynamic calculations, it is suggested to set the default //n// value to more than 1; 4-5 division number is the recommended minimum for //n//.
188 )))
190 === **“Functions” settings** ===
192 (% style="text-align:center" %)
193 [[image:1585286615230-231.png]]
195 * **Automatic refinement in surface mesh (Generate surface mesh)**
196 The //Refine locally where needed// option – as an iteration process - eliminates distorted elements, which may normally be derived from accidental geometric errors (if **object merge** is not used). So, the option makes the finite element mesh denser at the locations where needed. (Deactivation of this option can be used in case of searching geometric errors.) The //Max. step// (recommended value is 6) defines the number of the iteration step of refining. The iteration will end when generated elements have the required side-ratio or the steps of the iteration reach their maximal value. If //Max. step// is not enough for the optimal refining, a warning message informs you the number of iteration steps is not enough and there are critical geometry errors (if the //Warn about reaching max. step// option is active).
197 The automatic refinement may cause too dense mesh at special geometries (e.g. at highly depressed regions), so in that case, it would be more practical to reduce the average element size with the //Reduce average element size if necessary// option.
199 * **Smooth surface mesh**
200 Smooth procedure calculates the optimal coordinates of the corner nodes of elements. It is recommended after splitting or merging elements. The best mesh can be achieved with the iterative use of the [[**Rebuild**>>||anchor="HRebuild"]] and the [[**Smooth**>>||anchor="HSmooth"]]**// //**commands. Smoothing of a mesh is executed with iteration technique: the procedure places the nodes of the triangle elements in such a way, that the area of the triangles will be balanced. The number of the smoothing steps can be set in the //Steps// field.
201 * **Check surface mesh**
202 The //Check surface mesh //option lets the program to check the geometry of the mesh after automatic mesh generation. The mesh can be controlled with respect to unsuitable geometry, overlaps and topology. This means that mesh errors, produced by an automatic or manual mesh generation can be easily found. If the program finds defective geometric elements in the model, it sends a warning message (error list) and displays the position of the mesh errors.
203 \\The //Geometry// tool checks the geometry of finite elements, such as the angles of the elements and the ratio of the largest and smallest sides (//Max. side ratio//).
204 \\The //Overlap & cut// tool checks overlapping and intersecting finite elements, which can be caused for example by copying or moving regions together with their finite element meshes.
205 \\The //Topology & gap// tool checks the topology of the finite elements and finds possible gaps. A typical topological error, when for example a corner node of an element lies on a side edge of another element. This problem can easily arise manually by using the **Split** command incorrectly.
206 \\[[image:1585286665130-634.png]]
207 Figure: Topologic errors (unconnected nodes)(((
208 |(% style="width:114px" %)[[image:light.png]]|(% style="width:1336px" %)Topological errors can be easily solved by the [[**Rebuild**>>||anchor="HRebuild"]] and [[**Smooth**>>||anchor="HSmooth"]] commands and quick algorithms.
209 )))
211 === **“Prepare” settings** ===
213 (% style="text-align:center" %)
214 [[image:1585286707994-943.png]]
216 * **Regenerate surface mesh automatically on the changed regions**
217 Using this option, the program will regenerate the mesh at any geometrical changes of region elements and will generate mesh on the regions having no mesh.
218 \\If you switch off the //Regenerate surface mesh automatically//... option, the program will not generate mesh on the regions modified geometrically and will send an error message. In this case you cannot start calculation until you generate mesh on those regions. And, if you would like to generate mesh manually with the **edit functions**, also inactivate this option.
219 \\From the element list, you can choose element types for automatic mesh refinement around them.
220 \\The //Optimal rebuild surface mesh after refine// option rebuilds the mesh automatically after refine. It is recommended to use this option, because elements having non-optimal side-ratio (after refining) will be removed. This procedure will also create more optimal quadrates from the triangles.
221 \\If you have objects to refine, the //Smooth surface mesh after refine// option will smooth the mesh after generation, refine and rebuild procedures.
223 * **Check the surface mesh**
224 If this option is activated, the program will automatically check the mesh on regions having valid mesh and are not necessary to be regenerated. The mesh of a region is valid, if the geometry of the region has not been modified since the last generation.
226 == Peak Smoothing ==
228 === **Singularity problem** ===
230 As an effect of the mesh refinement the calculated results are converging to the theoretical solution. The problem is that at certain places we get infinite inner forces according to the theory, so the inner forces increase each time by refining the mesh. These places could be: point supports, end points of edge supports,
232 vertices of surface supports, end points of beams and columns, end points of intersection lines of adjoining surfaces, point loads, end points of line loads, vertices of surface loads etc.
234 In practice, usually, the singularity problem occurs at supports because they heavily influence the inner forces (e.g. negative moments) in ratio.
236 === **Possible solutions** ===
238 There are three known possibilities to solve the above-mentioned problem:
240 * **Choosing optimal finite element size at singularity places**
241 FEM-Design aids that with several built-in tools such as automatic element size adjustment, automations in mesh generation, automatic local densification etc. It is evident, that choosing optimal element size cannot be perfect, because we should have to know the appropriate values to which we adjust the average element size in advance. The functions used today for automatic element size calculation and generation are providing values with adequate precision in most cases, but it is obvious that they cannot guarantee that in any case.
243 * **More realistic and precise model definition**
244 Point and line loads/supports with action surface (only action points and lines) do not exist in real life. So, if you model all point/line loads and supports as surface loads/supports, then you can cease the problem derived from the singularity. This opportunity is available in FEM-Design, because the user can apply [[**surface supports**>>doc:Manuals.User Manual.Structure definition.Surface support group (Geometry).WebHome]] and [[**loads**>>doc:Manuals.User Manual.Loads.WebHome]] with any directions and any geometry of action surface.
246 * **Peak smoothing**
247 Singularities always cause only local disturbance in the inner forces, they do not influence the inner forces at adequately short distance from the location of singularities. The “adequately short distance” is defined by the national standards. In the zones causing substantial changes three solutions can occur according to the codes: the peak can be cut (1), or it can be approached with a linear or higher order function (2), or a constant value may be set above the substantial area (3). In the last solution, the capacity of the inner force figure above the area may become equal with the capacity of the original figure. The last solution is the safest one, so it is accepted by every standard.
248 \\The peak smoothing algorithm is available (**for internal forces and stresses in planar elements**) in every FEM-Design modules work with planar objects.
250 === **Peak smoothing region** ===
252 The program defines peak smoothing regions to solve the possible singularity problems. Basically, these regions are the active zones in the environment of the singularity, where the inner forces change substantially as a result of mesh refinement.
254 Peak smoothing regions can be generated automatically by the mesh generator or calculation processes. Automatic generation always results circular peak smoothing regions with centre points placed in the location of the singularity. The radius of a circular smoothing region depends on the geometry of singularity locations.
256 |(% style="width:114px" %)[[image:light.png]]|(% style="width:1336px" %)Peak smoothing regions with any arbitrary shape can be defined manually with the [[**Peak smoothing region**>>||anchor="#HEditingpeaksmoothingregions"]] command. That command is able to edit predefined (automatically or manually) peak smoothing regions.
258 Automatic generation of peak smoothing regions can be set and controlled at the **General** settings of mesh generation (//Settings> All…> FEM> Mesh> General//). At //Peak smoothing region around...// option you can set the places (depending on the current module) where you want the program to create circular peak smoothing regions. The radius of the circular regions is calculated from the following formula:
260 (% style="text-align:center" %)
261 [[image:1585286900918-756.png]]
263 (% style="text-align: center;" %)
264 Figure: Settings of automatic peak smoothing generation
266 //r = t / 2 + f * v//,
268 where:
270 //t// is the characteristic geometric parameter of the object that causes singularity:
272 * 0 value in case of supports (point, line and surface),
273 * the diameter of circle circumscribed of a cross-section, if bar elements connect to planar elements,
274 * the thickness of the plate or wall, if the peak smoothing region generated in plate/wall connection;
276 //v// is the thickness of the planar element (plate, wall) in the considered place;
278 //f //is a factor can be set manually. The default value is 0.5, which means 45 degrees angle of projection starts from the connection (singularity cause) and ends in the calculation plane of the related planar element (see the figure before).
280 (% style="text-align:center" %)
281 [[image:1585286924448-279.png]]
283 (% style="text-align: center;" %)
284 Figure: Examples for peak smoothing regions by different element-plate connection
286 **Peak smoothing algorithm**
288 The steps of the peak smoothing algorithm are the followings during calculations (inner forces):
290 1. Select the peak smoothing method for moments, normal and shear forces under Settings/Calculation/Peak smoothing/Method
291 [[image:1585286943483-408.png]]
293 1. The program creates peak smoothing regions and/or checks the predefined active zones.
294 [[image:1585286961236-916.png]]
295 Figure: Generation of peak smoothing region at column-plate/wall connections
297 1. Allow peak smoothing algorithm for internal force and stress calculations. It is not enough to generate peak smoothing regions, so you have to confirm the smoothing process in the //Calculate// dialog before starting any analysis (and design) calculations.
298 \\[[image:1585286988123-269.png]]
299 Figure: Peak smoothing algorithm set for analysis calculations
301 1. The program calculates a constant value for cutting the peaks according to volume calculations of inner diagrams above the peak smoothing regions. That means, the volume at the final constant result value (//Volume (smooth)//) is equal with the volume derived from the peak (singularity) value (//Volume (peak)//) above the same peak smoothing region. Let’s see the next figure.(((
302 (% style="text-align:center" %)
303 [[image:1585287008134-672.png]]
306 Figure: Peak smoothing algorithm (modified inner force diagram)
307 [[image:1585287023608-906.png]]
309 Figure: Internal force “graph” and “section” diagrams after using peak smoothing algorithm
310 )))
312 |(% style="width:114px" %)[[image:light.png]]|(% style="width:1336px" %)(((
313 Although peak smoothing is available for internal and stress calculations of planar elements, you can solve the singularity peak problem of line reactions and line connection forces. The program calculates the average value of the reaction and connection forces by finite element. That means, line reactions and connection forces can be displayed with constant (average) value by element (**Distribution > Constant by element**). In this case, you can easily place **numeric values** onto the steps of a figure (//Numeric value> Find all local maximum/minimum//).
315 [[image:1585287117798-498.png]]
317 Figure: Singularity of line reaction force solved by simple display technique
318 )))
320 |(% style="width:114px" %)[[image:light.png]]|(% style="width:1336px" %)(((
321 It is important to select the correct peak smoothing method cause it has big effect to the results.
323 |**Don’t smooth**|[[image:1585287186374-338.png]]
324 |**Use constant shape function**|[[image:1585287190320-630.png]]
325 |**Use higher order shape functions**|[[image:1585287194562-855.png]]
327 **~ **
328 )))
330 = {{id name="Edit Functions"/}}Edit Functions =
332 There are numerous tools in the [[image:1585287244359-722.png]] tabmenu allow you to edit the finite element mesh generated automatically.
334 A short summary of the edit functions:
336 * adding additional nodes to the mesh ([[**Fixed point**>>||anchor="HAddingnodestomesh"]]),
337 * fixing lines inside the mesh ([[**Fixed line**>>||anchor="HFixinglinesofmesh"]]),
338 * editing peak smoothing regions or definition of new ones ([[**Peak smoothing region**>>||anchor="#HEditingpeaksmoothingregions"]]),
339 * fixing the node numbers on fixed lines ([[**Division number**>>||anchor="HDivisionnumber"]]),
340 * modifying the element number on bar elements ([[**Division number**>>||anchor="HDivisionnumber"]]),
341 * modifying the average element size of 2D finite elements ([[**Average element size**>>||anchor="HModifyingaverageelementsize"]]),
342 * refining mesh manually ([[**Refine**>>||anchor="HRefinemeshmanually"]]),
343 * splitting elements to modify finite element geometries ([[**Split**>>||anchor="HSplittingelements"]]),
344 * modifying node positions ([[**Move node**>>||anchor="HModifyingnodepositions"]]),
345 * deletion of mesh regions ([[**Delete**>>||anchor="HDeletionofmeshregions"]]).
347 After editing finite element mesh, you can do automatic mesh [[**object merge**>>||anchor="HObjectmerge"]], [[**rebuild**>>||anchor="HRebuild"]], [[**smooth**>>||anchor="HSmooth"]], **[[check>>||anchor="HCheck"]]// //**etc. processes with special tools of the [[image:1585287256085-995.png]] tabmenu. Mesh generation can be done by planar regions with the [[**Generate**>>||anchor="HGenerate28vs.Prepare29"]] tool.
349 == **Adding nodes to mesh** ==
351 With [[image:1585287279140-543.png]] //Fixed point//, nodes can be manually added to a predefined mesh in given points.
353 Click [[image:1585287286656-345.png]] //Prepare //to update the mesh according to the new nodes. Depending on [[**mesh settings**>>||anchor="HMeshSettings"]], the program automatically does refine, smooth and check processes to create an optimal mesh, if it is possible.
355 [[image:1585287292211-436.png]]
357 Figure: Adding nodes to a mesh
359 Fixed points defined in the model can be displayed with the //Geometrical system// object layer.
361 == **Fixing lines of mesh** ==
363 With [[image:1585287954466-742.png]] //Fixed line//, lines (straight and curved) can be fixed in a mesh to generate nodes on it.
365 Click [[image:1585287959782-521.png]] //Prepare //to update the mesh according to the new nodes. The program defines nodes in the line endpoints and some points on the lines. Depending on [[**mesh settings**>>||anchor="HMeshSettings"]], the program automatically does refine, smooth and check processes to create an optimal mesh, if it is possible. Further node distribution of the fixed line element can be influenced by the [[**Division number**>>||anchor="HDivisionnumber"]] command.
367 [[image:1585287965400-637.png]]
369 Figure: Adding lines to a mesh
371 Fixed points defined in the model can be displayed with the //Geometrical system// object layer. In brackets, the number of line elements can be seen defined by the [[**Division number**>>||anchor="HDivisionnumber"]] command. If “-“ is displayed, there is no restriction on the element number.
373 |(% style="width:107px" %)[[image:light.png]]|(% style="width:1383px" %)(((
374 //Fixed lines// display the intersection lines of structural regions (e.g. intersections of slabs and walls) too. This is very useful for defining holes/openings that connect accurately to finite element meshes (see the next figure).
376 [[image:1585288013712-282.png]]
378 Figure: Fixed lines used for editing regions
379 )))
381 == **Editing peak smoothing regions** ==
383 With [[image:1585288047632-266.png]] //Peak smoothing region//, the predefined peak smoothing regions can be edited (status, shape and size modification), or new ones can be defined manually.
385 The following functions can be done with the //Peak smoothing region// command:
387 * **Modifying the geometry of predefined peak smoothing region**
388 **Automatic generation** of peak smoothing region always results circular geometry of regions. If you would like to create regions with custom shape, draw a new one with the [[image:1585288062093-335.png]] //Define// tool and the different shape tools. If the new region covers an automatic one (and it is active, see later), the program will use the new region instead of the automatic one for solving the singularity.
389 \\[[image:1585288074885-792.png]]
390 Figure: Manually drawn peak smoothing regions with custom shape
391 \\Sometimes, you need to correct the geometry of automatic regions to avoid the creation of incorrect or too dense finite element mesh (nodes are generated in the intersections and on the edges of peak smoothing regions).
392 [[image:1585288106071-833.png]]
393 Figure: Geometry modification effect on finite element mesh generation
395 * **Creation of new peak smoothing regions manually**
396 With the [[image:1585288129599-768.png]] //Define// tool, totally new peak smoothing regions can be drawn with custom shapes, too.
398 * **Modifying the status of a predefined peak smoothing region**
399 Apply the [[image:1585288139912-894.png]] //Properties// tool and the [[image:1585288146598-298.png]]// // //Inactive// option for peak smoothing regions to modify their status from active to inactive. Inactive region will not be considered in mesh generations and in calculations too. To reset an inactive status of a region to an active one, apply the //Properties// tool together with the [[image:1585288151481-416.png]] //Active// option for the region.
400 \\[[image:1585288171988-523.png]]
401 \\Figure: Difference between active and inactive peak smoothing regions
403 Peak smoothing regions defined in the model are stored in the //Peak smoothing regions// object layer.
405 Click [[image:1585288199420-664.png]] //Prepare //to update the mesh according to the new and modified peak smoothing regions. Depending on [[**mesh settings**>>||anchor="HMeshSettings"]], the program automatically does refine, smooth and check processes to create an optimal mesh, if it is possible.
407 |(% style="width:139px" %)[[image:warning.png]]|(% style="width:1351px" %)It is not enough to generate/define peak smoothing regions, so you have to confirm the smoothing process in the //Calculate// dialog before starting any analysis (and design) calculations.
409 == **Division number** ==
411 Division number sets:
413 * the number of line finite elements of bar elements (columns and beams),
414 * the number of 2D element-edges on **fixed lines** and structural region edges.
416 In case of bar elements, the [[image:1585288251954-638.png]] //Division number //command can modify their default element number (value in brackets) set at **“Elements” setting**.
419 |(% style="width:135px" %)[[image:warning.png]]|(% style="width:1355px" %)(((
420 In 3D modules, the meaning of division number depends on the element type sets at calculations. For example division number 2 sets 2 line elements for //standard// element type and 4 line elements for //accurate// element type. The line elements together with their node numbers can only be displayed after analysis (or design) calculations (see **display settings**).
422 [[image:1585288295873-527.png]]
424 Figure: The meaning of division number for bar elements
425 )))
427 In case of fixed lines and structural region edges, the [[image:1585288312883-245.png]] //Division number //command can fix the **minimum number **of 2D elements (sides) will be connected to the lines/edges by the mesh generator. “//-//” label in brackets shows no number-restriction for lines/edges.
430 (% style="text-align:center" %)
431 [[image:1585288326184-183.png]]
433 (% style="text-align: center;" %)
434 Figure: The meaning of division number for fixed lines and edges
436 Defined division numbers together with fixed lines, edges and structural lines of bar elements are displayed with the //Geometrical system// object layer (red by default).
438 == **Modifying average element size** ==
440 The [[image:1585288340835-346.png]] //Average element size// command modifies the optimized element size(s) of 2D elements calculated by the program according to [[**mesh settings**>>||anchor="HMeshSettings"]].
442 Applying the command for a structural region (wall, plate etc.), a dialog shows with “//Automatic//” label, that the optimal element size calculation is the active by default for the region. Typing an arbitrary element size (in //a// field) overwrites the usage of the optimal size. Of course, the final average element size generates by the mixture of the value set by //Average element size// and the effect of [[**mesh settings**>>||anchor="HMeshSettings"]]. Inactivating all mesh generation automatism (refine, smooth and check processes together with “//Elements//” settings), the //a// value will be the average element size for the related structural regions.
444 Clicking //Calculate automatically// button shows the optimized average element size used when “//Automatic//” is set for the related object region(s).
446 (% style="text-align:center" %)
447 [[image:1585288350895-296.png]]
449 (% style="text-align: center;" %)
450 Figure: “Automatic” and custom average element size
452 Click [[image:1585288361094-923.png]] //Prepare //or [[image:1585288366123-445.png]] //Generate// (for the region only) to update the mesh according to the average element size setting.
454 == **Refine mesh manually** ==
456 A predefined finite element mesh can be refined manually. Apply the [[image:1585288386351-223.png]] //Refine// command to refine mesh parts by picking structural objects connect to the meshed region or by clicking directly finite elements.
458 * **Refine mesh around objects**
459 Activate first the [[image:1585288398312-746.png]] //Mark element mode//. Pick the checkbox of object types (e.g. //Region border//), which you would like to allow refining the mesh around. Select objects (e.g. Walls) assigned to allowed object types on the drawing area with [[image:1585288408768-538.png]] //Pick object//, or click [[image:1585288423970-581.png]] //Mark elements around all objects// to refine mesh around all objects belongs to the checked object types. Click [[image:1585288416837-733.png]] to start the refine process.
460 \\[[image:1585288435131-654.png]]
461 Figure: Refined finite element mesh around columns
463 * **Refine 2D elements**
464 Activate first the [[image:1585288484919-236.png]] //Mark element mode//. Select elements of a mesh on the drawing area with [[image:1585288499526-946.png]] //Pick element//, or click [[image:1585288494702-634.png]] //Mark all elements// to refine all finite elements of the project. Click [[image:1585288489206-393.png]] to start the refine process.
465 \\[[image:1585288469424-268.png]]
466 Figure: Refined finite elements (element-selection)
468 To deselect previously selected elements (before clicking [[image:1585288507568-696.png]] to start refine), switch to [[image:1585288512466-967.png]] //Unmark element mode// and do the same steps mentioned for selection.
470 == **Splitting elements** ==
472 2D finite elements can be refined according to splitting patterns, too. Start the [[image:1585288520863-370.png]] //Split// command, then chose a cut pattern, and finally select an element which you would like to apply the selected cut mode. Each pattern has a short description about its usage for rectangular and triangular 2D finite elements. At some splitting patterns, red “+” shows the click position in an element to get the requested splitting shapes.
474 (% style="text-align:center" %)
475 [[image:1585288526912-428.png]]
477 (% style="text-align: center;" %)
478 Figure: Element refinement manually with Split
480 == **Modifying node positions** ==
482 The position of mesh nodes can be modified with the [[image:1585288538861-676.png]] //Move node// command. Select node(s) you would like to move, and define the displacement vector with a start- and endpoint. The program sends an error message, if it finds nodes being out of legal moving range.
484 (% style="text-align:center" %)
485 [[image:1585288542726-249.png]]
487 (% style="text-align: center;" %)
488 Figure: Modifying node positions
490 == **Deletion of mesh regions** ==
492 With the [[image:1585288554070-747.png]] //Delete// command, predefined mesh of selected planar object (regions) can be deleted. Just select the required region(s) and the program erases the mesh.
494 |(% style="width:139px" %)[[image:warning.png]]|(% style="width:1351px" %)If you modify the geometry of an object region (e.g. by inserting a hole, by stretching one of region corners etc.), mesh assigned to it will be automatically deleted.
496 == **Object merge** ==
498 The **object merge process** can be run any time you want by clicking the [[image:1585288599273-228.png]] //Object merge// command button.
500 == **Rebuild** ==
502 After using manual tools (mentioned before) to edit the mesh generated automatically before, it is recommended to rebuild the mesh. The process rebuilds the current mesh of selected object regions according to the global optimum without the movement of mesh nodes.
504 The steps of the rebuild process are:
506 1. The program builds a mesh from triangular elements using the principles of Delaunay triangular technique.
507 1. It converts these triangles to quadrates corresponding to the global optimum of the mesh.
509 If the [[image:1585288608220-164.png]] //Rebuild// command results drastic changes in the mesh, **[[smoothing>>||anchor="HSmooth"]]** algorithm is also recommended. The best, the most optimal finite element meshes can be achieved with the iterative usage of the two commands.
511 == **Smooth** ==
513 Smooth process calculates the optimal coordinates of the corner element nodes. Smoothing the mesh is highly recommended after **[[splitting>>||anchor="HSplittingelements"]]** or **merging** elements. If the mesh is modified drastically after [[**rebuild**>>||anchor="HRebuild"]], use smoothing for the model. The best, the most optimal finite element meshes can be achieved with the iterative use of the //[[**rebuild**>>||anchor="HRebuild"]]// and the smoothing.
515 Just apply the [[image:1585288624531-314.png]] //Smooth// command for selected mesh regions. Mesh smoothing is executed with iteration technique: the procedure places the nodes of the triangular elements in such a way, that the area of the triangles will be balanced. The number of the smoothing iteration steps can be set at **“Functions > Smooth surface mesh” settings**.
517 |(% style="width:139px" %)[[image:warning.png]]|(% style="width:1351px" %)//Undo// cannot restore the mesh state before using //Smooth//.
519 == **Check** ==
521 After using manual tools (mentioned before) to edit the mesh generated automatically before, it is recommended to check the mesh. It can be done according to **“Functions > Check surface mesh” settings** any time you want by clicking the [[image:1585288657095-831.png]] //Check// command button.
523 (% style="text-align:center" %)
524 [[image:1585288661382-705.png]]
526 (% style="text-align: center;" %)
527 Figure: Topological errors found by Check
529 == **Generate (vs. Prepare)** ==
531 Automatic mesh generation can be done by planar object region with the [[image:1585288673372-600.png]] //Generate// command. (**Prepare** runs automatic mesh generation for the entire structural model.) //Generate //takes into consideration the manual editing functions (such as **Fixed point**, **Fixed line**, [[**Peak smoothing**>>||anchor="#HEditingpeaksmoothingregions"]], [[**Division number**>>||anchor="HDivisionnumber"]] and **Average element size**) and the [[**Mesh settings**>>||anchor="HMeshSettings"]] excluding the **Check**, the [[**Smooth**>>||anchor="HSmooth"]] and the **Prepare** settings. //Generate// is also recommended to find defective geometric finite elements by checking (generating mesh) regions by regions.
533 (% style="text-align:center" %)
534 [[image:1585288680554-394.png]]
536 (% style="text-align: center;" %)
537 Figure: Mesh generation by regions (Generate)
539 Mesh generation is an iteration process, of which goal is to generate optimal and eurhythmic mesh by the given or automatically calculated average element size. The main and general steps of the generation process are the following:
541 1. Defining the node positions of elements.
542 1. Creating triangle elements by nodes.
543 1. Converting triangle elements to mixed quadrate mesh where it is possible.
544 1. Optimization of node coordinates (e.g. smoothing the mesh).
545 1. Definition of middle points on element sides.
547 = {{id name="Renumbering and Display Settings"/}}Renumbering and Display Settings =
549 == **Renumbering** ==
551 Mesh generator automatically add numbers for finite elements and nodes. If you edit the mesh (e.g. adding new nodes and elements, mesh refinement etc.), you can rerun the renumbering process with the //Refresh numbering// command of the //Tools// menu.
553 == **Display settings** ==
555 The display style of node symbols and **peak smoothing** **regions**, the numbering of nodes and finite elements can be set at //Settings > All... > Display > Mesh//.
557 (% style="text-align:center" %)
558 [[image:1585285812099-766.png]]
560 (% style="text-align: center;" %)
561 Figure: Display settings of mesh items
563 * **2D finite elements**
564 Although 2D finite elements are displayed automatically after mesh generation (if the //Surface elements// object layer is active), the element numbers (//Number//) can be displayed only after **analysis// //**or **design** calculations. The nodes can be displayed with circle or cross symbols any time, but with numbers (//Number//) after analysis and design calculations.
565 [[image:1585285843194-343.png]]
566 \\Figure: Finite elements displayed with numbers and nodes
568 * **Line finite elements**
569 Line finite elements together with their numbers (//Number//) can be displayed only after **analysis// //**or **design** calculations, if the //Line elements// object layer is active. The nodes can be displayed with circle, cross symbols or with numbers (//Number//).
571 The color of the elements, nodes and peak smoothing regions depends on the color of their own object layer.
573 = {{id name="Error Handling"/}}Error Handling =
575 Warning and error messages assist you when problems appear in mesh creation functions, during analysis or design calculations.**cracked** But, how you can find the position of these cautions to solve them later?
577 The program points the geometrical and mesh errors, the load misplacements and any other problems in the model, and it collects their coordinates (in the //Global coordinate-system//) in an error/warning dialog.
579 [[image:1585285418327-736.png]]
581 Figure: Geometrical errors detected by the average element size calculation
Copyright 2020 StruSoft AB
FEM-Design Wiki