예제 #1
0
    # 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',
예제 #2
0
#!/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')


예제 #4
0
#!/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)
예제 #5
0
    #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']+' '
예제 #6
0
        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)
예제 #7
0
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='.')
예제 #8
0
        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)
예제 #9
0
#!/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])
예제 #10
0
#!/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='.')
예제 #11
0
#!/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])
예제 #12
0
    #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'
예제 #13
0
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')
예제 #14
0
    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']+' '
예제 #15
0
# "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/')