Mesh Object

class pylagrit.EltSet(name, parent)

EltSet class

pset(name=None)

Create a pset from the points in an element set :arg name: Name of point set to be used within LaGriT :type name: str :returns: PyLaGriT PSet object

refine(amr='')

Refine elements in the element set

Example:
>>> from pylagrit import PyLaGriT
>>> import numpy
>>> import sys
>>> 
>>> df = 0.0005 # Fault half aperture
>>> lr = 7 # Levels of refinement
>>> nx = 4 # Number of base mesh blocks in x direction
>>> nz = 20 # Number of base mesh blocks in z direction
>>> d_base = df*2**(lr+1) # Calculated dimension of base block
>>> w = d_base*nx # Calculated width of model
>>> d = d_base*nz # Calculated depth of model
>>> 
>>> lg = PyLaGriT()
>>> 
>>> # Create discrete fracture mesh
>>> dxyz = numpy.array([d_base,d_base,0.])
>>> mins = numpy.array([0.,-d,0.])
>>> maxs = numpy.array([w,0,0])
>>> mqua = lg.createpts_dxyz(dxyz,mins,maxs,'quad',hard_bound=('min','max','min'),connect=True)
>>> 
>>> for i in range(lr):
>>>     prefine = mqua.pset_geom_xyz(mins-0.1,(0.0001,0.1,0))
>>>     erefine = prefine.eltset()
>>>     erefine.refine()
>>>     prefine.delete()
>>>     erefine.delete()
>>> 
>>> mtri = mqua.copypts('triplane')
>>> mtri.connect()
>>> # Make sure that not nodes are lost during connect
>>> if 'The mesh is complete but could not include all points.' in lg.before:
>>>     print 'Error: Lost some points during connect, not completing mesh and exiting workflow!'
>>>     print ''
>>>     sys.exit()
>>> mtri.tri_mesh_output_prep()
>>> mtri.reorder_nodes(cycle='xic yic zic')
>>> pfault = mtri.pset_geom_xyz(mins-0.1,(0.0001,0.1,0))
>>> psource = mtri.pset_geom_xyz(mins-0.1,mins+0.0001)
>>> mtri.setatt('imt',1)
>>> pfault.setatt('imt',10)
>>> psource.setatt('imt',20)
>>> 
>>> mtri.paraview(filename='discrete_fracture.inp')