CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   mesh file for flow over a circular cylinder (https://www.cfd-online.com/Forums/main/74362-mesh-file-flow-over-circular-cylinder.html)

 Ardalan March 30, 2010 17:27

mesh file for flow over a circular cylinder

-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!
:)

 Ardalan April 3, 2010 17:11

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?

 Ardalan April 15, 2010 16:54

Grids on an airfoil or cylinder

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?

 iilw1314 April 16, 2010 01:17

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

 Ardalan April 16, 2010 04:20

Hi
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?

 ztdep April 16, 2010 12:16

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 = 2 TRIANGLE
C = 3 BRICK
C = 4 WEDGE
C = 5 TETRAHEDRON
C
C NFTYP: FIDAP ELEMENT TYPE
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

 iilw1314 April 17, 2010 23:40

*.neu means neutral ,right?
thanks ztdep!it is very useful.

 All times are GMT -4. The time now is 04:50.