:orphan: # SNESFAS Full Approximation Scheme nonlinear multigrid solver. The nonlinear problem is solved by correction using coarse versions of the nonlinear problem. This problem is perturbed so that a projected solution of the fine problem elicits no correction from the coarse problem. ## Options Database Keys and Prefixes - ***-snes_fas_levels -*** The number of levels - ***-snes_fas_cycles<1> -*** The number of cycles -- 1 for V, 2 for W - ***-snes_fas_type -*** Additive or multiplicative cycle - ***-snes_fas_galerkin<`PETSC_FALSE`> -*** Form coarse problems by projection back upon the fine problem - ***-snes_fas_smoothup<1> -*** The number of iterations of the post-smoother - ***-snes_fas_smoothdown<1> -*** The number of iterations of the pre-smoother - ***-snes_fas_monitor -*** Monitor progress of all of the levels - ***-snes_fas_full_downsweep<`PETSC_FALSE`> -*** call the downsmooth on the initial downsweep of full FAS - ***-fas_levels_snes_ -*** `SNES` options for all smoothers - ***-fas_levels_cycle_snes_ -*** `SNES` options for all cycles - ***-fas_levels_i_snes_ -*** `SNES` options for the smoothers on level i - ***-fas_levels_i_cycle_snes_ -*** `SNES` options for the cycle on level i - ***-fas_coarse_snes_ -*** `SNES` options for the coarsest smoother ## Note The organization of the FAS solver is slightly different from the organization of `PCMG` As each level has smoother `SNES` instances(down and potentially up) and a cycle `SNES` instance. The cycle `SNES` instance may be used for monitoring convergence on a particular level. ## References - **** -*** Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu, "Composing Scalable Nonlinear Algebraic Solvers", SIAM Review, 57(4), 2015 ## See Also `PCMG`, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESType`, `SNESFASSetRestriction()`, `SNESFASSetInjection()`, `SNESFASFullGetTotal()` ## Level beginner ## Location src/snes/impls/fas/fas.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/fas/fas.c) [Index of all SNESFAS routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)