VMEC 8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
solver.f90
Go to the documentation of this file.
1
3
11SUBROUTINE solver(amat, b, m, nrhs, info)
12
13 USE stel_kinds
14
15 IMPLICIT NONE
16
17 INTEGER, INTENT(in) :: m, nrhs
18 INTEGER, INTENT(out) :: info
19 REAL(rprec), INTENT(inout) :: amat(m,m)
20 REAL(rprec), INTENT(inout) :: b(m,nrhs)
21
22 INTEGER, ALLOCATABLE :: ipiv(:)
23
24 info = 0
25 ALLOCATE (ipiv(m))
26
27 ! Compute the solution to a REAL system of linear equations
28 ! AMAT * X = B,
29 ! WHERE AMAT is an M-by-M matrix and X and B are N-by-NRHS matrices.
30
31 ! FACTOR AMATRIX INTO LU FORM AND SOLVE BY GAUSSIAN ELIMINATION
32 CALL dgesv (m, nrhs, amat, m, ipiv, b, m, info)
33
34 ! IF (info .ne. 0) PRINT *, ' Condition No. = 0 in Solver'
35
36 DEALLOCATE (ipiv)
37
38END SUBROUTINE solver
subroutine solver(amat, b, m, nrhs, info)
Solve a linear system of equations using dgesv.
Definition solver.f90:12