def __init__(self):
     self.filename_nodes = 'node_coordinates'
     self.filename_hex8 = 'cell_connectivity_hex8'
     self.filename_tet4 = 'cell_connectivity_tet4'
     #
     self.hex8 = []
     self.tet4 = []
     #
     print "number of volumes = " + str(cubit.get_volume_count())
     print "number of hexes in entire mesh: cubit.get_hex_count = " + str(
         cubit.get_hex_count())
     print "number of tets in entire mesh: cubit.get_tet_count =  " + str(
         cubit.get_tet_count())
     #
     for volume in cubit.get_entities("volume"):
         print "VOLUME " + str(volume) + ":"
         print "  number of elements: " + str(
             cubit.get_volume_element_count(volume))
         hex8_list = cubit.get_volume_hexes(volume)
         self.hex8 += hex8_list
         print "  number of hexes:    " + str(len(hex8_list))
         tet4_list = cubit.get_volume_tets(volume)
         self.tet4 += tet4_list
         print "  number of tets:     " + str(len(tet4_list))
     #
     print "number of hexes found while iterating over all volumes: " + str(
         len(self.hex8))
     print "number of tets found while iterating over all volumes: " + str(
         len(self.tet4))
Esempio n. 2
0
def selectedVolumesAsComp(comp_name, mesh, vsys):
    """
    Create a shadow compartment using selected volumes.
        
    Parameters:
        * comp_name   Name of the compartment
        * mesh        ShadowMesh object
        * vsys        List of STEPS volume system ids for the compartment
        
    Return:
        ShadowComp object
    """
    vols = getSelectedVolumes()
    idxs = []
    for v in vols:
        idxs.extend(cubit.get_volume_tets(v))
    return ShadowComp(comp_name, mesh, idxs, vsys)
  for id in volumeIds:
    overLapping = cubit.get_overlapping_volumes ([id, volIdCutter])
    for vol in overLapping:
      if vol != volIdCutter:
        searchVolumes.append (vol)
  
  # Report
  print "Found " + str (len (searchVolumes)) + " intersecting volumes."

  # Find overlapping ids.
  overlap_tets = []

  # Save to temp file.
  saveTmpFile ()
  
  for id in searchVolumes:
    
    openTmpFile ()
    print "Finding tets in volume: " + str (id),
    tet_list = cubit.get_volume_tets (id)
    temp = es.getTetsOverlapPassedVols (tet_list, [volIdCutter])
    overlap_tets.extend (temp)


  removeTmpFile ()
  cubit.silent_cmd ('set duplicate block elements on')
  cubit.silent_cmd ('block 100 tet ' + es.toStr (overlap_tets))
  cubit.silent_cmd ('block 100 name "kernel"')
  
  cubit.silent_cmd ('set large exodus file on')
  cubit.silent_cmd ('export mesh "' + kernelWritePath + '/kernelMesh.ex2" block 100 overwrite')