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

Functions/Subroutines

subroutine computematrixfreeproductfwd (xvdot, extradot, wdot, bcDataValuesdot, useSpatial, useState, famLists, bcDataNames, bcDataValues, bcDataFamLists, bcVarsEmpty, dwdot, funcsDot, fDot, costSize, fSize, nTime)
 
subroutine computematrixfreeproductbwd (dwbar, funcsBar, fbar, useSpatial, useState, xvbar, extrabar, wbar, spatialSize, extraSize, stateSize, famLists, bcDataNames, bcDataValues, bcDataValuesbar, bcDataFamLists, BCVarsEmpty)
 
subroutine computematrixfreeproductbwdfast (dwbar, wbar, stateSize)
 
subroutine solveadjointforrhs (inVec, outVec, nDOF, relativeTolerance)
 
subroutine solvedirectforrhs (inVec, outVec, nDOF, relativeTolerance)
 
subroutine saveadjointmatrix (fileName)
 
subroutine saveadjointpc (fileName)
 
subroutine saveadjointrhs (RHS, fileName, nstate)
 
subroutine spectralprecscribedmotion (input, nin, dXv, nout)
 
subroutine setupallresidualmatricesfwd
 
subroutine solveadjoint (RHS, psi, checkSolution, nState)
 
subroutine setuppetscksp
 
subroutine savecellcenters (fileName)
 
subroutine drdwtmatmult (A, vecX, vecY, ierr)
 
subroutine drdwmatmult (A, vecX, vecY, ierr)
 
subroutine createpetscvars
 

Variables

character(len=maxstringlen) timeformat = "(A, 1X, F8.2)"
 
character(len=maxstringlen) exitformat = "(1X, A, 1X, I5, 1X, A)"
 

Function/Subroutine Documentation

◆ computematrixfreeproductbwd()

subroutine adjointapi::computematrixfreeproductbwd ( real(kind=realtype), dimension(:), intent(in)  dwbar,
real(kind=realtype), dimension(:, :), intent(in)  funcsBar,
real(kind=realtype), dimension(:, :, :)  fbar,
logical, intent(in)  useSpatial,
logical, intent(in)  useState,
real(kind=realtype), dimension(spatialsize), intent(out)  xvbar,
real(kind=realtype), dimension(extrasize), intent(out)  extrabar,
real(kind=realtype), dimension(statesize), intent(out)  wbar,
integer(kind=inttype), intent(in)  spatialSize,
integer(kind=inttype), intent(in)  extraSize,
integer(kind=inttype), intent(in)  stateSize,
integer(kind=inttype), dimension(:, :), intent(in)  famLists,
character, dimension(:, :), intent(in)  bcDataNames,
real(kind=realtype), dimension(:), intent(in)  bcDataValues,
real(kind=realtype), dimension(size(bcdatavalues)), intent(out)  bcDataValuesbar,
integer(kind=inttype), dimension(:, :)  bcDataFamLists,
logical, intent(in)  BCVarsEmpty 
)

◆ computematrixfreeproductbwdfast()

subroutine adjointapi::computematrixfreeproductbwdfast ( real(kind=realtype), dimension(statesize), intent(in)  dwbar,
real(kind=realtype), dimension(statesize), intent(out)  wbar,
integer(kind=inttype), intent(in)  stateSize 
)

◆ computematrixfreeproductfwd()

subroutine adjointapi::computematrixfreeproductfwd ( real(kind=realtype), dimension(:), intent(in)  xvdot,
real(kind=realtype), dimension(:), intent(in)  extradot,
real(kind=realtype), dimension(:), intent(in)  wdot,
real(kind=realtype), dimension(:), intent(in)  bcDataValuesdot,
logical, intent(in)  useSpatial,
logical, intent(in)  useState,
integer(kind=inttype), dimension(:, :)  famLists,
character, dimension(:, :), intent(in)  bcDataNames,
real(kind=realtype), dimension(:), intent(in)  bcDataValues,
integer(kind=inttype), dimension(:, :)  bcDataFamLists,
logical, intent(in)  bcVarsEmpty,
real(kind=realtype), dimension(size(wdot)), intent(out)  dwdot,
real(kind=realtype), dimension(costsize, size(famlists, 1)), intent(out)  funcsDot,
real(kind=realtype), dimension(3, fsize, ntime), intent(out)  fDot,
integer(kind=inttype)  costSize,
integer(kind=inttype)  fSize,
integer(kind=inttype)  nTime 
)

◆ createpetscvars()

subroutine adjointapi::createpetscvars

◆ drdwmatmult()

subroutine adjointapi::drdwmatmult (   A,
  vecX,
  vecY,
integer(kind=inttype)  ierr 
)

◆ drdwtmatmult()

subroutine adjointapi::drdwtmatmult (   A,
  vecX,
  vecY,
integer(kind=inttype)  ierr 
)

Definition at line 1007 of file adjointAPI.F90.

References computematrixfreeproductbwdfast(), and utils::echk().

Referenced by createpetscvars().

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

◆ saveadjointmatrix()

subroutine adjointapi::saveadjointmatrix ( character(len=*), intent(in)  fileName)

Definition at line 430 of file adjointAPI.F90.

References communication::adflow_comm_world, and utils::echk().

Here is the call graph for this function:

◆ saveadjointpc()

subroutine adjointapi::saveadjointpc ( character(len=*), intent(in)  fileName)

Definition at line 457 of file adjointAPI.F90.

References communication::adflow_comm_world, and utils::echk().

Here is the call graph for this function:

◆ saveadjointrhs()

subroutine adjointapi::saveadjointrhs ( real(kind=realtype), dimension(nstate)  RHS,
character(len=*), intent(in)  fileName,
integer(kind=inttype)  nstate 
)

Definition at line 484 of file adjointAPI.F90.

References communication::adflow_comm_world, and utils::echk().

Here is the call graph for this function:

◆ savecellcenters()

subroutine adjointapi::savecellcenters ( character(len=*), intent(in)  fileName)

◆ setupallresidualmatricesfwd()

subroutine adjointapi::setupallresidualmatricesfwd

◆ setuppetscksp()

subroutine adjointapi::setuppetscksp

◆ solveadjoint()

subroutine adjointapi::solveadjoint ( real(kind=realtype), dimension(nstate)  RHS,
real(kind=realtype), dimension(nstate)  psi,
logical  checkSolution,
integer(kind=inttype)  nState 
)

◆ solveadjointforrhs()

subroutine adjointapi::solveadjointforrhs ( real(kind=realtype), dimension(ndof), intent(in)  inVec,
real(kind=realtype), dimension(ndof), intent(out)  outVec,
integer(kind=inttype), intent(in)  nDOF,
real(kind=realtype), intent(in)  relativeTolerance 
)

◆ solvedirectforrhs()

subroutine adjointapi::solvedirectforrhs ( real(kind=realtype), dimension(ndof), intent(in)  inVec,
real(kind=realtype), dimension(ndof), intent(out)  outVec,
integer(kind=inttype), intent(in)  nDOF,
real(kind=realtype), intent(in)  relativeTolerance 
)

◆ spectralprecscribedmotion()

subroutine adjointapi::spectralprecscribedmotion ( real(kind=realtype), dimension(nin), intent(in)  input,
integer(kind=inttype), intent(in)  nin,
real(kind=realtype), dimension(nout), intent(out)  dXv,
integer(kind=inttype), intent(in)  nout 
)

Variable Documentation

◆ exitformat

character(len=maxstringlen) adjointapi::exitformat = "(1X, A, 1X, I5, 1X, A)"

Definition at line 7 of file adjointAPI.F90.

Referenced by solveadjoint().

◆ timeformat

character(len=maxstringlen) adjointapi::timeformat = "(A, 1X, F8.2)"

Definition at line 6 of file adjointAPI.F90.

Referenced by setupallresidualmatricesfwd(), and solveadjoint().