def test_integral(self): g, d = setup_3d_grid() src_disc = source.Integral() lhs, rhs = src_disc.matrix_rhs(g, d) rhs_t = np.array([0, 0, 0, 0, 1, 0, 0, 0]) assert src_disc.ndof(g) == g.num_cells assert np.all(rhs == rhs_t) assert lhs.shape == (8, 8) assert lhs.nnz == 0
def main(N): Nx = Ny = N #g = structured.CartGrid([Nx, Ny], [1, 1]) g = simplex.StructuredTriangleGrid([Nx, Ny], [1, 1]) g.compute_geometry() # Assign parameters data = add_data(g) # Choose and define the solvers solver = mpfa.Mpfa('flow') A, b_flux = solver.matrix_rhs(g, data) _, b_source = source.Integral('flow').matrix_rhs(g, data) p = sps.linalg.spsolve(A, b_flux + b_source) diam = np.amax(g.cell_diameters()) return diam, error_p(g, p)
def source_disc(self): 'Discretization of source term, q' if self.is_GridBucket: return source.IntegralMixedDim(physics=self.physics) else: return source.Integral(physics=self.physics)
def source_disc(self): if self.is_GridBucket: return source.IntegralMixedDim(physics=self.physics, coupling=[None]) else: return source.Integral(physics=self.physics)