mirror of
https://github.com/wassname/simpeg.git
synced 2026-06-28 07:18:44 +08:00
36 lines
1012 B
Python
36 lines
1012 B
Python
from __future__ import unicode_literals
|
|
from __future__ import print_function
|
|
from __future__ import division
|
|
from __future__ import absolute_import
|
|
from future import standard_library
|
|
standard_library.install_aliases()
|
|
from builtins import range
|
|
from SimPEG import *
|
|
|
|
def run(plotIt=True):
|
|
"""
|
|
Mesh: QuadTree: Creation
|
|
========================
|
|
|
|
You can give the refine method a function, which is evaluated on every cell
|
|
of the TreeMesh.
|
|
|
|
Occasionally it is useful to initially refine to a constant level
|
|
(e.g. 3 in this 32x32 mesh). This means the function is first evaluated
|
|
on an 8x8 mesh (2^3).
|
|
|
|
"""
|
|
M = Mesh.TreeMesh([32,32])
|
|
M.refine(3)
|
|
def function(cell):
|
|
xyz = cell.center
|
|
for i in range(3):
|
|
if np.abs(np.sin(xyz[0]*np.pi*2)*0.5 + 0.5 - xyz[1]) < 0.2*i:
|
|
return 6-i
|
|
return 0
|
|
M.refine(function);
|
|
if plotIt: M.plotGrid(showIt=True)
|
|
|
|
if __name__ == '__main__':
|
|
run()
|