#include "petsc_version_defs.h"
#include <petsc/finclude/petscsnes.h>
#include <petscversion.h>
|
subroutine | petsc_solve (nn, bb, bb2, xx, comm, solver, x_boundary, b_boundary, b2_boundary, bdy_flag, ierr) |
|
subroutine | formjacobian (dummy, X, jac, jac_prec, solver, ierr) |
|
subroutine | formfunction (snes_dummy, X, F, solver, ierr) |
|
subroutine | write_vec (nn, phi, file_name, vec_name, ierr) |
|
subroutine | petsc_spectral_solve (nn, solver, rhs1, rhs2, field, ierr) |
| Driver for the spectral XGC field solver. More...
|
|
#define __FUNCT__ "petsc_solve" |
#define __FUNCT__ "FormJacobian" |
#define __FUNCT__ "FormFunction" |
#define __FUNCT__ "write_vec" |
subroutine formfunction |
( |
|
snes_dummy, |
|
|
|
X, |
|
|
|
F, |
|
|
type(xgc_solver) |
solver, |
|
|
|
ierr |
|
) |
| |
subroutine formjacobian |
( |
|
dummy, |
|
|
|
X, |
|
|
|
jac, |
|
|
|
jac_prec, |
|
|
type(xgc_solver) |
solver, |
|
|
|
ierr |
|
) |
| |
subroutine petsc_solve |
( |
integer |
nn, |
|
|
|
bb, |
|
|
|
bb2, |
|
|
|
xx, |
|
|
integer |
comm, |
|
|
type(xgc_solver) |
solver, |
|
|
dimension(solver%n_boundary) |
x_boundary, |
|
|
dimension(solver%n_boundary) |
b_boundary, |
|
|
dimension(solver%n_boundary) |
b2_boundary, |
|
|
logical, intent(in) |
bdy_flag, |
|
|
|
ierr |
|
) |
| |
subroutine petsc_spectral_solve |
( |
integer, intent(in) |
nn, |
|
|
type(xgc_solver), intent(inout) |
solver, |
|
|
real(kind=8), dimension(nn,solver%blocksize), intent(in) |
rhs1, |
|
|
real(kind=8), dimension(nn,solver%blocksize), intent(in) |
rhs2, |
|
|
real(kind=8), dimension(nn,solver%blocksize), intent(out) |
field, |
|
|
|
ierr |
|
) |
| |
Driver for the spectral XGC field solver.
- Parameters
-
[in] | nn | Number of vertices per plane in XGC mesh, integer |
[in] | solver | XGC solver object, type(xgc_solver) |
[in] | rhs1 | Main right hand side vector, real(8) |
[in] | rhs2 | Secondary right hand side vector, real(8) |
[out] | field | Solution of the field equation, real(8) |
[in,out] | ierr | PETSc error code, PetscErrorCode |
subroutine write_vec |
( |
integer, intent(in) |
nn, |
|
|
dimension(nn) |
phi, |
|
|
character (len=*), intent(in) |
file_name, |
|
|
character (len=*), intent(in) |
vec_name, |
|
|
intent(out) |
ierr |
|
) |
| |