ADflow  v1.0
ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
Functions/Subroutines | Variables
anksolver Module Reference

Functions/Subroutines

subroutine setupanksolver
 
subroutine formjacobianank
 
subroutine computetimestepmat (usePC)
 
subroutine computetimestepblock (i, j, k, timeStepBlock)
 
subroutine formjacobianankturb
 
subroutine formfunction_mf (ctx, inVec, rVec, ierr)
 
subroutine formfunction_mf_turb (ctx, inVec, rVec, ierr)
 
subroutine computeunsteadyresank (omega)
 
subroutine computeunsteadyresankturb (omega)
 
subroutine destroyanksolver
 
subroutine setwvecank (wVec, lStart, lEnd)
 
subroutine setrvecank (rVec)
 
subroutine setrvecankturb (rVecTurb)
 
subroutine setwank (wVec, lStart, lEnd)
 
subroutine physicalitycheckank (lambdaP)
 
subroutine physicalitycheckankturb (lambdaP)
 
subroutine ankturbsolveksp
 
subroutine ankstep (firstCall)
 

Variables

logical useanksolver
 
integer(kind=inttype) ank_jacobianlag
 
integer(kind=inttype) ank_subspace
 
integer(kind=inttype) ank_maxiter
 
integer(kind=inttype) ank_asmoverlap
 
integer(kind=inttype) ank_asmoverlapcoarse
 
integer(kind=inttype) ank_ilufill
 
integer(kind=inttype) ank_ilufillcoarse
 
integer(kind=inttype) ank_innerpreconits
 
integer(kind=inttype) ank_innerpreconitscoarse
 
integer(kind=inttype) ank_outerpreconits
 
integer(kind=inttype) ank_amglevels
 
integer(kind=inttype) ank_amgnsmooth
 
character(len=maxstringlen) ank_precondtype
 
real(kind=realtype) ank_rtol
 
real(kind=realtype) ank_atol_buffer
 
real(kind=realtype) ank_linresmax
 
real(kind=realtype) ank_switchtol
 
real(kind=realtype) ank_divtol = 10
 
logical ank_useturbdadi
 
logical ank_useapproxsa
 
real(kind=realtype) ank_turbcflscale
 
logical ank_usefullvisc
 
logical ank_adpc
 
logical ank_turbdebug
 
logical ank_usematrixfree
 
character(len=maxstringlen) ank_chartimesteptype
 
integer(kind=inttype) ank_nsubiterturb
 
real(kind=realtype) ank_cfl
 
real(kind=realtype) ank_cfl0
 
real(kind=realtype) ank_cfllimit
 
real(kind=realtype) ank_cflfactor
 
real(kind=realtype) ank_cflcutback
 
real(kind=realtype) ank_cflmin0
 
real(kind=realtype) ank_cflmin
 
real(kind=realtype) ank_cflminbase
 
real(kind=realtype) ank_cflexponent
 
real(kind=realtype) ank_stepmin
 
real(kind=realtype) ank_stepfactor
 
real(kind=realtype) ank_constcflstep
 
real(kind=realtype) ank_secondordswitchtol
 
real(kind=realtype) ank_coupledswitchtol
 
real(kind=realtype) ank_physlstol
 
real(kind=realtype) ank_unstdylstol
 
real(kind=realtype) ank_pcupdatetol
 
real(kind=realtype) ank_pcupdatetol2
 
real(kind=realtype) ank_pcupdatecutoff
 
real(kind=realtype) lambda
 
logical ank_solversetup = .False.
 
logical ank_cflreset
 
integer(kind=inttype) ank_iter
 
integer(kind=inttype) nstate
 
real(kind=alwaysrealtype) totalr_old
 
real(kind=alwaysrealtype) totalr_pcupdate
 
real(kind=alwaysrealtype) rtollast
 
real(kind=alwaysrealtype) linresold
 
logical ank_usedissapprox
 
logical ank_coupled = .False.
 
logical ank_turbsetup = .False.
 
integer(kind=inttype) ank_iterturb
 
integer(kind=inttype) nstateturb
 
real(kind=realtype) lambdaturb
 
real(kind=realtype) ank_physlstolturb
 
real(kind=alwaysrealtype) linresoldturb
 

Function/Subroutine Documentation

◆ ankstep()

subroutine anksolver::ankstep ( logical, intent(in)  firstCall)

Definition at line 3629 of file NKSolvers.F90.

References ank_atol_buffer, ank_cfl, ank_cfl0, ank_cflcutback, ank_cflexponent, ank_cflfactor, ank_cfllimit, ank_cflmin, ank_cflmin0, ank_cflminbase, ank_cflreset, ank_constcflstep, ank_coupled, ank_coupledswitchtol, ank_iter, ank_iterturb, ank_jacobianlag, ank_linresmax, ank_maxiter, ank_pcupdatecutoff, ank_pcupdatetol, ank_pcupdatetol2, ank_rtol, ank_secondordswitchtol, ank_stepfactor, ank_stepmin, ank_unstdylstol, ank_useapproxsa, ank_usedissapprox, ank_useturbdadi, ankturbsolveksp(), bcroutines::applyallbc(), bcroutines::applyallbc_block(), inputdiscretization::approxsa, iteration::approxtotalits, blockette::blocketteres(), turbutils::computeeddyviscosity(), flowutils::computelamviscosity(), computetimestepmat(), computeunsteadyresank(), solverutils::computeutau(), iteration::currentlevel, destroyanksolver(), utils::echk(), inputphysics::equations, constants::firstorder, formfunction_mf(), formjacobianank(), blockpointers::gamma, nksolver::getewtol(), blockpointers::ib, iteration::itertype, blockpointers::jb, blockpointers::kb, flowvarrefstate::kpresent, inputiteration::l2conv, lambda, lambdaturb, iteration::linresmonitor, linresold, linresoldturb, inputdiscretization::lumpeddiss, nstate, flowvarrefstate::nt1, flowvarrefstate::nt2, inputtimespectral::ntimeintervalsspectral, flowvarrefstate::nw, flowvarrefstate::nwf, inputdiscretization::orderturb, oversetdata::oversetpresent, blockpointers::p, physicalitycheckank(), flowvarrefstate::pinfcorr, constants::ransequations, adjointutils::referenceshocksensor(), rtollast, utils::setpointers(), nksolver::setrvec(), setrvecank(), setrvecankturb(), initializeflow::setuniformflow(), setupanksolver(), setwank(), setwvecank(), blockpointers::shocksensor, iteration::stepmonitor, iteration::totalr, iteration::totalr0, totalr_old, totalr_pcupdate, turbapi::turbsolveddadi(), blockpointers::w, haloexchange::whalo2(), and constants::zero.

Referenced by solvers::solvestate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ankturbsolveksp()

subroutine anksolver::ankturbsolveksp

◆ computetimestepblock()

subroutine anksolver::computetimestepblock ( integer(kind=inttype), intent(in)  i,
integer(kind=inttype), intent(in)  j,
integer(kind=inttype), intent(in)  k,
real(kind=realtype), dimension(nstate, nstate), intent(out)  timeStepBlock 
)

◆ computetimestepmat()

subroutine anksolver::computetimestepmat ( logical, intent(in)  usePC)

◆ computeunsteadyresank()

subroutine anksolver::computeunsteadyresank ( real(kind=realtype), intent(in)  omega)

◆ computeunsteadyresankturb()

subroutine anksolver::computeunsteadyresankturb ( real(kind=realtype), intent(in)  omega)

◆ destroyanksolver()

subroutine anksolver::destroyanksolver

Definition at line 2788 of file NKSolvers.F90.

References ank_solversetup, ank_turbsetup, amg::destroyamg(), and utils::echk().

Referenced by ankstep(), and solvers::solvestate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ formfunction_mf()

subroutine anksolver::formfunction_mf (   ctx,
  inVec,
  rVec,
integer(kind=inttype)  ierr 
)

◆ formfunction_mf_turb()

subroutine anksolver::formfunction_mf_turb (   ctx,
  inVec,
  rVec,
integer(kind=inttype)  ierr 
)

◆ formjacobianank()

subroutine anksolver::formjacobianank

◆ formjacobianankturb()

subroutine anksolver::formjacobianankturb

◆ physicalitycheckank()

subroutine anksolver::physicalitycheckank ( real(kind=realtype), intent(inout)  lambdaP)

◆ physicalitycheckankturb()

subroutine anksolver::physicalitycheckankturb ( real(kind=realtype), intent(inout)  lambdaP)

◆ setrvecank()

subroutine anksolver::setrvecank (   rVec)

◆ setrvecankturb()

subroutine anksolver::setrvecankturb (   rVecTurb)

◆ setupanksolver()

subroutine anksolver::setupanksolver

◆ setwank()

subroutine anksolver::setwank (   wVec,
integer(kind=inttype), intent(in)  lStart,
integer(kind=inttype), intent(in)  lEnd 
)

Definition at line 2975 of file NKSolvers.F90.

References utils::echk(), blockpointers::il, blockpointers::jl, blockpointers::kl, inputtimespectral::ntimeintervalsspectral, utils::setpointers(), blockpointers::vol, and blockpointers::w.

Referenced by ankstep(), ankturbsolveksp(), formfunction_mf(), and formfunction_mf_turb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setwvecank()

subroutine anksolver::setwvecank (   wVec,
integer(kind=inttype), intent(in)  lStart,
integer(kind=inttype), intent(in)  lEnd 
)

Definition at line 2856 of file NKSolvers.F90.

References utils::echk(), blockpointers::il, blockpointers::jl, blockpointers::kl, inputtimespectral::ntimeintervalsspectral, utils::setpointers(), and blockpointers::w.

Referenced by ankstep().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ank_adpc

logical anksolver::ank_adpc

Definition at line 1685 of file NKSolvers.F90.

Referenced by formjacobianank(), and formjacobianankturb().

◆ ank_amglevels

integer(kind=inttype) anksolver::ank_amglevels

Definition at line 1673 of file NKSolvers.F90.

Referenced by computetimestepmat(), formjacobianank(), and setupanksolver().

◆ ank_amgnsmooth

integer(kind=inttype) anksolver::ank_amgnsmooth

Definition at line 1674 of file NKSolvers.F90.

Referenced by setupanksolver().

◆ ank_asmoverlap

integer(kind=inttype) anksolver::ank_asmoverlap

Definition at line 1666 of file NKSolvers.F90.

Referenced by formjacobianank(), and formjacobianankturb().

◆ ank_asmoverlapcoarse

integer(kind=inttype) anksolver::ank_asmoverlapcoarse

Definition at line 1667 of file NKSolvers.F90.

Referenced by formjacobianank().

◆ ank_atol_buffer

real(kind=realtype) anksolver::ank_atol_buffer

Definition at line 1677 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cfl

real(kind=realtype) anksolver::ank_cfl

◆ ank_cfl0

real(kind=realtype) anksolver::ank_cfl0

Definition at line 1692 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cflcutback

real(kind=realtype) anksolver::ank_cflcutback

Definition at line 1692 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cflexponent

real(kind=realtype) anksolver::ank_cflexponent

Definition at line 1693 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cflfactor

real(kind=realtype) anksolver::ank_cflfactor

Definition at line 1692 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cfllimit

real(kind=realtype) anksolver::ank_cfllimit

Definition at line 1692 of file NKSolvers.F90.

Referenced by ankstep(), and computetimestepblock().

◆ ank_cflmin

real(kind=realtype) anksolver::ank_cflmin

Definition at line 1693 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ ank_cflmin0

real(kind=realtype) anksolver::ank_cflmin0

Definition at line 1693 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cflminbase

real(kind=realtype) anksolver::ank_cflminbase

Definition at line 1693 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_cflreset

logical anksolver::ank_cflreset

Definition at line 1701 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_chartimesteptype

character(len=maxstringlen) anksolver::ank_chartimesteptype

Definition at line 1688 of file NKSolvers.F90.

Referenced by computetimestepblock().

◆ ank_constcflstep

real(kind=realtype) anksolver::ank_constcflstep

Definition at line 1694 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_coupled

logical anksolver::ank_coupled = .False.

◆ ank_coupledswitchtol

real(kind=realtype) anksolver::ank_coupledswitchtol

Definition at line 1695 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_divtol

real(kind=realtype) anksolver::ank_divtol = 10

Definition at line 1680 of file NKSolvers.F90.

◆ ank_ilufill

integer(kind=inttype) anksolver::ank_ilufill

Definition at line 1668 of file NKSolvers.F90.

Referenced by formjacobianank(), and formjacobianankturb().

◆ ank_ilufillcoarse

integer(kind=inttype) anksolver::ank_ilufillcoarse

Definition at line 1669 of file NKSolvers.F90.

Referenced by formjacobianank().

◆ ank_innerpreconits

integer(kind=inttype) anksolver::ank_innerpreconits

Definition at line 1670 of file NKSolvers.F90.

Referenced by formjacobianank(), and formjacobianankturb().

◆ ank_innerpreconitscoarse

integer(kind=inttype) anksolver::ank_innerpreconitscoarse

Definition at line 1671 of file NKSolvers.F90.

Referenced by formjacobianank().

◆ ank_iter

integer(kind=inttype) anksolver::ank_iter

Definition at line 1702 of file NKSolvers.F90.

Referenced by ankstep(), and setupanksolver().

◆ ank_iterturb

integer(kind=inttype) anksolver::ank_iterturb

Definition at line 1711 of file NKSolvers.F90.

Referenced by ankstep(), ankturbsolveksp(), and setupanksolver().

◆ ank_jacobianlag

integer(kind=inttype) anksolver::ank_jacobianlag

Definition at line 1663 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ ank_linresmax

real(kind=realtype) anksolver::ank_linresmax

Definition at line 1678 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_maxiter

integer(kind=inttype) anksolver::ank_maxiter

Definition at line 1665 of file NKSolvers.F90.

Referenced by ankstep(), ankturbsolveksp(), formjacobianank(), and formjacobianankturb().

◆ ank_nsubiterturb

integer(kind=inttype) anksolver::ank_nsubiterturb

Definition at line 1689 of file NKSolvers.F90.

Referenced by ankturbsolveksp().

◆ ank_outerpreconits

integer(kind=inttype) anksolver::ank_outerpreconits

Definition at line 1672 of file NKSolvers.F90.

Referenced by formjacobianank().

◆ ank_pcupdatecutoff

real(kind=realtype) anksolver::ank_pcupdatecutoff

Definition at line 1698 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_pcupdatetol

real(kind=realtype) anksolver::ank_pcupdatetol

Definition at line 1697 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_pcupdatetol2

real(kind=realtype) anksolver::ank_pcupdatetol2

Definition at line 1697 of file NKSolvers.F90.

Referenced by ankstep().

◆ ank_physlstol

real(kind=realtype) anksolver::ank_physlstol

Definition at line 1696 of file NKSolvers.F90.

Referenced by physicalitycheckank().

◆ ank_physlstolturb

real(kind=realtype) anksolver::ank_physlstolturb

Definition at line 1712 of file NKSolvers.F90.

Referenced by physicalitycheckank(), and physicalitycheckankturb().

◆ ank_precondtype

character(len=maxstringlen) anksolver::ank_precondtype

Definition at line 1675 of file NKSolvers.F90.

Referenced by computetimestepmat(), formjacobianank(), and setupanksolver().

◆ ank_rtol

real(kind=realtype) anksolver::ank_rtol

Definition at line 1676 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ ank_secondordswitchtol

real(kind=realtype) anksolver::ank_secondordswitchtol

Definition at line 1695 of file NKSolvers.F90.

Referenced by ankstep(), ankturbsolveksp(), formjacobianank(), and formjacobianankturb().

◆ ank_solversetup

logical anksolver::ank_solversetup = .False.

Definition at line 1700 of file NKSolvers.F90.

Referenced by destroyanksolver(), and setupanksolver().

◆ ank_stepfactor

real(kind=realtype) anksolver::ank_stepfactor

◆ ank_stepmin

real(kind=realtype) anksolver::ank_stepmin

Definition at line 1694 of file NKSolvers.F90.

Referenced by ankstep(), physicalitycheckank(), and physicalitycheckankturb().

◆ ank_subspace

integer(kind=inttype) anksolver::ank_subspace

Definition at line 1664 of file NKSolvers.F90.

Referenced by formjacobianank(), and formjacobianankturb().

◆ ank_switchtol

real(kind=realtype) anksolver::ank_switchtol

Definition at line 1679 of file NKSolvers.F90.

Referenced by solvers::solvestate().

◆ ank_turbcflscale

real(kind=realtype) anksolver::ank_turbcflscale

◆ ank_turbdebug

logical anksolver::ank_turbdebug

Definition at line 1686 of file NKSolvers.F90.

Referenced by ankturbsolveksp().

◆ ank_turbsetup

logical anksolver::ank_turbsetup = .False.

Definition at line 1710 of file NKSolvers.F90.

Referenced by destroyanksolver(), and setupanksolver().

◆ ank_unstdylstol

real(kind=realtype) anksolver::ank_unstdylstol

Definition at line 1696 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ ank_useapproxsa

logical anksolver::ank_useapproxsa

Definition at line 1682 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ ank_usedissapprox

logical anksolver::ank_usedissapprox

Definition at line 1706 of file NKSolvers.F90.

Referenced by ankstep(), formfunction_mf(), and setupanksolver().

◆ ank_usefullvisc

logical anksolver::ank_usefullvisc

Definition at line 1684 of file NKSolvers.F90.

Referenced by formfunction_mf().

◆ ank_usematrixfree

logical anksolver::ank_usematrixfree

Definition at line 1687 of file NKSolvers.F90.

Referenced by setupanksolver().

◆ ank_useturbdadi

logical anksolver::ank_useturbdadi

Definition at line 1681 of file NKSolvers.F90.

Referenced by ankstep(), and setupanksolver().

◆ lambda

real(kind=realtype) anksolver::lambda

Definition at line 1699 of file NKSolvers.F90.

Referenced by ankstep().

◆ lambdaturb

real(kind=realtype) anksolver::lambdaturb

Definition at line 1712 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ linresold

real(kind=alwaysrealtype) anksolver::linresold

Definition at line 1705 of file NKSolvers.F90.

Referenced by ankstep().

◆ linresoldturb

real(kind=alwaysrealtype) anksolver::linresoldturb

Definition at line 1713 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ nstate

integer(kind=inttype) anksolver::nstate

Definition at line 1703 of file NKSolvers.F90.

Referenced by ankstep(), formfunction_mf(), and setupanksolver().

◆ nstateturb

integer(kind=inttype) anksolver::nstateturb

Definition at line 1711 of file NKSolvers.F90.

Referenced by formjacobianankturb(), and setupanksolver().

◆ rtollast

real(kind=alwaysrealtype) anksolver::rtollast

Definition at line 1705 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ totalr_old

real(kind=alwaysrealtype) anksolver::totalr_old

Definition at line 1704 of file NKSolvers.F90.

Referenced by ankstep(), and ankturbsolveksp().

◆ totalr_pcupdate

real(kind=alwaysrealtype) anksolver::totalr_pcupdate

Definition at line 1704 of file NKSolvers.F90.

Referenced by ankstep().

◆ useanksolver

logical anksolver::useanksolver

Definition at line 1662 of file NKSolvers.F90.

Referenced by solvers::solvestate().