This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
interface [2022/05/11 13:19] calogero [.gtl file] |
interface [2024/02/07 14:25] (current) calogero [Programation tips] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Implemented by Calogero Gallo 2021 | ||
+ | |||
+ | [[interface:first_start|First start]] | ||
+ | |||
====== Gmsh ====== | ====== Gmsh ====== | ||
Line 24: | Line 28: | ||
- 3.Nodes => Add nodes to the list of nodes (they have no condition or mesh), these are usefull for specific case that can't be created in Gmsh. | - 3.Nodes => Add nodes to the list of nodes (they have no condition or mesh), these are usefull for specific case that can't be created in Gmsh. | ||
+ | |||
+ | - 4.Fixed => possible to fix node created in gtl file | ||
- 5.Degrees of freedom (DOF) renumbering | - 5.Degrees of freedom (DOF) renumbering | ||
Line 60: | Line 66: | ||
^Value definition (G10.0)^^ | ^Value definition (G10.0)^^ | ||
- | Sometimes there are more than 3 DOF, using this option, it is possible to impose the value of the DOF. | + | Sometimes there are more than 3 DOF, using this option, it is possible to impose the value of the DOF. It can be useful for a 2D thermal analysis. |
=== 4. Gravity definition === | === 4. Gravity definition === | ||
Line 95: | Line 101: | ||
- | Not yet developped. | ||
=== 10. Setting of the initial speeds in dynamics === | === 10. Setting of the initial speeds in dynamics === | ||
Line 141: | Line 146: | ||
^group definition (I2)^^ | ^group definition (I2)^^ | ||
- | This section is construction dependant => The sens of the curve loop which creates the surface is important, Gmsh will keep the sens of creation to define the numbering of the segments. | + | This section is construction dependant => The sens of the curve loop which creates the surface is important, Gmsh will keep the sens of creation to define the numbering of the segments. The way of defining a surface will represent the normal of it. |
{{ :interface:normal_fondation.jpg?nolink&600 |}} | {{ :interface:normal_fondation.jpg?nolink&600 |}} | ||
Line 149: | Line 154: | ||
=== 17. Elements === | === 17. Elements === | ||
- | BLZ3D and CFI3D are the only possibility for the moment. | + | List of elements developped : |
+ | * BLZ3D (3D case) | ||
+ | * CFI3D (interface element in 3D => surface) | ||
+ | * BINDS (element with non specifical dimension) | ||
+ | * BLZ2T (2D case) | ||
+ | * CONRA (interface element in 2D => line/curve) | ||
+ | * SUCHA (see [[interface:sucha|SUCHA for G2L]]) | ||
+ | - | ||
+ | |||
+ | To developped other elements, it can be done by nearly doing a copy and paste of these examples. | ||
^ Elem type (A5) ^^ | ^ Elem type (A5) ^^ | ||
Line 171: | Line 185: | ||
- | CFI3D elements keep the same principle, the only difference is that the physical groupe has to be a physical SURFACE named CFI3DXX (where XX represents a group of CFI3D) | + | CFI3D elements keep the same principle, the only difference is that the physical group has to be a physical SURFACE named CFI3DXX (where XX represents a group of CFI3D) |
Line 192: | Line 206: | ||
==== Transition macro ==== | ==== Transition macro ==== | ||
- | These macro are developped in Gmsh, the idea is to get a well structured transition to reduce as much as possible the number of elements. | + | These macro are developed in Gmsh, the idea is to get a well-structured transition to reduce as much as possible the number of elements. To determine exactly the transition, some parameters are needed : |
+ | |||
+ | - the position of two points (see Figure below) | ||
+ | - the length of the upside | ||
+ | - the length of the downside | ||
+ | - the number of element on the raffine side (upside) (must be a multiple of 3) | ||
+ | - the number of transition between the down and up | ||
+ | |||
+ | {{ :interface:image_transition.jpg?nolink&400 |}} | ||
+ | |||
+ | It is possible to keep nodes duplicated, or avoid them by using "Coherence;" or "Coherence Mesh;" | ||
+ | |||
+ | {{ :interface:test1.rar |}} | ||
+ | |||
+ | {{ :test2_rotation.rar |}} | ||
+ | |||
+ | {{ ::test4_cylinder.rar |}} | ||
+ | ==== Listing for .dep/.loa files ==== | ||
+ | |||
+ | Using "LISTE" as name of physical group, the interface will create a .txt file with a list of all the nodes which belongs to the physical group. | ||
====== Exemple ====== | ====== Exemple ====== | ||
Line 207: | Line 241: | ||
{{ :interface:binds_rolling_support.rar |}} | {{ :interface:binds_rolling_support.rar |}} | ||
+ | |||
+ | |||
+ | ====== Programation tips ====== | ||
+ | |||
+ | GMSH is a powerful tool, but due to its completness it is not always easy to find some informations. There exists a where people can directly ask question to developpers [[https://gitlab.onelab.info/gmsh/gmsh/-/issues]]. There exists also a place where archives are stored [[https://onelab.info/pipermail/gmsh/]], this place is not very friendly to find a subject (it is better to use google with a research that looks like "GMSH XXX" where XXX represents the subject, better to try all the possibilities). | ||
+ | |||
+ | |||
+ | Below you can find a list of all questions that were looking very interesting : | ||
+ | |||
+ | - **Modify .geo trough python** : [[https://onelab.info/pipermail/gmsh/2011/006588.html]] | ||
+ | - **Avoid duplicate geometry/mesh** : [[https://gitlab.onelab.info/gmsh/gmsh/-/issues/983]] | ||
+ |