Changeset 2866 for inundation/pyvolution


Ignore:
Timestamp:
May 15, 2006, 2:26:21 PM (19 years ago)
Author:
ole
Message:

Implemented Domain(meshfile) variant widely, updated documentation and added more statistics

Location:
inundation/pyvolution
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • inundation/pyvolution/domain.py

    r2852 r2866  
    7676        # Initialise underlying mesh structure
    7777        Mesh.__init__(self, coordinates, triangles, boundary,
    78                       tagged_elements, geo_reference, use_inscribed_circle)
    79 
     78                      tagged_elements, geo_reference, use_inscribed_circle,
     79                      verbose=verbose)
     80
     81        if verbose: print 'Initialising Domain'       
    8082        from Numeric import zeros, Float, Int
    8183        from quantity import Quantity, Conserved_quantity
     
    123125
    124126        # Setup Communication Buffers
     127           
     128        if verbose: print 'Domain: Set up communication buffers (parallel)'
    125129        self.nsys = len(self.conserved_quantities)
    126130        for key in self.full_send_dict:
     
    179183            # If the mesh file passed any quantity values
    180184            # , initialise with these values.
     185            if verbose: print 'Domain: Initialising quantity values'
    181186            self.set_quantity_vertices_dict(vertex_quantity_dict)
    182187
     188           
     189        if verbose: print 'Domain: Done'
     190
     191           
    183192
    184193
  • inundation/pyvolution/general_mesh.py

    r2808 r2866  
    5353    #input
    5454    def __init__(self, coordinates, triangles,
    55                  geo_reference=None):
     55                 geo_reference=None,
     56                 verbose=False):
    5657        """
    5758        Build triangles from x,y coordinates (sequence of 2-tuples or
     
    6263        If specified coordinates are assumed to be relative to this origin.
    6364        """
     65
     66        if verbose: print 'General_mesh: Building basic mesh structure'
    6467
    6568        from Numeric import array, zeros, Int, Float, sqrt, sum
     
    108111
    109112        #Initialise each triangle
     113        if verbose:
     114            print 'General_mesh: Computing areas, normals and edgelenghts'
     115           
    110116        for i in range(N):
    111             #if i % (N/10) == 0: print '(%d/%d)' %(i, N)
     117            if verbose and i % ((N+10)/10) == 0: print '(%d/%d)' %(i, N)
     118           
    112119
    113120            x0 = V[i, 0]; y0 = V[i, 1]
     
    157164       
    158165        #Build vertex list
     166        if verbose: print 'Building vertex list'         
    159167        self.build_vertexlist()
    160168
  • inundation/pyvolution/mesh.py

    r2778 r2866  
    6060
    6161
    62     def __init__(self, coordinates, triangles, boundary = None,
    63                  tagged_elements = None, geo_reference = None,
    64                  use_inscribed_circle = False):
     62    def __init__(self, coordinates, triangles,
     63                 boundary=None,
     64                 tagged_elements=None,
     65                 geo_reference=None,
     66                 use_inscribed_circle=False,
     67                 verbose=False):
    6568        """
    6669        Build triangles from x,y coordinates (sequence of 2-tuples or
     
    7376        from Numeric import array, zeros, Int, Float, maximum, sqrt, sum
    7477
    75        
    76         General_mesh.__init__(self, coordinates, triangles, geo_reference)
     78        General_mesh.__init__(self, coordinates, triangles,
     79                              geo_reference, verbose=verbose)
     80
     81        if verbose: print 'Initialising mesh'         
    7782
    7883        N = self.number_of_elements
     
    9499
    95100        #Initialise each triangle
     101        if verbose: print 'Mesh: Computing centroids and radii'       
    96102        for i in range(N):
    97             #if i % (N/10) == 0: print '(%d/%d)' %(i, N)
     103            if verbose and i % ((N+10)/10) == 0: print '(%d/%d)' %(i, N)
    98104
    99105            x0 = V[i, 0]; y0 = V[i, 1]
     
    144150
    145151        #Build neighbour structure
     152        if verbose: print 'Mesh: Building neigbour structure'               
    146153        self.build_neighbour_structure()
    147154
    148155        #Build surrogate neighbour structure
     156        if verbose: print 'Mesh: Building surrogate neigbour structure'
    149157        self.build_surrogate_neighbour_structure()
    150158
    151159        #Build boundary dictionary mapping (id, edge) to symbolic tags
     160        if verbose: print 'Mesh: Building boundary dictionary'
    152161        self.build_boundary_dictionary(boundary)
    153162
    154163        #Build tagged element  dictionary mapping (tag) to array of elements
     164        if verbose: print 'Mesh: Building tagged elements dictionary'       
    155165        self.build_tagged_elements_dictionary(tagged_elements)
    156166
     
    159169
    160170        #FIXME check integrity?
     171        if verbose: print 'Mesh: Done'               
    161172
    162173    def __repr__(self):
Note: See TracChangeset for help on using the changeset viewer.