Peano
Loading...
Searching...
No Matches
cg.py
Go to the documentation of this file.
1import os, sys
2import argparse
3import peano4.api
4import mghype
5import numpy as np
6
7import commonsteps
8
9
10args = commonsteps.get_args()
11
12
13executable = "peano4matrixfree"
14
15
16project = mghype.matrixfree.api.Project( project_name = "CollocatedFEM",
17 namespace = [ "tests", "multigrid", "matrixfree", "poisson" ],
18 executable = executable
19 )
20
21#! [Construct matrices]
22poisson_equation_matrices = mghype.api.matrixgenerators.DLinear(
23 dimensions = args.dimensions,
24 unknowns_per_node = 1
25)
26
27system_matrix, system_matrix_scaling = poisson_equation_matrices.get_cell_system_matrix_for_laplacian()
28mass_matrix, mass_matrix_scaling = poisson_equation_matrices.get_cell_mass_matrix()
29#! [Construct matrices]
30
31solver = mghype.matrixfree.solvers.api.CollocatedDLinearDiscretisationWithPointJacobi("CollocatedPoisson",
32 1, # unknowns
33 args.dimensions,
34 args.meshsize,
35 args.meshsize,
36 local_assembly_matrix = system_matrix,
37 local_assembly_matrix_scaling=system_matrix_scaling,
38 mass_matrix = mass_matrix,
39 mass_matrix_scaling = mass_matrix_scaling,
40 solver_tolerance=0.01
41 )
42
43project.add_solver(solver)
44
45commonsteps.configure_and_build_project(args,project)
46commonsteps.run_and_validate(args,executable)
Simple matrix generator for continuous d-linear finite elements.
Definition DLinear.py:10