# Metafor

ULiege - Aerospace & Mechanical Engineering

### Site Tools

doc:user:geometry:mesh:1d

# Differences

This shows you the differences between two versions of the page.

Link to this comparison view

 doc:user:geometry:mesh:1d [2014/10/08 13:29] – joris doc:user:geometry:mesh:1d [2016/03/30 15:23] (current) – external edit 127.0.0.1 Both sides previous revisionPrevious revision2016/03/30 15:23 external edit2015/02/18 11:09 ziane [SimpleMesher1D] 2015/01/08 15:27 boman [1D Meshers] 2015/01/07 18:13 boman [Generating cells alone] 2015/01/07 18:12 boman [SimpleMesher1D] 2015/01/07 18:11 boman 2015/01/07 18:09 boman [1D Meshers] 2015/01/07 18:08 boman [1D Meshers] 2015/01/07 18:07 boman 2015/01/07 17:55 boman [Simple mesher - SimpleMesher1D] 2015/01/07 17:54 boman [Density mesher - DensityMesher1D] 2015/01/07 17:53 boman [1D mesh elements : CellLineMesher] 2015/01/07 17:52 boman [1D mesh elements : CellLineMesher] 2015/01/07 17:52 boman [1D mesh elements : manually] 2014/10/08 13:29 joris 2014/08/08 13:54 joris 2014/08/08 13:53 joris 2013/07/12 14:58 joris 2013/07/12 14:09 external editNext revision Previous revision2016/03/30 15:23 external edit2015/02/18 11:09 ziane [SimpleMesher1D] 2015/01/08 15:27 boman [1D Meshers] 2015/01/07 18:13 boman [Generating cells alone] 2015/01/07 18:12 boman [SimpleMesher1D] 2015/01/07 18:11 boman 2015/01/07 18:09 boman [1D Meshers] 2015/01/07 18:08 boman [1D Meshers] 2015/01/07 18:07 boman 2015/01/07 17:55 boman [Simple mesher - SimpleMesher1D] 2015/01/07 17:54 boman [Density mesher - DensityMesher1D] 2015/01/07 17:53 boman [1D mesh elements : CellLineMesher] 2015/01/07 17:52 boman [1D mesh elements : CellLineMesher] 2015/01/07 17:52 boman [1D mesh elements : manually] 2014/10/08 13:29 joris 2014/08/08 13:54 joris 2014/08/08 13:53 joris 2013/07/12 14:58 joris 2013/07/12 14:09 external edit Line 1: Line 1: - ﻿====== 1D Meshers ====== + ﻿ + ====== 1D Meshers (Curves) ====== - ===== MeshedPoints ===== + FIXME __Mesh Elements versus Finite Elements__: these two notions are different and should not be misunderstood. A mesh is made of geometric cells, the mesh elements. A finite element is a physical entity, which is supported by a mesh element. In Metafor, this is a two-steps method: first, the mesh is created, then the finite elements are applied to the mesh (this second step is done once the integration is started and programmed in the ''InteractionSet''). - ==== Simple mesher - SimpleMesher1D ==== + Automatic meshers create nodes and mesh cells from the geometry. Metafor meshers are quite basic but still useful to mesh simple geometries, to avoid using external software. - Automatic meshers create mesh elements from the geometry. Metafor meshers are quite basic but still useful to mesh simple geometries, to avoid using external softwares. + ===== Generating nodes (& cells) ===== - :!: __Mesh Elements versus Finite Elements__: these two notions are different and should not be misunderstood. A mesh is made of geometric cells, the mesh elements. A finite element is a physical entity, which is supported by a mesh element. In Metafor, this is a two-steps method: first, the mesh is created, then the finite elements are applied to the mesh (this second step is done once the integration is started and programmed in the ''InteractionSet''). + ==== SimpleMesher1D ==== - Meshing lines is done with the command: + {{:doc:user:ico-beginner.png?40 |Beginner}} + Basic meshing of ''Curves'' can be done with the following command: - SimpleMesher1D(curveset(number)).execute(ne, d, cells) + SimpleMesher1D(curve).execute(ne, d=1.0, gencells=False) - |''number'' | number of the line to be meshed | + with - |''ne'' | number of segments | + |''curve''    | [''Curve''] | the curve to be meshed | - |''d''  | distribution (ratio between the length of the last and first segments) -  [default=1.0] | + |''ne''       | [''int'']   | number of segments | - |''cells'' | Boolean which governs whether 1D meshed elements should be generated [default=False] | + |''d''        | [''float''] | distribution (ratio between the length of the last and first segments) | + |''gencells'' {{:doc:user:ico-advanced.png?18|Advanced}} | [''bool'']  | generate mesh cells (e.g. for 1D springs)  | + {{:doc:user:ico-advanced.png?40 |Advanced}} Likewise, meshing at a higher degree (second or third): Likewise, meshing at a higher degree (second or third): HighDegreeSimpleMesher1D(curveset(number), degree).execute(ne, d, cells) HighDegreeSimpleMesher1D(curveset(number), degree).execute(ne, d, cells) - Note : The ''d'' parameters is used to create segments ''d'' times smaller at the beginning of the curve than at its end. Therefore, the curve orientation matters. + Note : The ''d'' parameter is used to create segments ''d'' times smaller at the beginning of the curve than at its end. Therefore, the curve orientation matters. ==== Density mesher - DensityMesher1D ==== ==== Density mesher - DensityMesher1D ==== + {{:doc:user:ico-advanced.png?40 |Advanced}} The density mesher is used to mesh a line while specifying the length of the desired segment as a function of the curvilinear abscissa. This is done in two steps: The density mesher is used to mesh a line while specifying the length of the desired segment as a function of the curvilinear abscissa. This is done in two steps: Line 46: Line 50: The parameter ''False'', passed to ''execute'', is used to generate only nodes, and not segments. This is important to be consistent with 2D meshing and for defo-defo contact. The parameter ''False'', passed to ''execute'', is used to generate only nodes, and not segments. This is important to be consistent with 2D meshing and for defo-defo contact. - === HybridDensityMesher1D === + ==== HybridDensityMesher1D ==== + {{:doc:user:ico-advanced.png?40 |Advanced}} The way to create a grid of $n$ intervals on a curve starts with specifying the distribution of points on this curve. This is done by specifying the distribution of the curve parameter ${u(\xi) \; 0 \leq \xi \leq n+1}$ in the parametric domain, corresponding to the points of the curve ${\boldsymbol{x}(u) \; 0 \leq u \leq 1}$ in the physical domain. The final task is to specify ${u(\xi) \; 0 \leq \xi \leq n+1}$ such as ${\boldsymbol{x}(u(\xi)) \; 0 \leq \xi \leq n+1}$ is a good parametrization of the curve $\boldsymbol{x}(u)$. The way to create a grid of $n$ intervals on a curve starts with specifying the distribution of points on this curve. This is done by specifying the distribution of the curve parameter ${u(\xi) \; 0 \leq \xi \leq n+1}$ in the parametric domain, corresponding to the points of the curve ${\boldsymbol{x}(u) \; 0 \leq u \leq 1}$ in the physical domain. The final task is to specify ${u(\xi) \; 0 \leq \xi \leq n+1}$ such as ${\boldsymbol{x}(u(\xi)) \; 0 \leq \xi \leq n+1}$ is a good parametrization of the curve $\boldsymbol{x}(u)$. Line 99: Line 103: |''kJ'' |attraction factor| |''kJ'' |attraction factor| - ===== 1D Mesh elements ===== + ===== Generating cells alone ===== - ==== 1D mesh elements : manually ==== + Generating cells is only useful if you plan to define 1D elements (such as springs) in your model. - To manually create a 1D mesh element based on two mesh points, + ==== Manual definition ==== + {{:doc:user:ico-advanced.png?40 |Advanced}} + To manually create a 1D cell based on two mesh points, mesh.define(no, CELL_LINE, grp, no1, no2) mesh.define(no, CELL_LINE, grp, no1, no2) - | ''no'' | number of the 1D mesh element | + | ''no''  | number of the 1D cell | | ''grp'' | entity which will contain the mesh element (for example a ''[[doc:user:geometry:user:selections|Group]]'') | | ''grp'' | entity which will contain the mesh element (for example a ''[[doc:user:geometry:user:selections|Group]]'') | - | ''no1'' | number of the first mesh point | + | ''pt1'' | first mesh point | - | ''no2'' | number of the second mesh point | + | ''pt2'' | second mesh point | - + - ==== 1D mesh elements : CellLineMesher ==== + - The ''CellLineMesher'' can also generate a 1D mesh element based on two sets of mesh points. + ==== CellLineMesher ==== + {{:doc:user:ico-advanced.png?40 |Advanced}} + The ''CellLineMesher'' is used to generate a series of 1D cells linking two sets of mesh points. - The ''CellLineMesher'' is a mesher which, based on two meshed geometric entities, generates objects of ''CELL_LINE'' type in the topology. Every ''MeshPoint'' of the first entity will be linked by a ''CELL_LINE'' to every ''MeshPoint'' of the second entity. + The ''CellLineMesher'' is a mesher which, based on two meshed geometric entities, generates objects of ''CELL_LINE'' type. Every mesh point of the first entity will be linked by a ''CELL_LINE'' to every ''MeshPoint'' of the second entity. The ''interaction'' generated on these ''CELL_LINE'' will be defined by the first geometric entity passed to the ''CellLineMesher''. The ''interaction'' generated on these ''CELL_LINE'' will be defined by the first geometric entity passed to the ''CellLineMesher''. Line 128: Line 134: ... ... app = FieldApplicator(no) app = FieldApplicator(no) - app.push(groupset(no1))   # Definition of the element on the first ''CellLineMesher'' entity + app.push(groupset(no1))   # Definition of the element on the first + # ''CellLineMesher'' entity
doc/user/geometry/mesh/1d.1412767757.txt.gz · Last modified: 2016/03/30 15:22 (external edit)