CFMultigrid
Documentation for CFMultigrid.
CFMultigrid.Param — Type
param = Param()returns the default parameters set for the multigrid. param is mutable. All the entries can be modified.
print(param)to see all the parameters. param is the sole input argument to create a multigrid object (see ?get_gmg)
CFMultigrid.get_gmg — Method
mg = get_gmg(param)Returns a multigrid object, whose specs are defined by param (see ?Param)
- The operator A is defined by param.operator. So far only the
:laplacianis implemented - Two types of boundary conditions (BC) are possible: Dirichlet and Neumann. They are selected by setting the param.location of the discretized variables: either
:vertices(for Dirichlet) or:centers(for Neumann).
To see the grid hierarchy
`print(mg.levels)`To solve A * x = b
`res, nite = solve!(mg)`- b, the r.h.s., must be copied in
mg.data[1].b(a 3d array) - x, the first guess and the solution, is in
mg.data[1].x(a 3d array)
Irregular domains are handled with a mask system. Look inside 'tests/' for examples.