Ejemplo n.º 1
0
    def __init__(self,
                 problem,
                 pdofs,
                 drange,
                 is_overlap,
                 psol,
                 comm,
                 matrix_hook=None,
                 verbose=False):
        BasicEvaluator.__init__(self, problem, matrix_hook=matrix_hook)
        Struct.__init__(self,
                        pdofs=pdofs,
                        drange=drange,
                        is_overlap=is_overlap,
                        comm=comm,
                        verbose=verbose)

        variables = problem.get_variables()
        di = variables.di

        ebc_rows = []
        for ii, variable in enumerate(variables.iter_state(ordered=True)):
            eq_map = variable.eq_map
            ebc_rows.append(eq_map.eq_ebc + di.ptr[ii])
        self.ebc_rows = nm.concatenate(ebc_rows)

        self.psol_i = pp.create_local_petsc_vector(pdofs)

        self.gather, self.scatter = pp.create_gather_scatter(pdofs,
                                                             self.psol_i,
                                                             psol,
                                                             comm=comm)
Ejemplo n.º 2
0
    def __init__(self, problem, pdofs, drange, is_overlap, psol, comm, matrix_hook=None, verbose=False):
        BasicEvaluator.__init__(self, problem, matrix_hook=matrix_hook)
        Struct.__init__(self, pdofs=pdofs, drange=drange, is_overlap=is_overlap, comm=comm, verbose=verbose)

        variables = problem.get_variables()
        di = variables.di

        ebc_rows = []
        for ii, variable in enumerate(variables.iter_state(ordered=True)):
            eq_map = variable.eq_map
            ebc_rows.append(eq_map.eq_ebc + di.ptr[ii])
        self.ebc_rows = nm.concatenate(ebc_rows)

        self.psol_i = pp.create_local_petsc_vector(pdofs)

        self.gather, self.scatter = pp.create_gather_scatter(pdofs, self.psol_i, psol, comm=comm)
Ejemplo n.º 3
0
    def __init__(self,
                 problem,
                 pdofs,
                 drange,
                 is_overlap,
                 psol,
                 comm,
                 matrix_hook=None,
                 verbose=False):
        BasicEvaluator.__init__(self, problem, matrix_hook=matrix_hook)
        Struct.__init__(self,
                        pdofs=pdofs,
                        drange=drange,
                        is_overlap=is_overlap,
                        comm=comm,
                        verbose=verbose)

        self.psol_i = pp.create_local_petsc_vector(pdofs)

        self.gather, self.scatter = pp.create_gather_scatter(pdofs,
                                                             self.psol_i,
                                                             psol,
                                                             comm=comm)