예제 #1
0
파일: __init__.py 프로젝트: ChaliZhg/Oasis
 def __call__(self, s, verbose=False):
     self.prev = self.memory
     self.prev_vm = self.memory_vm
     self.memory = MPI.sum(mpi_comm_world(), getMemoryUsage())
     self.memory_vm = MPI.sum(mpi_comm_world(), getMemoryUsage(False))
     if MPI.rank(mpi_comm_world()) == 0 and verbose:
         info_blue('{0:26s}  {1:10d} MB {2:10d} MB {3:10d} MB {4:10d} MB'.format(s, 
                self.memory-self.prev, self.memory, self.memory_vm-self.prev_vm, self.memory_vm))
예제 #2
0
파일: __init__.py 프로젝트: ChaliZhg/Oasis
    def __init__(self, s):
        self.memory = 0
        self.memory_vm = 0
        self(s)
        
    def __call__(self, s, verbose=False):
        self.prev = self.memory
        self.prev_vm = self.memory_vm
        self.memory = MPI.sum(mpi_comm_world(), getMemoryUsage())
        self.memory_vm = MPI.sum(mpi_comm_world(), getMemoryUsage(False))
        if MPI.rank(mpi_comm_world()) == 0 and verbose:
            info_blue('{0:26s}  {1:10d} MB {2:10d} MB {3:10d} MB {4:10d} MB'.format(s, 
                   self.memory-self.prev, self.memory, self.memory_vm-self.prev_vm, self.memory_vm))

# Print memory use up til now
initial_memory_use = getMemoryUsage()
oasis_memory = OasisMemoryUsage('Start')

# Convenience functions
def strain(u):
    return 0.5*(grad(u)+ grad(u).T)

def omega(u):
    return 0.5*(grad(u) - grad(u).T)

def Omega(u):
    return inner(omega(u), omega(u))

def Strain(u):
    return inner(strain(u), strain(u))