Handle linear system solvers with three different attribute features: Direct, Iterative, and Multigrid.PType is any of the allowed preconditioner feature types. These types are Direct preconditioner, Multigrid, Domain decomposition, SCGS, SOR, SOR Gauge, SOR Vector, Vanka, SOR Line, SCGS, AMS, Incomplete LU, and Krylov preconditioners. SType is any of the allowed smoother types. These are the same as the PType except Domain decomposition, Multigrid, and AMS. CType is any of the allowed coarse grid solver types: Direct and all types listed for PType.Specify the Presmoother, Postsmoother, and Coarse Solver via feature("ps"), feature("po"), and feature("cs"), respectively. These features are for administrative purposes only and do not contain any settings themselves.The prefun property for the solver (preconditioner) accepts a different set of values depending on the context. In the section below, its possible values and default value is listed for each preconditioner that supports it.
Table 6-36: Valid Direct Properties (For All Solver) on | off on
off (eigenvalue solver) on | off scalar > 1 400
1 (coarse solver)
Table 6-37: Optional Direct Properties on | off auto | manual on | off on | off Use out-of-core (PARDISO, MUMPS). on | off on | off on | off on | off
Table 6-38: Valid Iterative Properties (for All Solvers) on | off gmres, ilu (precond) 10000
500 (coarse solver) on | off scalar > 1 400
1 (coarse solver)
Table 6-39: Optional Iterative Properties tol | fill tol | iter left | right on | off sysmat | saipowa on | off on | off on | off single | multi all | manual on | off GMRES restart value (vanka). gmres | direct Local block solver (vanka). GMRES tolerance (vanka). The property divcleantol is used in the inequality |TTb| < divcleantol · |b| to ensure that the numerical divergence after divergence cleaning is small enough; see SOR Gauge in the COMSOL Multiphysics Reference Manual.
Table 6-40: Valid Multigrid Properties gmg | amg scalar > 1 400
1 (coarse solver)
Table 6-41: Optional Multigrid Properties auto | manual single | multi all | manual Jacobi damping factor (saamg). on | off on | off constant | rbm regular | longest Mesh scale factor (gmg). Strength of connection (saamg). on | off Use aggressive coarsening (saamg). on | off Use filtering (saamg).For the geometric multigrid solver/preconditioners, the multigrid hierarchy is controlled in the following way (see also Multigrid in the COMSOL Multiphysics Reference Manual):
• If mcasegen=all, any, or coarse, coarseorder, then the multigrid hierarchy is automatically constructed starting from the mesh and discretization set by the study. The number of multigrid levels generated is given in the property gmglevels. The method all and any first tries to lower the discretization order for the shape functions used, and secondly coarsens the mesh. The method all lowers the order (by one) if all used shape functions can be lowered. The method any lowers the order (by one) if at least one shape function can be lowered. The method coarse does not lower the order, it only coarsens the mesh. The method coarseorder both lowers the order (for any shape functions that can be lowered by one) and coarsen the mesh, at the same time.
• If mcasegen=refine, refineany, or refineall then the multigrid hierarchy is automatically constructed by a combination of refining the mesh given by the study and changing the discretization. The number of multigrid levels generated is given in the property gmglevels. The refinement method can be specified using the property rmethod. The originally selected mesh for the study is used, in the case of refining the mesh, in a multigridlevel and the finest multigrid level generated is used for the study (solved for). The generated multigrid levels are kept in the model and the mcasegen property is changed into manual. The method refine only refines the mesh and does not change the shape function order. The method refineany and refineall first tries to lower the order, and secondly refines the mesh. The method refineany constructs a multigrid level by lowering the order (by one) if at least on shape function can be lowered. The method refineall generates multigrid levels by lowering the order (by one) if all used shape function can be lowered.
• If mcasegen=manual, then the existing multigrid levels (children to the current study) can be used. The subset to use is selected by giving their tags to the mcaseuse property.The construction of coarse level matrices is controlled by the property massem and mcaseassem. The first property controls if the matrices should be assembled for the automatically generated levels. If set to off, prolongation and restriction matrices are used to project the matrices from the top level in the hierarchy. The second property controls which multigrid levels that should use the assemble technique in the mcasegen=manual case.When an iterative solver is used as preconditioner, smoother, or coarse solver you can choose whether to solve using a tolerance or to perform a fixed number of iterations. When used as a coarse solver the default is to solve using a tolerance. When used as a preconditioner or smoother the default is to perform a fixed number of iterations. If both properties itol and iter are given, the program solves using a tolerance.
Table 6-42: Valid Domain decomposition Properties none | space on | off on | off on | off Use coarse level: geometric (on), algebraic multigrid (algebraic), aggregations AMG (aggregation), or off. longest | regular Use coarse level in geometries (for mcasegen = coarseorder | all | any | coarse | refineall | refineany | refine). on | off Assemble on coarse level (for mcasegen = coarseorder | all | any | coarse | refineall | refineany | refine | manual). on | off on | off Quality of multigrid hierarchy (algebraic). auto | manual Postpone prolongation smoothing (aggregation). Quality of multigrid hierarchy (algebraic). Jacobi damping factor (aggregation). Strength of connection (aggregation). on | off Use aggressive coarsening (aggregation). on | off Use filtering (aggregation). single | multi all | manual Specify the Coarse Solver/Domain Solver via feature("cs") and feature("ds"), respectively. These features are for administrative purposes only and do not contain any settings themselves.model.sol("sol1").feature("s1").feature("i1").feature("dd1").
set("domgeom", new String[]{"geom1"});
Table 6-43: SOR prefun Property
Table 6-44: SSOR Gauge prefun Property
Table 6-45: SOR Vector prefun Property