Daniel,
Attached is the script that my grad student made to create a simple 2-D
quadralateral mesh file you asked for. We did not use a gmsh directly as I
was unable to quickly figure out how to use it to make a uniform
quadralateral mesh.
Andy
----------------------
Andrew Reeve
Dept. of Earth Science
University of Maine
On Tue, 20 Nov 2007, Daniel Wheeler wrote:
Andrew,
I added your patch to trunk. Send along the gmsh script and I'll put a
test case too.
Cheers
##Create new file to write to
newfile=open('MESH.msh','w')
#newfile=open('MESH.txt','w')
##Set mesh dimensions
cols=4
rows=3
##Node Number
nx=cols+1
ny=rows+1
##Write format to file
newfile.write('$MeshFormat')
newfile.write('\n')
newfile.write(' %4.1i'%2)
newfile.write(' %4.1i'%0)
newfile.write(' %4.1i'%8)
newfile.write('\n')
newfile.write('$EndMeshFormat')
newfile.write('\n')
##Write number of nodes to file
newfile.write('$Nodes')
newfile.write('\n')
nodes=nx*ny
newfile.write(' %4.1i'%nodes)
newfile.write('\n')
##Loop through nx/ny to assign node coordinates
n=1
for i in xrange(nx):
for j in xrange(ny):
newfile.write(' %4.1i'%n)
newfile.write(' %4.1f'%i)
newfile.write(' %4.1f'%j)
newfile.write(' %4.1f'%0)
newfile.write('\n')
n=n+1
newfile.write('$EndNodes')
newfile.write('\n')
##Write number of elements to file
newfile.write('$Elements')
newfile.write('\n')
n=rows*cols##+n-1
newfile.write(' %4.1i'%n)
newfile.write('\n')
##Loop through nodes to create 1point node elements
count=1
#for i in xrange(1,nodes+1):
# newfile.write(' %4.1i'%count)
# newfile.write(' %4.1i'%15)
# newfile.write(' %4.1i'%0)
# newfile.write(' %4.1i'%i)
# newfile.write('\n')
# count=count+1
##Loop through columns and rows to determine quad coordinates
for i in range(1,cols+1):
for j in range(1,rows+1):
element=count
a=(i-1)*ny+j
b=(i-1)*ny+j+1
c=(i)*ny+j+1
d=(i)*ny+j
newfile.write(' %4.1i'%element)
newfile.write(' %4.1i'%3)
newfile.write(' %4.1i'%0)
newfile.write(' %4.1i'%a)
newfile.write(' %4.1i'%b)
newfile.write(' %4.1i'%c)
newfile.write(' %4.1i'%d)
newfile.write('\n')
count=count+1
newfile.write('$EndElements')
newfile.write('\n')
##Close write file
newfile.close()
print 'end'