|
ADflow
v1.0
ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
|
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)" |
| 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 | ||
| ) |
Definition at line 97 of file adjointAPI.F90.
References communication::adflow_comm_world, adjointutils::allocderivativevalues(), iteration::currentlevel, adjointvars::derivvarsallocated, blockpointers::dwd, utils::echk(), inputphysics::equations, inputadjoint::frozenturbulence, iteration::groundlevel, blockpointers::il, blockpointers::jl, blockpointers::kl, masterroutines::master_b(), constants::nsequations, inputtimespectral::ntimeintervalsspectral, flowvarrefstate::nw, flowvarrefstate::nwf, constants::ransequations, utils::setpointers_d(), and adjointutils::zeroadseeds().

| 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 | ||
| ) |
Definition at line 183 of file adjointAPI.F90.
References adjointutils::allocderivativevalues(), iteration::currentlevel, adjointvars::derivvarsallocated, inputphysics::equations, inputadjoint::frozenturbulence, iteration::groundlevel, masterroutines::master_b(), masterroutines::master_state_b(), constants::nsequations, inputtimespectral::ntimeintervalsspectral, flowvarrefstate::nw, flowvarrefstate::nwf, constants::ransequations, and adjointutils::zeroadseeds().
Referenced by drdwtmatmult().


| 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 | ||
| ) |
Definition at line 11 of file adjointAPI.F90.
References communication::adflow_comm_world, adjointutils::allocderivativevalues(), inputphysics::alphad, inputphysics::betad, iteration::currentlevel, adjointvars::derivvarsallocated, inputphysics::equations, iteration::groundlevel, adjointvars::ialpha, adjointvars::ibeta, adjointvars::idensity, adjointvars::imach, adjointvars::imachgrid, adjointvars::ipointrefx, adjointvars::ipointrefy, adjointvars::ipointrefz, adjointvars::ipressure, adjointvars::itemperature, inputphysics::machcoefd, inputphysics::machd, inputphysics::machgridd, masterroutines::master_d(), inputtimespectral::ntimeintervalsspectral, flowvarrefstate::pinfdimd, inputphysics::pointrefd, inputphysics::rgasdimd, flowvarrefstate::rhoinfdimd, flowvarrefstate::tinfdimd, constants::zero, and adjointutils::zeroadseeds().

| subroutine adjointapi::createpetscvars |
Definition at line 1130 of file adjointAPI.F90.
References communication::adflow_comm_world, inputadjoint::adjamglevels, inputadjoint::adjamgnsmooth, adjointpetsc::adjointpetscvarsallocated, inputadjoint::approxpc, adjointutils::destroypetscvars(), drdwmatmult(), drdwtmatmult(), utils::echk(), stencils::euler_drdw_stencil, stencils::euler_pc_stencil, inputadjoint::frozenturbulence, communication::myid, adjointutils::mymatcreate(), stencils::n_euler_drdw, stencils::n_euler_pc, stencils::n_visc_drdw, stencils::n_visc_pc, adjointvars::ncellslocal, adjointvars::nnodeslocal, inputtimespectral::ntimeintervalsspectral, flowvarrefstate::nw, flowvarrefstate::nwf, utils::setpointers(), amg::setupamg(), adjointutils::statepreallocation(), inputadjoint::usematrixfreedrdw, stencils::visc_drdw_stencil, stencils::visc_pc_stencil, flowvarrefstate::viscous, and inputadjoint::viscpc.

| subroutine adjointapi::drdwmatmult | ( | A, | |
| vecX, | |||
| vecY, | |||
| integer(kind=inttype) | ierr | ||
| ) |
Definition at line 1050 of file adjointAPI.F90.
References adjointutils::allocderivativevalues(), surfacefamilies::bcfamgroups, adjointvars::derivvarsallocated, utils::echk(), surfacefamilies::fullfamlist, surfaceutils::getsurfacesize(), masterroutines::master_d(), adjointvars::nnodeslocal, inputtimespectral::ntimeintervalsspectral, constants::zero, and adjointutils::zeroadseeds().
Referenced by createpetscvars().


| 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().


| subroutine adjointapi::saveadjointmatrix | ( | character(len=*), intent(in) | fileName | ) |
Definition at line 430 of file adjointAPI.F90.
References communication::adflow_comm_world, and utils::echk().

| subroutine adjointapi::saveadjointpc | ( | character(len=*), intent(in) | fileName | ) |
Definition at line 457 of file adjointAPI.F90.
References communication::adflow_comm_world, and utils::echk().

| 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().

| subroutine adjointapi::savecellcenters | ( | character(len=*), intent(in) | fileName | ) |
Definition at line 935 of file adjointAPI.F90.
References communication::adflow_comm_world, utils::echk(), blockpointers::il, blockpointers::jl, blockpointers::kl, adjointvars::ncellslocal, inputtimespectral::ntimeintervalsspectral, utils::setpointers(), and blockpointers::x.

| subroutine adjointapi::setupallresidualmatricesfwd |
Definition at line 619 of file adjointAPI.F90.
References communication::adflow_comm_world, utils::echk(), inputadjoint::frozenturbulence, communication::myid, adjointutils::setupstateresidualmatrix(), timeformat, and inputadjoint::usematrixfreedrdw.

| subroutine adjointapi::setuppetscksp |
Definition at line 865 of file adjointAPI.F90.
References inputadjoint::adjointpcside, inputadjoint::adjointsolvertype, inputadjoint::adjrestart, inputadjoint::adpc, amg::applyshellpc(), inputadjoint::approxpc, amg::destroyshellpc(), utils::echk(), inputadjoint::filllevel, inputadjoint::filllevelcoarse, inputadjoint::frozenturbulence, inputadjoint::innerpreconits, inputadjoint::innerpreconitscoarse, inputadjoint::localpctype, inputadjoint::matrixordering, adjointutils::mykspmonitor(), inputadjoint::outerpreconits, inputadjoint::overlap, inputadjoint::overlapcoarse, inputadjoint::precondtype, inputadjoint::setmonitor, amg::setupshellpc(), adjointutils::setupstandardksp(), adjointutils::setupstandardmultigrid(), adjointutils::setupstateresidualmatrix(), utils::terminate(), and inputadjoint::usematrixfreedrdw.

| subroutine adjointapi::solveadjoint | ( | real(kind=realtype), dimension(nstate) | RHS, |
| real(kind=realtype), dimension(nstate) | psi, | ||
| logical | checkSolution, | ||
| integer(kind=inttype) | nState | ||
| ) |
Definition at line 661 of file adjointAPI.F90.
References communication::adflow_comm_world, inputadjoint::adjabstol, inputadjoint::adjdivtol, inputadjoint::adjmaxiter, inputadjoint::adjmaxl2dev, killsignals::adjointfailed, inputadjoint::adjreltol, inputadjoint::adjreltolrel, adjointpetsc::adjresfinal, adjointpetsc::adjresinit, adjointpetsc::adjresstart, adjointutils::allocderivativevalues(), adjointvars::derivvarsallocated, utils::echk(), exitformat, communication::myid, inputtimespectral::ntimeintervalsspectral, constants::one, inputadjoint::printtiming, timeformat, and adjointutils::zeroadseeds().

| 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 | ||
| ) |
Definition at line 265 of file adjointAPI.F90.
References inputadjoint::adjabstol, inputadjoint::adjdivtol, inputadjoint::adjmaxiter, killsignals::adjointfailed, adjointutils::allocderivativevalues(), adjointvars::derivvarsallocated, utils::echk(), inputtimespectral::ntimeintervalsspectral, constants::zero, and adjointutils::zeroadseeds().

| 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 | ||
| ) |
Definition at line 348 of file adjointAPI.F90.
References inputadjoint::adjabstol, inputadjoint::adjdivtol, inputadjoint::adjmaxiter, killsignals::adjointfailed, adjointutils::allocderivativevalues(), adjointvars::derivvarsallocated, utils::echk(), inputtimespectral::ntimeintervalsspectral, constants::zero, and adjointutils::zeroadseeds().

| 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 | ||
| ) |
Definition at line 520 of file adjointAPI.F90.
References blockpointers::il, blockpointers::jl, blockpointers::kl, section::nsections, inputtimespectral::ntimeintervalsspectral, utils::rotmatrixrigidbody(), section::sections, utils::setpointers(), monitor::timeunsteady, monitor::timeunsteadyrestart, and constants::zero.

| character(len=maxstringlen) adjointapi::exitformat = "(1X, A, 1X, I5, 1X, A)" |
Definition at line 7 of file adjointAPI.F90.
Referenced by solveadjoint().
| character(len=maxstringlen) adjointapi::timeformat = "(A, 1X, F8.2)" |
Definition at line 6 of file adjointAPI.F90.
Referenced by setupallresidualmatricesfwd(), and solveadjoint().