# backup cubit cubit.cmd('save as "MESH/meshing.cub" overwrite') else: from geocubitlib import exportlib print("") print("exporting to SPECFEM3D-format:") print("") # Export to SPECFEM3D format # note: exportlib-commands will overwrite material properties # for hex27 elements if 1 == 1: exportlib.define_blocks(outdir='MESH/', save_cubfile=True, outfilename='top', hex27=True) exportlib.e2SEM(outdir='MESH/', hex27=True) else: exportlib.define_blocks(outdir='MESH/', save_cubfile=True, outfilename='top') exportlib.e2SEM(outdir='MESH/') # Define material properties print("#### DEFINE MATERIAL PROPERTIES #######################") if domain_id == 1: # acoustic material material_cfg = [{ 'material region': '1', 'id_block': '1', 'vp': '1480', 'vs': '0', 'rho': '1028',
#!/usr/bin/env python import cubit try: cubit.init([""]) except: pass f = './cubit_mesh_files/mesh.e' o = './specfem3d_mesh_files' cubit.cmd('import mesh "' + f + '" block all no_geom ') from geocubitlib import exportlib exportlib.e2SEM(outdir=o)
except: pass cubit.cmd('reset') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 1 move x 33500 y 67000 z -30000') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 2 move x 100500 y 67000 z -30000') cubit.cmd('merge all') # Meshing the volumes elementsize = 3000.0 cubit.cmd('volume 1 size '+str(elementsize)) cubit.cmd('volume 2 size '+str(elementsize)) cubit.cmd('mesh volume 1 2') from geocubitlib import boundary_definition,exportlib # boundary boundary_definition.define_bc(parallel=True) # file export exportlib.collect(outdir=CUBIToutput) exportlib.e2SEM(outdir=SEMoutput) cubit.cmd('save as "meshing.cub" overwrite')
#!/usr/bin/env python import cubit try: cubit.init([""]) except: pass f='./cubit_mesh_files/mesh.e' o='./specfem3d_mesh_files' cubit.cmd('import mesh "'+f+'" block all no_geom ') from geocubitlib import exportlib exportlib.e2SEM(outdir=o)
#cubit.cmd('block '+str(id_block)+' attribute index 3 0 ') # vs #cubit.cmd('block '+str(id_block)+' attribute index 4 1028 ') # rho (ocean salt water density: print "" print "exporting to SPECFEM3D-format:" print "" # Export to SPECFEM3D format cubit2specfem3d.export2SPECFEM3D('MESH/') else: from geocubitlib import exportlib print "" print "exporting to SPECFEM3D-format:" print "" # Export to SPECFEM3D format # note: exportlib-commands will overwrite material properties exportlib.collect(outdir='MESH/') exportlib.e2SEM('MESH/') # Define material properties print "#### DEFINE MATERIAL PROPERTIES #######################" # elastic material material_cfg=[{'material region':'2','id_block':'1','vp':'2800','vs':'1500','rho':'2300','Qkappa':'9990.0','Qmu':'9000.0','anisotropy_flag':'0'}] # modifies material file nummaterial_velocity_file='MESH/nummaterial_velocity_file' f=open(nummaterial_velocity_file,'w') for block in material_cfg: print block s=block['material region']+' ' s=s+block['id_block']+' ' s=s+block['rho']+' ' s=s+block['vp']+' ' s=s+block['vs']+' ' s=s+block['Qkappa']+' '
from geocubitlib.exportlib import collect_new try: output = menu.output except: output = 'totalmesh_merged' output = output.upper() # collect_new(menu.cpuxmin, menu.cpuxmax, menu.cpuymin, menu.cpuymax, menu.cpux, menu.cpuy, menu.cubfiles, menu.ckbound_method1, menu.ckbound_method2, menu.merge_tolerance, curverefining=menu.curverefining, outfilename=output, qlog=menu.qlog, export2SPECFEM3D=menu.export2SPECFEM3D, listblock=menu.listblock, listflag=menu.listflag, outdir=menu.SPECFEM3D_output_dir, add_sea=menu.add_sea, decimate=menu.decimate, cpml=menu.cpml, cpml_size=menu.cpml_size, top_absorbing=menu.top_absorbing, hex27=menu.hex27, check_merging=menu.check_merging, save_cubfile=menu.save_cubfile, starting_tolerance=menu.starting_tolerance) if menu.export2SPECFEM3D and not menu.collect: from geocubitlib.exportlib import e2SEM print(menu.cubfiles) print('hex27 ', menu.hex27) e2SEM(files=menu.cubfiles, listblock=menu.listblock, listflag=menu.listflag, outdir=menu.SPECFEM3D_output_dir, hex27=menu.hex27)
import cubit try: cubit.init([""]) except: pass cubit.cmd('reset') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 1 move x 33500 y 67000 z -30000') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 2 move x 100500 y 67000 z -30000') cubit.cmd('merge all') # Meshing the volumes elementsize = 3000.0 cubit.cmd('volume 1 size '+str(elementsize)) cubit.cmd('volume 2 size '+str(elementsize)) cubit.cmd('mesh volume 1 2') from geocubitlib import boundary_definition,exportlib boundary_definition.define_bc(parallel=True) exportlib.collect(outdir='.') exportlib.e2SEM(outdir='.')
from geocubitlib.exportlib import collect_new try: output = menu.output except: output = 'totalmesh_merged' output = output.upper() # collect_new(menu.cpuxmin, menu.cpuxmax, menu.cpuymin, menu.cpuymax, menu.cpux, menu.cpuy, menu.cubfiles, menu.ckbound_method1, menu.ckbound_method2, menu.merge_tolerance, curverefining=menu.curverefining, outfilename=output, qlog=menu.qlog, export2SPECFEM3D=menu.export2SPECFEM3D, listblock=menu.listblock, listflag=menu.listflag, outdir=menu.SPECFEM3D_output_dir, add_sea=menu.add_sea, decimate=menu.decimate, cpml=menu.cpml, cpml_size=menu.cpml_size, top_absorbing=menu.top_absorbing, hex27=menu.hex27, check_merging=menu.check_merging, save_cubfile=menu.save_cubfile, starting_tolerance=menu.starting_tolerance) if menu.export2SPECFEM3D and not menu.collect: from geocubitlib.exportlib import e2SEM print menu.cubfiles print 'hex27 ', menu.hex27 e2SEM(files=menu.cubfiles, listblock=menu.listblock, listflag=menu.listflag, outdir=menu.SPECFEM3D_output_dir, hex27=menu.hex27)
#!/usr/bin/env python import cubit try: cubit.init([""]) except: pass cfg='./tomographic_model//tomographic_model.cfg' o='./tomographic_model/specfem3d_mesh_files' o1='./tomographic_model/cubit_mesh_files' from geocubitlib import volumes, mesh_volume, exportlib volumes.volumes(cfg) mesh_volume.mesh(cfg) exportlib.collect(outdir=o1) exportlib.e2SEM(outdir=o,listblock=[4],listflag=[-1])
#!/usr/bin/env python import cubit try: cubit.init([""]) except: pass cubit.cmd('reset') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 1 move x 33500 y 67000 z -30000') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 2 move x 100500 y 67000 z -30000') cubit.cmd('merge all') # Meshing the volumes elementsize = 3000.0 cubit.cmd('volume 1 size ' + str(elementsize)) cubit.cmd('volume 2 size ' + str(elementsize)) cubit.cmd('mesh volume 1 2') from geocubitlib import boundary_definition, exportlib boundary_definition.define_bc(parallel=True) exportlib.collect(outdir='.') exportlib.e2SEM(outdir='.')
#!/usr/bin/env python import cubit try: cubit.init([""]) except: pass cfg = './tomographic_model//tomographic_model.cfg' o = './tomographic_model/specfem3d_mesh_files' o1 = './tomographic_model/cubit_mesh_files' from geocubitlib import volumes, mesh_volume, exportlib volumes.volumes(cfg) mesh_volume.mesh(cfg) exportlib.collect(outdir=o1) exportlib.e2SEM(outdir=o, listblock=[4], listflag=[-1])
#cubit.cmd('block '+str(id_block)+' attribute index 3 0 ') # vs #cubit.cmd('block '+str(id_block)+' attribute index 4 1028 ') # rho (ocean salt water density: print "" print "exporting to SPECFEM3D-format:" print "" # Export to SPECFEM3D format cubit2specfem3d.export2SPECFEM3D('MESH/') else: from geocubitlib import exportlib print "" print "exporting to SPECFEM3D-format:" print "" # Export to SPECFEM3D format # note: exportlib-commands will overwrite material properties exportlib.collect(outdir='MESH/') exportlib.e2SEM('MESH/') # Define material properties print "#### DEFINE MATERIAL PROPERTIES #######################" # elastic material material_cfg = [{ 'material region': '2', 'id_block': '1', 'vp': '2800', 'vs': '1500', 'rho': '2300', 'Qkappa': '9990.0', 'Qmu': '9000.0', 'anisotropy_flag': '0' }] # modifies material file nummaterial_velocity_file = 'MESH/nummaterial_velocity_file'
import cubit try: cubit.init([""]) except: pass cubit.cmd('reset') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 1 move x 33500 y 67000 z -30000') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 2 move x 100500 y 67000 z -30000') cubit.cmd('merge all') # Meshing the volumes elementsize = 3000.0 cubit.cmd('volume 1 size ' + str(elementsize)) cubit.cmd('volume 2 size ' + str(elementsize)) cubit.cmd('mesh volume 1 2') from geocubitlib import boundary_definition, exportlib # boundary boundary_definition.define_bc(parallel=True) # file export exportlib.collect(outdir=CUBIToutput) exportlib.e2SEM(outdir=SEMoutput) cubit.cmd('save as "meshing.cub" overwrite')
print("exporting to SPECFEM3D-format:") print("") # Export to SPECFEM3D format cubit2specfem3d.export2SPECFEM3D('MESH/') # backup cubit cubit.cmd('export mesh "MESH/top.e" dimension 3 overwrite') cubit.cmd('save as "MESH/meshing.cub" overwrite') else: from geocubitlib import exportlib print("") print("exporting to SPECFEM3D-format:") print("") # Export to SPECFEM3D format # note: exportlib-commands will overwrite material properties exportlib.define_blocks(outdir='MESH/',save_cubfile=True,outfilename='top') exportlib.e2SEM(outdir='MESH/') # Define material properties print("#### DEFINE MATERIAL PROPERTIES #######################") # elastic material material_cfg=[{'material region':'2','id_block':'1','vp':'2800','vs':'1500','rho':'2300','Qkappa':'9999.0','Qmu':'9999.0','anisotropy_flag':'0'}] # modifies material file nummaterial_velocity_file='MESH/nummaterial_velocity_file' f=open(nummaterial_velocity_file,'w') for block in material_cfg: print(block) s=block['material region']+' ' s=s+block['id_block']+' ' s=s+block['rho']+' ' s=s+block['vp']+' ' s=s+block['vs']+' ' s=s+block['Qkappa']+' '
# "create_mesh.py" is a script that generates mesh specific to homogenous halfspace example # i.e., a uniform mesh of 134 km x 134 km x 60 km with an element size 3.75 km. # It is not applicable to other examples. cubit.cmd('reset') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 1 move x 33500 y 67000 z -30000') cubit.cmd('brick x 67000 y 134000 z 60000') cubit.cmd('volume 2 move x 100500 y 67000 z -30000') cubit.cmd('merge all') # Meshing the volumes elementsize = 3000.0 cubit.cmd('volume 1 size '+str(elementsize)) cubit.cmd('volume 2 size '+str(elementsize)) cubit.cmd('mesh volume 1 2') from geocubitlib import boundary_definition,exportlib boundary_definition.define_bc(parallel=True) exportlib.collect(outdir='MESH/') exportlib.e2SEM(outdir='MESH/')