|
[Sponsors] |
March 30, 2010, 18:27 |
mesh file for flow over a circular cylinder
|
#1 |
Member
Ardalan
Join Date: Feb 2010
Location: Baku
Posts: 50
Rep Power: 16 |
-I'm looking for a 2d tetrahedral structured mesh for flow over a cylinder
can anyone provide me with the mesh file? I want to use it in my code written in fortran -Is there any website where the mesh files (coordinates of mesh nodes) for common simple flow situations (such a flow over a cylinder, airfoils,...) can be find? -I've tried to mesh using Gambit but it doesn't reach a good quality for numerical solution. also I have problem using the data (coordinates of nodes) because gambit doesn't give them in order which is suitable. the mesh point numbers are ordered by the order of their creation. - Assuming some node coordinates are given, do you have any idea about an algorithm to sort them? maybe if I can write such an code, my problem with gambit can be solved! Please help me with the 4 cases mentioned above. |
|
April 3, 2010, 18:11 |
|
#2 |
Member
Ardalan
Join Date: Feb 2010
Location: Baku
Posts: 50
Rep Power: 16 |
any answers?
I mean if we have coordinates of vertices in a structured mesh, how can we determine which vertices are neighbors and connected to each other? In other words how can we sort the vertices of input mesh? |
|
April 15, 2010, 17:54 |
Grids on an airfoil or cylinder
|
#3 |
Member
Ardalan
Join Date: Feb 2010
Location: Baku
Posts: 50
Rep Power: 16 |
Does anyone know a free fortran code which generates structured grids, (C, H or o-mesh but H-mesh is preferable for me) with good quality over an airfoil or cylinder?
|
|
April 16, 2010, 02:17 |
|
#4 |
Member
L.Y LIN
Join Date: Mar 2010
Posts: 49
Rep Power: 16 |
hi,i think we are doing the similar thing recently.i am using unstructured grids for this problem,and i get structured grids from gambit.i do not know wheather *.mesh file is for the structured grids.in my case ,i used *.neu file and it will give me unstructured information.so maybe you should use *.mesh?...my guess
|
|
April 16, 2010, 05:20 |
|
#5 |
Member
Ardalan
Join Date: Feb 2010
Location: Baku
Posts: 50
Rep Power: 16 |
Hi
thanks for your response May I ask you how you use your mesh file in your code? for example which file format do you use to export your mesh information to your code? I want to use only mesh points coordinates but I don't know how to use them! as I mentioned in the forum gambit doesn't give them in order which is suitable. the mesh point numbers are ordered by the order of their creation. I mean I'm seeking for a format which gives mesh cells orderly and also gives its four vertices. In the unstructured case, assuming you have the mesh nodes coordinates, how do you know how are the connected which cells are neighbor of each other? |
|
April 16, 2010, 13:16 |
|
#6 |
Senior Member
|
Neutral-File Format
PROGRAM CREATE_NEUTRAL_FILE C C THIS IS A PSEUDO-FORTRAN PROGRAM WHICH DESCRIBES THE FORTRAN C WRITE STATEMENTS THAT MAY USED TO CREATE A FIDAP NEUTRAL FILE. C IMPLICIT DOUBLE PRECISION (A-H,O-Z) C C MAXIMUM NUMBER OF NODAL POINTS PARAMETER (NUMNP=10000) C MAXIMUM NUMBER OF SPECIES EQUATIONS PARAMETER (MAXSPC=15) C NO. OF COORDINATE DIMENSIONS (2 OR 3) PARAMETER (NDFCD=3) C NO. OF VELOCITY COMPONENTS (2 OR 3) PARAMETER (NDFVL=3) C DIMENSION XYZ(NDFCD,NUMNP), T(NUMNP), UF(NDFVL,NUMNP), DEN(NUMNP) DIMENSION P(NUMNP),TRBK(NUMNP),TRBE(NUMNP), SPEC(NUMNP,MAXSPC) DIMENSION NODE(27),ITMP(25) CHARACTER HEDNUT*80, HED*80, DAT*10, TIM*10 C C NEUTRAL FILE UNIT NUMBER INEUT = 10 C MAXIMUM NUMBER OF SPECIES EQUATIONS MAXSPC = 15 C C C O N T R O L I N F O R M A T I O N C C RECORD 1: NEUTRAL FILE HEADER C ------------------------------- C HEDNUT: string of the form '**bFIDAPbNEUTRALbFILE' C C the b's in the above title represent blanks. C C FORMAT: (A) C C RECORD 2: USER-DEFINED TITLE C ------------------------------ C HED: 80 character title C C FORMAT: (A80) C C RECORD 3: REVISION LEVEL C ------------------------------ C REVL: FIDAP REVISION LEVEL, SHOULD BE SET TO 7.0 C C FORMAT: ('VERSION ',F5.2) C C RECORD 4: DATE AND TIME RECORD C -------------------------------- C DATE: DATE C TIME: TIME C C FORMAT: (A10,2X,A10) C C RECORDS 5 & 6: PROBLEM SIZE PARAMETERS C ---------------------------------------- C NUMNP, NELEM, NGRPS, NDFCD, NDFVL C C NUMNP: TOTAL NUMBER OF NODAL POINTS IN THE MESH C NELEM: TOTAL NUMBER OF ELEMENTS IN THE MESH C NGRPS: NUMBER OF ELEMENT GROUPS C NDFCD: NUMBER OF COORDINATE DIRECTIONS (2 or 3) C NDFVL: NUMBER OF VELOCITY COMPONENTS (2 or 3) C C FORMAT: (/5I15) C C RECORD 7 & 8: RESULTS FLAGS C ----------------------------- C ITIM, ITURB, IFREE, ICOMPR C C ITIM: STEADY (0) / TRANSIENT (1) FLAG C ITURB: LAMINAR (0) / k-E TURBULENCE (2) FLAG C IFREE: FIXED (0) / FREE SURFACE (1) FLAG C ICOMPR: INCOMPRESSIBLE (0) / COMPRESSIBLE (2) FLAG C C FORMAT: (/4I15) C C If there are no results on the Neutral File these flags C may all be set to zero C C RECORD 9 & 10: TRANSPORT EQUATION SOLUTION FLAGS C ------------------------------------------------- C (ITMP(I),I=1,MAXSPC+1) C C ITMP(N): TRANSPORT EQUATION FLAG C = 0 TRANSPORT EQUATION SOLUTION NOT PRESENT C = 2 TRANSPORT EQUATION SOLUTION PRESENT C C N = 0 ; ENERGY EQUATION (TEMPERATURE) C N = I ; SPECIES EQUATION I-1 C C FORMAT: (/16I2) C C If there are no results on the Neutral File these flags C may all be set to zero C C RECORD 11 & 12: PRESSURE SOLUTION FLAGS C ---------------------------------------- C IDCTS, IPENY, MPDF C C IDCTS: CONTINUOUS (0) / DISCONTINUOUS (1) FLAG C IPENY: PENALTY (0) / MIXED (1) FLAG C MPDF : MAXIMUM NO. OF PRESSURE DEGREES OF FREEDOM PER C ELEMENT C C FORMAT: (/3I10) C C If there are no results on the Neutral File these flags C may all be set to zero C WRITE (INEUT,'(A)') '** FIDAP NEUTRAL FILE ' WRITE (INEUT,'(A)') HED REVL = 7.0 WRITE (INEUT,'(''VERSION '',F5.2)') REVL DAT = 'MM/DD/YY' TIM = 'HH:MM:SS' WRITE (INEUT,'(A10,2X,A10)') WRITE (INEUT,'(/5I15)') NUMNP, NELEM, NGRPS, NDFCD, NDFVL WRITE (INEUT,'(/4I15)') ITIM, ITURB, IFREE, ICOMPR WRITE (INEUT,'(/40I2)') (ITMP(I),I=1,MAXSPC+1) WRITE (INEUT,'(/3I10)') IDCTS, IPENY, MPDF C C N O D A L C O O R D I N A T E S C C Each nodal coordinate occupies one record of the form C C N, X, Y, Z C C where N is the node number and (X,Y,Z) are its coordinates C in a global cartesian system. C There must be NUMNP such records. The first nodal record C is preceded by a NODAL header record. C WRITE (INEUT,'(''NODAL COORDINATES'')') DO 100 N=1,NUMNP WRITE (INEUT,'(I10,3E20.10)') NOD(N), (XYZ(I,N),I=1,NDFCD) 100 CONTINUE C C B O U N D A R Y and I N I T I A L C O N D I T I O N S C C This section of the Neutral File is optional. C FIDAP initial and boundary conditions are input in this section. C C The first boundary conditions record is preceded by a header C record. C WRITE (INEUT,'(''BOUNDARY CONDITIONS'')') C C Each group of initial or boundary conditions is preceded by a C header record which determines its type. C C IBCODE, IV1, IV2, DISTA C C IBCODE: C = 0, END OF BOUNDARY CONDITIONS C = 1, NODAL BOUNDARY CONDITIONS C = 2, FLUX BOUNDARY CONDITIONS C = 3, PERIODIC BOUNDARY CONDITIONS C = 4, NOT USED C = 5, INITIAL CONDITIONS C C The interpretation of IV1, IV2 and DISTA depends on IBCODE and is C summarized below. C More detailed information on the various variables described C below can be found in Chapter 6 of the FIPREP Users Manual in C the sections on the C 200 WRITE (INEUT,'(3I10,E20.10)') IBCODE,IV1,IV2,DISTA C IF (IBCODE.EQ.0) THEN C END OF BOUNDARY AND INITIAL CONDITIONS GO TO 260 C ELSEIF (IBCODE.EQ.1) THEN C C NODAL BOUNDARY CONDITIONS C C IV1: FREE OR FIX BOUNDARY CONDITION FLAG C = 0, FREE BOUNDARY CONDITION C = 1, SET BOUNDARY CONDITION C C IV2: DEGREE OF FREEDOM FLAG C = 1, U COMPONENT OF VELOCITY C = 2, V COMPONENT OF VELOCITY C = 3, W COMPONENT OF VELOCITY C = 4, PRESSURE C = 5, TEMPERATURE C = 6, FREE SURFACE POSITION C = 7, TURBULENT KINETIC ENERGY C = 8, TURBULENT DISSIPATION C = 9, SPECIES 1 C = 10, SPECIES 2 C = ., . C = 23, SPECIES 15 C = 100, VELOCITY C = 101, CONTACT ANGLE C = 102, COORDINATES C C DISTA: NOT USED (SHOULD BE SET TO ZERO) C C NVAL: NUMBER OF VALUES TO READ FROM SUBSEQUENT RECORDS C UNTIL FIRST VALUE (VAL(1)) ON A RECORD IS ZERO C C VAL(1): NOD - NODE NUMBER AT WHICH TO APPLY BOUNDARY CONDITION C VAL(2): VAL - VALUE OF SPECIFIED DEGREE OF FREEDOM C VAL(3): NCUR - TIME FUNCTION CURVE NUMBER C VAL(4): FAC - MULTIPLICATIVE FACTOR FOR TIME FUNCTION C NVAL = 1 + IV1*3 210 WRITE (INEUT,'(5E16.9)') (VAL(I),I=1,NVAL) IF (VAL(1).NE.0) GO TO 210 GO TO 200 C ELSEIF (IBCODE.EQ.2) THEN C C FLUX BOUNDARY CONDITIONS C C IV1: DEGREE OF FREEDOM FLAG C = 1, X COMPONENT OF STRESS C = 2, Y COMPONENT OF STRESS C = 3, Z COMPONENT OF STRESS C = 4, NOT USED C = 5, HEAT FLUX C = 6, NOT USED C = 7, TURBULENT KINETIC ENERGY FLUX C = 8, TURBULENT DISSIPATION FLUX C = 9, SPECIES 1 C = 10, SPECIES 2 C = ., . C = 23, SPECIES 15 C C IV2: NDS - NUMBER OF NODES ON ELEMENT SIDE(FACE) TO C WHICH FLUX IS BEING APPLIED C C DISTA: NOT USED (SHOULD BE SET TO ZERO) C C NVAL: NUMBER OF VALUES TO READ FROM SUBSEQUENT RECORDS C UNTIL FIRST VALUE (VAL(1)) ON A RECORD IS ZERO C C VAL(1): NOD(1) - FIRST NODE NUMBER DEFINING ELEMENT SIDE(FACE) C TO WHICH FLUX IS BEING APPLIED C .. .. .. C VAL(NDS): NOD(NDS) - LAST NODE NUMBER DEFINING ELEMENT C SIDE(FACE) TO WHICH FLUX IS BEING APPLIED C C VAL(NDS+1): GENERATOR PARAMETER; NOT CURRENTLY USED, MUST BE C SET TO ZERO C C VAL(NDS+2): VAL(1) - VALUE OF SPECIFIED FLUX AT NOD(1) C .. .. .. C VAL(NDS*2+1): VAL(NDS) - VALUE OF SPECIFIED FLUX AT NOD(NDS) C C VAL(NDS*2+2): NCUR - TIME FUNCTION CURVE NUMBER C VAL(NDS*2+3): FAC - MULTIPLICATIVE FACTOR FOR TIME FUNCTION C NVAL = 2*IV2 + 3 220 WRITE (INEUT,'(5E16.9)') (VAL(I),I=1,NVAL) IF (VAL(1).NE.0) GO TO 220 GO TO 200 C ELSEIF (IBCODE.EQ.3) THEN C C PERIODIC BOUNDARY CONDITIONS C C IV1: ANTI-PERIODIC FLAG C = LMN, L=1 NORMAL COMPONENT ANTI-PERIODIC C M=1 FIRST TANGENTIAL COMPONENT ANTI-PERIODIC C N=1 SECOND TANGENTIAL COMPONENT ANTI-PERIODIC C C IV2: PERIODIC TYPE FLAG C = 0, ALL DOF'S C = 1, ONLY VELOCITY DOF'S C C DISTA NOT USED; SHOULD BE SET TO ZERO C C NVAL: NUMBER OF VALUES TO READ FROM SUBSEQUENT RECORDS UNTIL C FIRST VALUE (VAL(1)) ON A RECORD IS ZERO (MUST BE 2) C C VAL(1): NOD1 - NODE NUMBER OF NODE TO WHICH NOD2 IS PERIODIC C VAL(2): NOD2 - NODE NUMBER OF NODE WHICH IS PERIODIC WITH NOD1 C NVAL = 2 230 WRITE (INEUT,'(5E16.9)') (VAL(I),I=1,NVAL) IF (VAL(1).NE.0) GO TO 230 GO TO 200 C ELSEIF (IBCODE.EQ.5) THEN C C NODAL INITIAL CONDITIONS C C IV1: NUMBER OF VALUES LESS TWO TO READ FROM SUBSEQUENT C RECORDS UNTIL FIRST VALUE (VAL(1)) ON A RECORD IS ZERO C C IV2: DEGREE OF FREEDOM FLAG C = 1, U COMPONENT OF VELOCITY C = 2, V COMPONENT OF VELOCITY C = 3, W COMPONENT OF VELOCITY C = 4, PRESSURE C = 5, TEMPERATURE C = 6, FREE SURFACE POSITION C = 7, TURBULENT KINETIC ENERGY C = 8, TURBULENT DISSIPATION C = 9, SPECIES 1 C = 10, SPECIES 2 C = ., . C = 23, SPECIES 15 C = 100, VELOCITY COMPONENTS C C DISTA: NOT USED (SHOULD BE SET TO ZERO) C C VAL(1): NODE NUMBER AT WHICH TO APPLY INITIAL CONDITION C C VAL(2): NOT USED (SHOULD BE SET TO ZERO) C C VAL(3): INITIAL VALUE OF SPECIFIED DEGREE OF FREEDOM, OR C INITIAL VALUE OF X VELOCITY COMPONENT (NDF=100 ONLY) C VAL(4): INITIAL VALUE OF Y VELOCITY COMPONENT (NDF=100 ONLY) C VAL(5): INITIAL VALUE OF Z VELOCITY COMPONENT (NDF=100 ONLY) C NVAL = IV1 + 2 250 WRITE (INEUT,'(5E16.9)') (VAL(I),I=1,NVAL) IF (VAL(1).NE.0) GO TO 250 GO TO 200 C ENDIF C C E L E M E N T G R O U P I N F O R M A T I O N C C There must be information input for NGRPS element groups. C The first element group is preceded by a header record. C WRITE (INEUT,'(''ELEMENT GROUPS'')') C 260 DO 300 NG=1,NGRPS C C ELEMENT GROUP CONTROL INFORMATION RECORD C ---------------------------------------- C NGP, NELGP, NDP, IGEOM, NFTYP C C NGP: ELEMENT GROUP NUMBER C NELGP: NUMBER OF ELEMENTS IN GROUP C NDP: NUMBER OF NODES PER ELEMENT IN GROUP C C IGEOM: ELEMENT GEOMETRY C = 0 EDGE (2-D), FACE(3-D) C = 1 QUADRILATERAL C = 2 TRIANGLE C = 3 BRICK C = 4 WEDGE C = 5 TETRAHEDRON C C NFTYP: FIDAP ELEMENT TYPE C = 1 , QUADRILATERAL C = 2 , TRIANGLE C = 3 , BRICK C = 4 , WEDGE C = 5 , TETRAHEDRON C = 11 , BOUNDARY RADIATION ELEMENT C = 12 , BOUNDARY CONVECTION ELEMENT C = 13 , BOUNDARY SLIP ELEMENT C = 14 , FREE SURFACE (MOVING BOUNDARY) ELEMENT C = 15 , LAW OF THE WALL BOUNDARY ELEMENT C = 16 , MELT INTERFACE BOUNDARY ELEMENT C = 17 , PLOT BOUNDARY ELEMENT C = 18 , SPECIES BOUNDARY ELEMENT C = 20 , OUTFLOW BOUNDARY ELEMENT C = 21 , GAP ELEMENT C = 22 , SURFACE REACTION ELEMENT C C WRITE (INEUT,265) NGP, NELGP, NDP, IGEOM, NFTYP 265 FORMAT ('GROUP: ',I5,' ELEMENTS:',I10,' NODES: ',I10, 1 ' GEOMETRY:',I5,' TYPE:',i4) C C ENTITY TYPE RECORD C ------------------ C C ELMMAT: ENTITY NAME TO WHICH ELEMENT GROUP BELONGS C (20 characters) C WRITE (INEUT,'(''ENTITY NAME: '',a20)') ELMMAT C C ELEMENT CONNECTIVITY RECORDS C ---------------------------- C DO 280 NEL=1,NELGP C C NE: GLOBAL ELEMENT NUMBER C NODE: LIST OF NDP NODES DEFINING ELEMENT (SEE FIPREP C USERS MANUAL, CHAPTER 12 FOR ORDERING CONVENTIONS) C WRITE (INEUT,'(8X,9I8:/(8X,9I8)') NE, (NODE(I),I=1,NDP) 280 CONTINUE 300 CONTINUE C C S O L U T I O N V E C T O R S C C The SOLUTION VECTORS section is repeated for each timestep C For a steady-state analysis only one "timestep" is present and C KSTEP=1, TIME=0., DT=0. C This section of the Neutral File is optional. C C EACH SOLUTION VECTOR MUST BE PRECEDED BY THE APPROPRIATE HEADER C RECORD AS DESCRIBED BELOW. ALL HEADERS ARE 20 CHARACTERS IN LENGTH C C TIME STEP CONTROL INFORMATION RECORD C ------------------------------------ C C KSTEP, TIME, DT C C KSTEP: TIME STEP NUMBER C TIME: TIME VALUE OF TIMESTEP C DT: TIME STEP INCREMENT C 400 WRITE (INEUT,405) KSTEP, TIME, DT 405 FORMAT ('TIMESTEP: ',I5,' TIME: ',E15.7,' INCRMNT: ',E15.7) C C VELOCITY RECORDS C ---------------- C C UF: VELOCITY VECTOR - Velocity components for node I are stored C as UF(2*I-1), UF(2*I) for NDFVL=2 and C as UF(3*I-2),UF(3*I-1),UF(3*I) for NDFVL=3. C WRITE (INEUT,'(''VELOCITY '')') NMVL = NDFVL*NUMNP WRITE (INEUT,'(5E16.9)') ((UF(I,J),I=1,NDFVL),J=1,NUMNP) C C PRESSURE RECORDS C ---------------- C C (P(I,I=1,NUMNP) is the pressure at node I. C WRITE (INEUT,'(''PRESSURE '')') WRITE (INEUT,'(5E16.9)') (P(I),I=1,NUMNP) C C TEMPERATURE RECORDS C ------------------- C C T(I) is the temperature at node I. This record is valid C only if ITMP(1) is NOT zero. C IF (ITMP(1).NE.0) THEN WRITE (INEUT,'(''TEMPERATURE '')') WRITE (INEUT,'(5E16.9)') (T(I),I=1,NUMNP) ENDIF C C FREE SURFACE POSITION RECORDS C ----------------------------- C C The XYZ array are the nodal coordinates of the mesh configuration C at this timestep. This record is valid only if IFREE is NOT zero. C IF (IFREE.NE.0) THEN DO 410 N=1,NDFCD WRITE (INEUT,'(''COORDINATE '',I10)') N WRITE (INEUT,'(5E16.9)') (XYZ(I,N),I=1,NUMNP) 410 CONTINUE ENDIF C C TURBULENT K.E. AND DISSIPATION RECORDS C -------------------------------------- C C TRBK(I) and TRBE(I) are the turbulent kinetic energy and C dissipation at node I. These records are valid only if ITURB=2. C IF (ITURB.EQ.2) THEN WRITE (INEUT,'(''TURBULENT K.E. '')') WRITE (INEUT,'(5E16.9)') (TRBK(I),I=1,NUMNP) WRITE (INEUT,'(''TURBULENT DISSIPATIO'')') WRITE (INEUT,'(5E16.9)') (TRBE(I),I=1,NUMNP) ENDIF C C SPECIES CONCENTRATION RECORDS C ----------------------------- C C SPEC(I,N) is the concentration of species N at node I. This record C is valid only if ITMP(N+1) is NOT zero. C DO 450 N=1,MAXSPC IF (ITMP(N+1).NE.0) THEN WRITE (INEUT,'(''SPECIES '',I2,'' '')') N WRITE (INEUT,'(5E16.9)') (SPEC(I,N),I=1,NUMNP) ENDIF 450 CONTINUE C C DENSITY RECORDS C --------------- C C DEN(I) is the density at node I. C This record is valid only if ICOMPR=2. C IF (ICOMPR.NE.0) THEN WRITE (INEUT,'(''DENSITY '')') WRITE (INEUT,'(5E16.9)') (DEN(I),I=1,NUMNP) ENDIF C C TIME STEP TERMINATION RECORD C ---------------------------- C WRITE (INEUT,'(''ENDOFTIMESTEP '')') GO TO 400 C 500 STOP END |
|
April 18, 2010, 00:40 |
|
#7 |
Member
L.Y LIN
Join Date: Mar 2010
Posts: 49
Rep Power: 16 |
*.neu means neutral ,right?
thanks ztdep!it is very useful. |
|
December 15, 2020, 14:06 |
|
#8 | |
New Member
Bappi
Join Date: Dec 2020
Posts: 5
Rep Power: 6 |
Quote:
I have generated a 2D mesh using Gambit and now I need to read the mesh that is generated. Did you write any program in Fortran for file conversion? Do you mind sharing it with me? I am really struggling with it and I would appreciate if you can please help me out. Thanks Bappi |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] SnappyHexMesh for internal Flow | vishwa | OpenFOAM Meshing & Mesh Conversion | 24 | June 27, 2016 09:54 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |
Icemcfd 11: Loss of mesh from surface mesh option? | Joe | CFX | 2 | March 26, 2007 19:10 |
Turbulent steady flow around a circular cylinder | Mirek Kabacinski | FLUENT | 0 | July 23, 2003 19:40 |
PHI file structure | Eugene | Phoenics | 9 | November 2, 2001 23:00 |