-
Notifications
You must be signed in to change notification settings - Fork 99
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Several features on tecplot io, slices, MG PC, cavitation constraints…
…, and overset hole cutting. (#231) * hack to get cpmin with ks * differentiated the hacky version * fixed adjoint time print in Fortran * use modified Gram-Schmidt * less janky cavitation * implemented orthogonalization option * minor fix to get mg pc working with coupled ank * new config file to do the avx2 stuff by default * added moment and related outputs to the lift distribution file * rearranged and updated the slice integration to use the local quarter chord for the moment computations * added the missing deallocate call to mg pc * adding cylindrical slicing. WIP * added the missing mgpc destroy routine * properly implemented the cavitation constraint * changed the behavior of cavitation number option * updates to the slice business * fixes for the bad merge * added optional displacement vector when adding integration surfaces * added cutoff tolerance for the pc update algorithm based on rel convergence. also fixed the mgpc setup for ank turb ksp * reverted the agmg changes for turbksp. needs a proper implementation to handle two different agmg pcs kicking around at the same time * added option to always use approx sa with ank solver variants * added the same update to the turbksp solver * added python option to disable the overset debug print of connectivity errors * removed dumb typo * reran tapenade * added arbitrary slices * added the option to disable lift and slices in writesolution routine * added function to explicitly flag overset cells that are inside provided surface geometries * added a few more options to the explicit surface cutting * re-implementing the ks-based cpmin. added the original cavitation sensor back * reran tapenade * more fixes to recover the og cavitation sensor * remove high quality debug print * variable cleanup * bug fixes * complexify fixes * fix black * add cavitation test trained with the og cavitation sensor * bugfixes and reran tapenade * updated cavitation test to include the ks-based cpmin * formatting * update cavitation tests * further increase the weird test tolerance * added the explicit surface blanking doc in options * added the coord transfer changes * added missing option docs * more docs * minor modification to options docs * added note on plot3d file creation * bug fix for explicit hole cutting * addressing sabet's review part 1 * addressing sabet's review part 2: fix the import comment in tests * part 3: overset API typos * part 4: applying the same fixes to the actuator region code, which is where the overset api changes mostly came from * part 5: comments and typos on the slice changes * part 5: trying to fix the cylindrical slice edge case * part 5.1: divide the strings up * part 6: surface integration modifications * clarified computecavitation option behavior * changes for the cpmin computation so it returns zero when computeCavitation is set to False. * rerun tapenade * fixed variable declaration order. added test output to gitignore. * black formatting * updated avx2 config file to be consistent with the newer config files * minor update in docstrings * cleaned up slice names * black formatting * black formatter is gaslighting me * first pass at eirikur's comments * reduced some code duplication between slice addition methods * camelcase updates * rename cpmin_exact to cpmin_family * black fix and reran tapenade * fixed cpmin computation for TS cases * missed a capitalization * changed the number of default cylindrical slices Co-authored-by: sseraj <[email protected]>
- Loading branch information
Showing
31 changed files
with
1,997 additions
and
291 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# ---------------------------------------------------------------------- | ||
# Config file for Intel ifort | ||
# ---------------------------------------------------------------------- | ||
|
||
# ------- Define a possible parallel make (use PMAKE = make otherwise)-- | ||
PMAKE = make -j 4 | ||
|
||
# ------- Define the MPI Compilers-------------------------------------- | ||
FF90 = mpiifort | ||
CC = mpiicc | ||
|
||
# ------- Define Precision Flags --------------------------------------- | ||
# Options for Integer precision flags: -DUSE_LONG_INT | ||
# Options for Real precision flags: -DUSE_SINGLE_PRECISION, -DUSE_QUADRUPLE_PRECISION | ||
# Default (nothing specified) is 4 byte integers and 8 byte reals | ||
|
||
FF90_INTEGER_PRECISION_FLAG = | ||
FF90_REAL_PRECISION_FLAG = | ||
CC_INTEGER_PRECISION_FLAG = | ||
CC_REAL_PRECISION_FLAG = | ||
|
||
# ------- Define CGNS Inlcude and linker flags ------------------------- | ||
# Define the CGNS include directory and linking flags for the CGNS library. | ||
# We are assuming that HDF5 came from PETSc so it is included in ${PETSC_LIB}. | ||
# Otherwise you will have to specify the HDF5 library. | ||
CGNS_INCLUDE_FLAGS=-I$(CGNS_HOME)/include | ||
CGNS_LINKER_FLAGS=-L$(CGNS_HOME)/lib -lcgns | ||
|
||
# ------- Define Compiler Flags ---------------------------------------- | ||
FF77_FLAGS = -fPIC -r8 | ||
FF90_FLAGS = $(FF77_FLAGS) -std08 | ||
FFXX_OPT_FLAGS = -O2 -xCORE-AVX2 | ||
C_FLAGS = -fPIC -O -xCORE-AVX2 | ||
|
||
# ------- Define Archiver and Flags ----------------------------------- | ||
AR = ar | ||
AR_FLAGS = -rvs | ||
|
||
# ------- Define Linker Flags ------------------------------------------ | ||
LINKER = $(FF90) | ||
LINKER_FLAGS = -nofor-main | ||
|
||
# ------- Define Petsc Info --- | ||
include ${PETSC_DIR}/lib/petsc/conf/variables | ||
PETSC_INCLUDE_FLAGS=${PETSC_CC_INCLUDES} -I$(PETSC_DIR) | ||
PETSC_LINKER_FLAGS=${PETSC_LIB} | ||
|
||
# Combine flags from above -- don't modify here | ||
FF90_PRECISION_FLAGS = $(FF90_INTEGER_PRECISION_FLAG)$(FF90_REAL_PRECISION_FLAG) | ||
CC_PRECISION_FLAGS = $(CC_INTEGER_PRECISION_FLAG) $(CC_REAL_PRECISION_FLAG) | ||
|
||
# Define potentially different python, python-config and f2py executables: | ||
PYTHON = python | ||
PYTHON-CONFIG = python3-config # use python-config for python 2 | ||
F2PY = f2py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.