Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:geometry:mesh:1d

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:geometry:mesh:1d [2014/08/08 13:54] jorisdoc:user:geometry:mesh:1d [2016/03/30 15:23] (current) – external edit 127.0.0.1
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.0gencells=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 curved 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:
    
-First, a function "mesh element length" is defined, with the reduced curved abscissa as argument ($s\in[0,1]$).+First, a function "mesh element length" is defined, with the reduced curvilinear abscissa as argument ($s\in[0,1]$).
  
 <code> <code>
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.1407498877.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki