Changeset 20173


Ignore:
Timestamp:
02/16/16 14:04:57 (9 years ago)
Author:
dlcheng
Message:

CHG: Ammending python file handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py

    r20172 r20173  
    2222
    2323        #process options
    24         options=pairoptions(varargin)
    25         options=options.deleteduplicates(1)
     24        options=pairoptions(*varargin)
     25        #options=deleteduplicates(options,1)
    2626
    2727        #recover parameters:
     
    3030
    3131        #initialize mesh:
    32         mesh=mesh3dsurface()
     32        mesh=mesh2d()
    3333
    3434        #create .geo file:  {{{
    35         fid=fopen('sphere.geo','w')
     35        fid=open('sphere.geo','w')
    3636
    37         fprintf(fid,'Mesh.Algorithm = 1\n')
     37        fid.write('Mesh.Algorithm = 1\n')
    3838        if options.exist('refine'):
    39                 fprintf(fid,'Mesh.Algorithm = 7\n')
    40                 fprintf(fid,'Mesh.CharacteristicLengthFromPoints= 0\n')
    41                 fprintf(fid,'Mesh.SmoothRatio= 3\n')
    42                 fprintf(fid,'Mesh.RemeshAlgorithm= 1\n')
    43         fprintf(fid,'resolution=#g\n',resolution)
    44         fprintf(fid,'radius=#g\n',radius)
    45         fprintf(fid,'Point(1) = [0.0,0.0,0.0,resolution]\n')
    46         fprintf(fid,'Point(2) = [radius,0.0,0.0,resolution]\n')
    47         fprintf(fid,'Point(3) = [0,radius,0.0,resolution]\n')
    48         fprintf(fid,'Circle(1) = [2,1,3]\n')
    49         fprintf(fid,'Point(4) = [-radius,0,0.0,resolution]\n')
    50         fprintf(fid,'Point(5) = [0,-radius,0.0,resolution]\n')
    51         fprintf(fid,'Circle(2) = [3,1,4]\n')
    52         fprintf(fid,'Circle(3) = [4,1,5]\n')
    53         fprintf(fid,'Circle(4) = [5,1,2]\n')
    54         fprintf(fid,'Point(6) = [0,0,-radius,resolution]\n')
    55         fprintf(fid,'Point(7) = [0,0,radius,resolution]\n')
    56         fprintf(fid,'Circle(5) = [3,1,6]\n')
    57         fprintf(fid,'Circle(6) = [6,1,5]\n')
    58         fprintf(fid,'Circle(7) = [5,1,7]\n')
    59         fprintf(fid,'Circle(8) = [7,1,3]\n')
    60         fprintf(fid,'Circle(9) = [2,1,7]\n')
    61         fprintf(fid,'Circle(10) = [7,1,4]\n')
    62         fprintf(fid,'Circle(11) = [4,1,6]\n')
    63         fprintf(fid,'Circle(12) = [6,1,2]\n')
    64         fprintf(fid,'Line Loop(13) = [2,8,-10]\n')
    65         fprintf(fid,'Ruled Surface(14) = [13]\n')
    66         fprintf(fid,'Line Loop(15) = [10,3,7]\n')
    67         fprintf(fid,'Ruled Surface(16) = [15]\n')
    68         fprintf(fid,'Line Loop(17) = [-8,-9,1]\n')
    69         fprintf(fid,'Ruled Surface(18) = [17]\n')
    70         fprintf(fid,'Line Loop(19) = [-11,-2,5]\n')
    71         fprintf(fid,'Ruled Surface(20) = [19]\n')
    72         fprintf(fid,'Line Loop(21) = [-5,-12,-1]\n')
    73         fprintf(fid,'Ruled Surface(22) = [21]\n')
    74         fprintf(fid,'Line Loop(23) = [-3,11,6]\n')
    75         fprintf(fid,'Ruled Surface(24) = [23]\n')
    76         fprintf(fid,'Line Loop(25) = [-7,4,9]\n')
    77         fprintf(fid,'Ruled Surface(26) = [25]\n')
    78         fprintf(fid,'Line Loop(27) = [-4,12,-6]\n')
    79         fprintf(fid,'Ruled Surface(28) = [27]\n')
    80         fprintf(fid,'Surface Loop(29) = [28,26,16,14,20,24,22,18]\n')
    81         fprintf(fid,'Volume(30) = [29]\n')
    82         fprintf(fid,'Physical Surface(1) = [28,26,16,14,20,24,22,18]\n')
    83         fprintf(fid,'Physical Volume(2) = 30\n')
    84         fclose(fid)
     39                fid.write('Mesh.Algorithm = 7\n')
     40                fid.write('Mesh.CharacteristicLengthFromPoints= 0\n')
     41                fid.write('Mesh.SmoothRatio= 3\n')
     42                fid.write('Mesh.RemeshAlgorithm= 1\n')
     43        fid.write('resolution=#g\n',resolution)
     44        fid.write('radius=#g\n',radius)
     45        fid.write('Point(1) = [0.0,0.0,0.0,resolution]\n')
     46        fid.write('Point(2) = [radius,0.0,0.0,resolution]\n')
     47        fid.write('Point(3) = [0,radius,0.0,resolution]\n')
     48        fid.write('Circle(1) = [2,1,3]\n')
     49        fid.write('Point(4) = [-radius,0,0.0,resolution]\n')
     50        fid.write('Point(5) = [0,-radius,0.0,resolution]\n')
     51        fid.write('Circle(2) = [3,1,4]\n')
     52        fid.write('Circle(3) = [4,1,5]\n')
     53        fid.write('Circle(4) = [5,1,2]\n')
     54        fid.write('Point(6) = [0,0,-radius,resolution]\n')
     55        fid.write('Point(7) = [0,0,radius,resolution]\n')
     56        fid.write('Circle(5) = [3,1,6]\n')
     57        fid.write('Circle(6) = [6,1,5]\n')
     58        fid.write('Circle(7) = [5,1,7]\n')
     59        fid.write('Circle(8) = [7,1,3]\n')
     60        fid.write('Circle(9) = [2,1,7]\n')
     61        fid.write('Circle(10) = [7,1,4]\n')
     62        fid.write('Circle(11) = [4,1,6]\n')
     63        fid.write('Circle(12) = [6,1,2]\n')
     64        fid.write('Line Loop(13) = [2,8,-10]\n')
     65        fid.write('Ruled Surface(14) = [13]\n')
     66        fid.write('Line Loop(15) = [10,3,7]\n')
     67        fid.write('Ruled Surface(16) = [15]\n')
     68        fid.write('Line Loop(17) = [-8,-9,1]\n')
     69        fid.write('Ruled Surface(18) = [17]\n')
     70        fid.write('Line Loop(19) = [-11,-2,5]\n')
     71        fid.write('Ruled Surface(20) = [19]\n')
     72        fid.write('Line Loop(21) = [-5,-12,-1]\n')
     73        fid.write('Ruled Surface(22) = [21]\n')
     74        fid.write('Line Loop(23) = [-3,11,6]\n')
     75        fid.write('Ruled Surface(24) = [23]\n')
     76        fid.write('Line Loop(25) = [-7,4,9]\n')
     77        fid.write('Ruled Surface(26) = [25]\n')
     78        fid.write('Line Loop(27) = [-4,12,-6]\n')
     79        fid.write('Ruled Surface(28) = [27]\n')
     80        fid.write('Surface Loop(29) = [28,26,16,14,20,24,22,18]\n')
     81        fid.write('Volume(30) = [29]\n')
     82        fid.write('Physical Surface(1) = [28,26,16,14,20,24,22,18]\n')
     83        fid.write('Physical Volume(2) = 30\n')
     84        fid.close()
    8585        #}}}
    8686
     
    9090
    9191                #create .pos file with existing mesh and refining metric:  {{{
    92                 fid=fopen('sphere.pos','w')
     92                fid=open('sphere.pos','w')
    9393
    94                 fprintf(fid,'View "background mesh" [\n')
     94                fid.write('View "background mesh" [\n')
    9595                for i in range(meshini.numberofelements):
    96                         fprintf(fid,'ST(#g,#g,#g,#g,#g,#g,#g,#g,#g)[#g,#g,#g]\n',\
     96                        fid.write('ST(#g,#g,#g,#g,#g,#g,#g,#g,#g)[#g,#g,#g]\n',\
    9797                        meshini.x(meshini.elements(i,0)), meshini.y(meshini.elements(i,0)), meshini.z(meshini.elements(i,0)),\
    9898                        meshini.x(meshini.elements(i,1)), meshini.y(meshini.elements(i,1)), meshini.z(meshini.elements(i,1)),\
     
    100100                        metric(meshini.elements(i,0)), metric(meshini.elements(i,1)), metric(meshini.elements(i,2))\
    101101                        )
    102                 fprintf(fid,']\n')
     102                fid.write(']\n')
    103103               
    104                 fclose(fid)
     104                fid.close()
    105105                # }}}
    106106
     
    113113
    114114        #import mesh:  {{{
    115         fid=fopen('sphere.msh','r')
     115        fid=open('sphere.msh','r')
    116116
    117117        #Get Mesh format
     
    150150        if not strcmp(A,'$EndElements'):
    151151                raise RuntimeError(['Expecting $EndElements (', A, ')'])
    152         fclose(fid)
     152        fid.close()
    153153        #}}}
    154154
Note: See TracChangeset for help on using the changeset viewer.