doc:user:geometry:mesh:1d
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:user:geometry:mesh:1d [2013/07/12 14:58] – joris | doc:user:geometry:mesh:1d [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | |
+ | ====== 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 '' |
- | ==== Mailleur | + | Automatic meshers create nodes and mesh cells from the geometry. Metafor meshers are quite basic but still useful to mesh simple |
- | Les mailleurs automatiques créent des mailles à partir de la géométrie. Les mailleurs intégrés dans Metafor ne sont pas très évolués mais ils rendent bien service lors du maillage de géométries simples et évitent l' | + | ===== Generating nodes (& cells) ===== |
- | :!: __Mailles vs Elements finis:__ Ne pas confondre la création du maillage et la création des éléments finis! Le maillage est composé de cellules purement géométriques. Un élément fini est une entité physique qui repose sur une maille. Dans Metafor, on procède en deux temps: d' | + | ==== SimpleMesher1D ==== |
- | Le maillage de lignes s'effectue via la commande | + | {{: |
+ | Basic meshing of '' | ||
- | | + | |
- | |'' | + | with |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
+ | |'' | ||
+ | {{: | ||
+ | Likewise, meshing at a higher degree (second or third): | ||
- | De manière analogue, le maillage au deuxième ou troisième degré se fait via: | + | |
- | | + | Note : The '' |
- | NB: Utilisation du paramètre '' | + | ==== Density mesher |
- | + | {{: | |
- | ==== Mailleur " | + | 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: |
- | + | ||
- | Le mailleur " | + | |
- | Création d'une fonction | + | First, a function |
< | < | ||
Line 37: | Line 40: | ||
</ | </ | ||
- | Création d'un mailleur " | + | Second, the density mesher is created on curve #1. |
< | < | ||
mesher = DensityMesher1D(curveset(1), | mesher = DensityMesher1D(curveset(1), | ||
- | mesher.setDeltaI(0.001) | + | mesher.setDeltaI(0.001) |
mesher.execute(False) | mesher.execute(False) | ||
</ | </ | ||
- | Le paramètre | + | The parameter |
- | === Mailleur | + | ==== HybridDensityMesher1D ==== |
+ | {{: | ||
+ | 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(ξ)0≤ξ≤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). | ||
- | La méthodologie de construire une grille de n intervalles sur une courbe commence par la spécification de la distribution des points sur cette dernière. Ceci revient à spécifier la distribution du paramètre de la courbe {u(\xi) \; 0 \leq \xi \leq n+1} dans l' | + | Finding the function |
- | + | ||
- | La recherche de la fonction | + | |
\xi(u) = \int_0^u \rho(w) dw. | \xi(u) = \int_0^u \rho(w) dw. | ||
- | Dans le cas hybride, un ensemble plus complexe de considérations physiques est pris en compte dans la construction | + | In the hydrid case, the construction |
- | * Distribution uniforme de la longueur d'arc où les points | + | * A uniform distribution of the arc length, where grid points |
- | * Distribution uniforme de la longueur d'arc pondérée par la courbure, où les points | + | * A uniform distribution of the arc length weighted by the curvature, where grid points |
- | * Attraction de la grille vers un point d'attraction u^{*} | + | * An attraction |
- | En pratique, il est plus que probable que l' | + | In practice, it is likely that the user wishes for an hybrid grid points |
- | \int_0^1 \rho_i(u) \, du = \xi(1)-\xi(0) = m. Etant donné les constantes positives | + | $\rho(u) = \sum_i \lambda_i \rho_i(u)$ |
+ | This hybrid density function migrates the grid points | ||
- | Finalement, si on donne les poids \lambda_s, \lambda_{\kappa}, | + | Finally, supplying: |
+ | * the weights | ||
+ | * the points \{u_i^* \; | \; 0 \leq u_i^* \leq 1, \; 1 \leq i \leq p\}, | ||
+ | * the weights | ||
+ | * the attraction | ||
+ | where \lambda_s+\lambda_{\kappa}+\sum_{i=1}^p \lambda_i =1, a distribution | ||
+ | * of a higher density close to the attraction | ||
+ | * positioned in areas where the curvature is large, | ||
+ | * positioned to avoid large differences on the arc length. | ||
- | Sous Metafor, | + | In Metafor, |
< | < | ||
Mesher = HybridDensityMesher1D(curveset(number), | Mesher = HybridDensityMesher1D(curveset(number), | ||
Line 72: | Line 84: | ||
</ | </ | ||
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
+ | To concentrate some mesh elements towards an attraction point, the follwoing command can be used before the '' | ||
- | Si on désire concentrer les mailles autour d'un point d' | ||
< | < | ||
Mesher.pushAttractorPt(uJ) | Mesher.pushAttractorPt(uJ) | ||
Line 87: | Line 99: | ||
</ | </ | ||
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | ===== Mailles 1D ===== | + | |
- | ==== Mailles 1D : création manuelle | + | ===== Generating cells alone ===== |
- | Pour créer manuellement une maille | + | Generating cells is only useful if you plan to define |
+ | |||
+ | ==== Manual definition ==== | ||
+ | {{:doc: | ||
+ | To manually create a 1D cell based on two mesh points, | ||
mesh.define(no, | mesh.define(no, | ||
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | + | ||
- | ==== Mailles 1D : CellLineMesher ==== | + | |
- | + | ||
- | Pour générer des mailles 1D à partir de deux ensembles de points de maillage, il existe le '' | + | |
- | + | ||
- | Le '' | + | |
- | L''' | + | ==== CellLineMesher ==== |
+ | {{: | ||
+ | The '' | ||
+ | The '' | ||
+ | The '' | ||
- | __Exemple:__ | + | __Example:__ |
- | Génération de '' | + | Generation of '' |
mesher = CellLineMesher(groupset(no1), | mesher = CellLineMesher(groupset(no1), | ||
Line 121: | Line 134: | ||
... | ... | ||
app = FieldApplicator(no) | app = FieldApplicator(no) | ||
- | app.push(groupset(no1)) | + | app.push(groupset(no1)) |
+ | # '' | ||
doc/user/geometry/mesh/1d.1373633908.txt.gz · Last modified: 2016/03/30 15:22 (external edit)