Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

first release of the turbomachinery capabilities #413

Merged
467 commits merged into from
Jul 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
467 commits
Select commit Hold shift + click to select a range
1a55320
implement automatic computation of span-wise sections
Aug 12, 2016
c26d95a
first version working with automatic spanwise computation
Aug 12, 2016
0896d1f
implement angular pitch distance for turbovertex
Aug 30, 2016
1d9cb9a
implement GLOBAL condition PT for non reflecting BC
Sep 7, 2016
0968bdf
fix conflct after merge with turbPerf2D
Sep 13, 2016
2ce4ca4
reststruturing code WIP1 (not working)
Sep 14, 2016
2ce8669
move turboperformance in COutput Class
Sep 14, 2016
3a033fe
almost get to compile
Sep 14, 2016
7cd35b6
first compiled version not test yet
Sep 15, 2016
a109cfb
solver single zone working, inflow outflow quantities for turboperfor…
Sep 15, 2016
c73be36
implement GatherInOutAverageValues and some cleaning
Sep 16, 2016
7bb812c
initilize some quantities in the Euler constructor
Sep 16, 2016
95f3d75
add deallocate turbomachinery quantities CEulerSolver Destructor
Sep 17, 2016
e3950ee
implement inflow and outflow geo turbo qts needed for turboperformance
Sep 19, 2016
d846bbc
compile but still with a segm fault
Sep 19, 2016
ee06413
Fixed some warnings and memory leaks.
talbring Oct 3, 2016
f815c20
adjoint solver working for single zone. (only entropy gen at the moment)
talbring Oct 3, 2016
dcf4b94
Further memory leaks fixed.
talbring Oct 3, 2016
da1788a
Added routine to compute obj. function
talbring Oct 3, 2016
dafbec6
implement new turbo drivers for direct and discr adj solver
Oct 4, 2016
604d7b2
comments and small change
Oct 4, 2016
ea4465f
fix bug area out on Compute TurboPerformance
Oct 4, 2016
8999e53
implement values from BC for monitoring and modify constructor TurboD…
Oct 4, 2016
ae71620
compute some turbo perf quantities
Oct 6, 2016
802b524
inset monitoring Ttotal Ptotal for BC_inlet
Oct 7, 2016
9d3f3bb
fix inlet and outlet BC video monitoring
Oct 7, 2016
e8de598
fix output video for mixing-plane convergence
Oct 7, 2016
6c6ae4a
implement computation of mach numbers for turboperformance
Oct 18, 2016
a4c6759
turbo vertex for centrifugal compressor
Nov 7, 2016
7a58106
Merge branch 'feature_NRBC3D' of https://github.com/salvovitale/SU2 i…
Nov 7, 2016
15803bf
Merge remote-tracking branch 'github/develop' into feature_NRBC3D
talbring Nov 19, 2016
3c91afa
implement more turboperformance quantities
Jan 30, 2017
1c0e51f
turboperformance for each cascade implemented
Jan 30, 2017
99d485a
Merge remote-tracking branch 'github/develop' into feature_NRBC3D
talbring Jan 30, 2017
bdfcf06
Merge branch 'temp' into HEAD
Jan 31, 2017
d1f784e
fix some bugs afert merging with develop
Jan 31, 2017
b6d36ca
add message for turbovertex structure computation
Feb 1, 2017
ebef868
store all the turbogeo average quantities in zone 0
Feb 1, 2017
b211467
create new file output_physics.cpp
Feb 1, 2017
9daa998
change descriptio of the file output_physics.cpp
Feb 1, 2017
526928e
remove some old parts
Feb 1, 2017
33513c3
insert turbo performance for each stage
Feb 1, 2017
c85d8f7
implement performance evaluation for multistage turbine
Feb 1, 2017
f3fe90f
ad a if condition for computing turboperformance multizone
Feb 1, 2017
c3bd7d3
insert check to avoid nan in mass-flow average
Feb 1, 2017
dc94b13
add get span wise value for mixing intepolation
Feb 2, 2017
5125306
implement mixing plane with linear interpolation still to test
Feb 3, 2017
e38ab01
implemented BC turbulent for Riemann and NonReflecting BC
Feb 4, 2017
dd50f80
implemented average for turbulent quantities
Feb 6, 2017
0b4632a
implement turbulent quantities in MixingPlane interface
Feb 6, 2017
642e9a6
implement BC Mixing Plane for SA and SST
Feb 6, 2017
610e179
fix bug turbovelocity initialization
Feb 6, 2017
f21c9a1
fix mixing plane convergence video print
Feb 7, 2017
a58686c
Small fixes to make adjoint solver work again.
talbring Feb 7, 2017
b4905df
extend turboperformance non matching spanwise multizone meshes
Feb 7, 2017
3913d59
fix bug in ROTATING_FRAME source terms for multi-zone simulations
Feb 7, 2017
214ccbf
fix some bugs and insert some checks on pressure and density in NRBC
Feb 8, 2017
f681375
add interpolation option for mixingplane interfacer
Feb 8, 2017
72e43be
mixingplane working with linear and nearest neighbour interopolation
Feb 9, 2017
3725d61
Merge branch 'feature_turbomachinery' of https://github.com/su2code/S…
Feb 9, 2017
765e6d4
update TurboAdjointDriver with the new TurbomachineryDriver
Feb 9, 2017
4b0410a
fix bug in total to total efficiency computation
Feb 10, 2017
71dce95
implement mixing plane 1D and change BC flag from GLOBAL to 1D
Feb 10, 2017
c9e2f7c
modify adaptive CFL for fluid multizone problem
Feb 13, 2017
ae5ddc4
disconnect kind of average procedure used for turboperformance comput…
Feb 13, 2017
c3e0c57
replace newton with bisection for mixedout averaga algorithm
Feb 13, 2017
c46c1c1
update Non Reflecting BC with numerical flux
Feb 13, 2017
85a58f3
insert old average solution containers for a more robustness
Feb 13, 2017
c848dab
fix small bug on mixing plane 1D implementation
Feb 14, 2017
f317e0a
implement coef for MIXEDOUT and fix adaptive CFL for turbo
Feb 17, 2017
e5ba96a
implement ROTATING_FRAME ramp for turbo and reimplement the Newton me…
Feb 20, 2017
3d95098
fix some small bugs and start implementing change of averae process a…
Feb 20, 2017
6b269e5
solve small bug in NRBC for secondary quantities
Feb 20, 2017
73c9a3c
fix seg fault for spanwise no matching meshes
Feb 21, 2017
173c317
implement ramp for outlet static pressure
Feb 21, 2017
b41a381
fix small bug restarting rotating frame ramp for multi-zone
Feb 21, 2017
584e06b
ramp outlet pressure working
Feb 21, 2017
1fb7c63
implement analytical derivative for newton method in mixedout average…
Feb 23, 2017
44900ee
inserted area average as initial guess for the mixedout if with the o…
Feb 27, 2017
2a22af0
Merge branch 'develop' into feature_turbomachinery
talbring Mar 3, 2017
8e3a1af
Small fixes after merge
talbring Mar 3, 2017
a86a7cf
fix bug on computing interpolation coeff for mixingplane with more th…
Mar 3, 2017
422be8c
Merge branch 'feature_turbomachinery' of https://github.com/su2code/S…
Mar 3, 2017
157e3c8
fix bug in Load Restart file for multi-zone
Mar 5, 2017
8bd9652
merge with feature_turbulentSM
Mar 5, 2017
d3ced2f
Added missing GetDomain() checks.
talbring Mar 7, 2017
e4de3f4
Fix indentation
arubino Mar 8, 2017
80baaed
Add transfer performance container
arubino Mar 8, 2017
8ac4800
Fix indentation in driver
arubino Mar 8, 2017
081cb03
Fixed parallel communication in LoadRestart for periodic cases.
talbring Mar 8, 2017
c108f3d
Fix indentation in geometry_structure
arubino Mar 8, 2017
178d54e
remove getDomain()
Mar 9, 2017
d231955
Changed name of Disc. ADj. driver to conform with the fluid driver.
talbring Mar 9, 2017
d5aa8c6
Implemented unsteady disc. adj. in the new driver.
talbring Mar 9, 2017
21424cb
Some bugfixes.
talbring Mar 9, 2017
29dca31
Further adjustments to the disc. adj. turbo driver
talbring Mar 9, 2017
1c1edf9
Added more preaccumulation statements to improve performance of adjoi…
talbring Mar 9, 2017
416773c
Fixed output of geometrical sensitivity in parallel
talbring Mar 9, 2017
154b958
merge with develop with binary restart
Mar 10, 2017
e6e7522
solve a conflict and remove erroneous call of the GetnZone routine u…
Mar 10, 2017
277a0e0
add print video for span value initialization
Mar 10, 2017
916f11a
fix bug on LoadRestart for printing solution in multizone case
Mar 10, 2017
51b44a2
printing on video summary number of zone span-wise sections
Mar 10, 2017
f2a4cb0
remove averageProcess1D
Mar 19, 2017
69d5069
move some iZone dependent routine from turbo driver to turbo_iteration
Mar 20, 2017
d961123
initiate turbo_iteration for disc adj turbo
Mar 20, 2017
1243dcb
fix some indentation euler and NS constructor
Mar 20, 2017
19dc2b4
implement free stream solution adapted for turbomachinery
Mar 20, 2017
b764456
improve turbovertex structure with a more stable reordering algorithm
Mar 24, 2017
5204440
fix indentation, remove compiling warnings
Mar 26, 2017
e7446ea
fix geo spanwise turbovertex distribution file for Axial 2D
Mar 26, 2017
dca65a1
run twice setMPISoulution to correctly initi periodic halo after restart
Mar 28, 2017
2049335
remove 1D container turboaverage process
Mar 28, 2017
7b71689
fix bug on average process, now restart works from same number of pro…
Mar 29, 2017
fa001aa
update turboadjoint direct run
Mar 29, 2017
3d14ef1
some indentation in turbovertex routine
Mar 29, 2017
252c3f3
implement method to retrieve max and min angular pitch and minRelAngC…
Mar 29, 2017
5eb713c
implement update turbovertex after a grid movement
Mar 29, 2017
d12b96c
remove double ;
Mar 29, 2017
6bb8b90
move initilization of static mesh movement in Driver constructor
Mar 29, 2017
099b7d6
move compute turbo geo average in Driver construcor
Mar 29, 2017
73ad68a
move init average solution in preoprocessExtIter
Mar 29, 2017
0aecafd
implement TurbomachineryPreprocessing method in CDriver class
Mar 30, 2017
2764adf
move turbo containers initialization out from the Euler and NS solver…
Mar 30, 2017
e7d3758
improve preprocess video messages
Mar 30, 2017
39600b3
move preprocessing mixing-plane in turbomachinery preprocessing
Mar 31, 2017
acbe903
modified init static mesh movement
Mar 31, 2017
f0c6878
move all the turbomachinery preprocessing steps a CDriver level
Mar 31, 2017
615a393
temporarily deactivated non reflectivity
Mar 31, 2017
2cd722c
print inflow and outflow passage area
Apr 2, 2017
b9fa00c
implement non-reflectivity extended for unstructured grids
Apr 2, 2017
ee18842
implement Marker Shroud to force shroud velocity to zero when Rotatin…
Apr 2, 2017
6fb22a8
change some comments
Apr 2, 2017
5919488
fix error on commenting line
Apr 3, 2017
81a76db
fix bug initialize static mesh movement
Apr 3, 2017
f14ffb9
create option for Spatial Fourier computation
Apr 3, 2017
d736018
add pressure ration on performance computation
Apr 5, 2017
fd83825
change pressure ratio computation
Apr 5, 2017
de4c57c
inserted efficiency for compressor analysis
Apr 6, 2017
40ba4a3
Fixed some memory leaks.
talbring Apr 9, 2017
55fba75
insert more objective functions for discrete adjoint
Apr 20, 2017
cd65f9a
init nSpanwisemaxALL for output
Apr 20, 2017
fbd9da8
init nSpanwisemaxALL for output in a different place
Apr 20, 2017
a35686b
add check on number of blades
Apr 21, 2017
0b49c66
switch off ramp of pressure and rotating frame with discrete adjoint
Apr 23, 2017
293bd6b
re-implement turbofreestream solution for initialization of the flow …
Apr 23, 2017
5facfc7
transfer recomputed nBlades info to ZONE_0
Apr 23, 2017
70e8141
check on BC to avoid backflow
Apr 25, 2017
e49c801
different approach to deal with backflow
Apr 25, 2017
8ec0ab5
small change
Apr 25, 2017
f78ac38
update cartesian velocity after back flow correction
Apr 25, 2017
fa6190b
implement history file for multizone
Apr 25, 2017
a8b4efd
insert warning message when using Riemann with the outlet pressure ramp
Apr 25, 2017
d1ad264
fix video info on BC convergence for Total condirion 1D
Apr 26, 2017
8294684
solve some bugs in NRBC
May 1, 2017
c6c3e82
remove double check on spersonic normal Mach
May 1, 2017
f4e5e2a
add check on mach number after upwind reconstruction
May 2, 2017
d741a2e
small change
May 2, 2017
4b83c40
implement extra relaxation factor for NRBC at hub and shroud sections
May 26, 2017
3cdb59d
remove mach number check for upwind reconstruction
Jun 6, 2017
0ebfcad
small change on turbulent mixing plane
Jun 8, 2017
3d2d427
fix seg_fault extra relax factor NRBC for 2D
Jun 15, 2017
b538239
remove double contribution for area average of turbulent quantities
Jun 16, 2017
4c39547
add tuebulent quantities in inflow and outflow containers
Jun 16, 2017
a8e6700
add turbulent quantities in turbo summary for monitoring the convergece
Jun 19, 2017
833666d
generalize 2D mixing-plane for strady transl grid vel
Jun 19, 2017
f07af6b
double check if iMarkerTP is greater than -1
Jun 19, 2017
6f1b47a
fix printing outlet turb quantities
Jun 19, 2017
205ea2a
change kei to kine and fix indentation turb quantities on summary plot
Jun 19, 2017
e1c84a8
fix indentation for Nu
Jun 19, 2017
7803b2a
solve bug on turbulent mixing_plane
Jun 20, 2017
188ae4b
fix indentation
Jun 20, 2017
a3ae2a0
correct oldVertex usage in BC_Inlet_MixingPlane turbulent
Jun 20, 2017
b19c12b
implement BC inlet turbulent with spanwise quantities
Jun 21, 2017
488718e
fix indentation summary plot mixing-plane for Nu turbulent quantity
Jun 21, 2017
c85b261
create TRUBOMACHINERY folder to store all turbo post-process files
Jun 21, 2017
2b3dc32
WIP print span-wise quantities
Jun 22, 2017
4f7ff73
fix problem avg Kine for mixedout
Jun 22, 2017
481b385
fix headings spanwise files
Jun 23, 2017
6b8131c
fix print turbintensity
Jun 23, 2017
47e88cd
write kinematic quantities in span-wise file
Jun 23, 2017
9e999a2
add cfg for APU turbocharger
Jun 28, 2017
ac9d2e7
set up travis for the turbo branch
Jun 28, 2017
07fa53a
modified git modules file
Jun 28, 2017
267fadb
bootstrap
Jun 28, 2017
34500c6
bootstrap 2
Jun 28, 2017
b9143df
fix bug write spanwise file 2D
Jun 29, 2017
7d9d0c6
add turbo test-case on parallel regression test
Jun 29, 2017
22e46f1
update codi
Jun 29, 2017
5a871b9
add reg test for disc adj turbo
Jun 29, 2017
0d330aa
add transonic stator to turbomachinery testcase
Jun 29, 2017
b28ae93
Merge branch 'develop' into feature_turbomachinery
Jun 30, 2017
39edb30
fix some issues after merge
Jun 30, 2017
5977226
solve other issues after merging on python scripts and restart
Jun 30, 2017
8c6bf73
update some residual for NICFD paral reg test and add NZONES in polar…
Jul 1, 2017
11f2e4f
Fixed some small issues after merge.
talbring Jul 1, 2017
60c680e
Further fix.
talbring Jul 2, 2017
fb0a184
Reverted a lot of whitespace changes to ease diff on github
talbring Jul 2, 2017
3ef1e9a
Fixed disc. adj. iteration
talbring Jul 2, 2017
191fba3
Updated regression test vals.
talbring Jul 2, 2017
4fca648
update APU turbine residuals
Jul 3, 2017
67278d1
Merge branch 'feature_turbomachinery' of https://github.com/su2code/S…
Jul 3, 2017
5b27d59
some check still some indentations to fix
Jul 3, 2017
201fbe3
add restart cfg file and regression test for transonic 2D stator
Jul 3, 2017
5595f2a
add restart reg test for 3D mixing plane test case APU
Jul 3, 2017
094bbb4
update serial regression for turbomachinery
Jul 4, 2017
f5ef52a
update reg value with serial compilation
Jul 4, 2017
99e488a
fix serial reg test
Jul 4, 2017
0cdddb7
fix some reg serial test and remove some compilings warnings
Jul 5, 2017
2d8d4e6
remove some compilation warnings
Jul 5, 2017
da4197b
merge with develop
Jul 5, 2017
251f3f1
update config template for turbo option
Jul 5, 2017
32c03a2
fix seg fault discrete adj for euler cases
Jul 5, 2017
943274d
fix magnitude outflow angle gradient
Jul 5, 2017
2b298cb
fix indentation
Jul 6, 2017
6d4811f
update config file trans stator for running shape optimization
Jul 6, 2017
5386756
delete pointes in config structure
Jul 7, 2017
6ac9a98
fix some indentations
Jul 9, 2017
fa15530
fix indentation and delete pointers output structure
Jul 9, 2017
93ccb13
delete containers in solver structure and fix indentation
Jul 9, 2017
6308b48
fix some indentation on transfer structure
Jul 9, 2017
846f821
fix some others indentations
Jul 9, 2017
e4a1d65
remove transfer performance container
Jul 9, 2017
8b93c80
fix some video messages
Jul 9, 2017
8880b4e
add some config post process and delete some confing pointers
Jul 9, 2017
b958834
add multi zone history file for any fluid fluid multizone simulation
Jul 9, 2017
de4d3b9
turn off print update grid velocity
Jul 9, 2017
8e912d3
update reg test turbo adj
Jul 9, 2017
bcae5ca
fix some stupid bugs
Jul 10, 2017
e8c1394
Merge branch 'feature_adjoint_iteration' into feature_turbomachinery
talbring Jul 10, 2017
1312a70
Fixed conflicts
talbring Jul 10, 2017
efac4f4
Fix for direct diff.
talbring Jul 10, 2017
d797c3e
Memory fixes.
talbring Jul 11, 2017
7be8c32
Added Pressure and Total Temperature sensitivity output to screen and…
talbring Jul 11, 2017
9330981
Fixed typo and screen output.
talbring Jul 11, 2017
f27771c
fix some indentation and some memory error
Jul 13, 2017
cae64be
merge with develop
Jul 13, 2017
4808657
change all the AoA to upper case AOA
Jul 13, 2017
9094333
fix error
Jul 13, 2017
4cdc294
fix some errors on tools.py generated with the merge
Jul 13, 2017
6df44c6
solve some other issues after the merge
Jul 13, 2017
006e560
revert travis
Jul 13, 2017
9eddf7d
update config files after merge
Jul 17, 2017
a8cae3a
update comments for VAN ALBADA limiter
Jul 19, 2017
708689d
change name NRBC --> Giles_BC
Jul 19, 2017
1ca1e4b
update some comments
Jul 19, 2017
2c88203
update other comments
Jul 19, 2017
95449f9
remove commented header file on the output structure
Jul 19, 2017
6dea3bf
update config template [ci skip]
Jul 19, 2017
e3e8033
correct APU test case config file
Jul 19, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
ignore = dirty
[submodule "externals/codi"]
path = externals/codi
url = https://github.com/scicompkl/CoDiPack.git
url = https://github.com/scicompkl/CoDiPack
ignore = dirty
470 changes: 413 additions & 57 deletions Common/include/config_structure.hpp

Large diffs are not rendered by default.

94 changes: 86 additions & 8 deletions Common/include/config_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,10 @@ inline su2double CConfig::GetRotation_Rate_Y(unsigned short val_iZone) { return

inline su2double CConfig::GetRotation_Rate_Z(unsigned short val_iZone) { return Rotation_Rate_Z[val_iZone]; }

inline su2double CConfig::GetFinalRotation_Rate_Z(unsigned short val_iZone) { return FinalRotation_Rate_Z[val_iZone]; }

inline void CConfig::SetRotation_Rate_Z(su2double newRotation_Rate_Z, unsigned short val_iZone) { Rotation_Rate_Z[val_iZone] = newRotation_Rate_Z; }

inline su2double CConfig::GetPitching_Omega_X(unsigned short val_iZone) { return Pitching_Omega_X[val_iZone]; }

inline su2double CConfig::GetPitching_Omega_Y(unsigned short val_iZone) { return Pitching_Omega_Y[val_iZone]; }
Expand Down Expand Up @@ -927,25 +931,87 @@ inline unsigned short CConfig::GetKind_Engine_Inflow(void) { return Kind_Engine_

inline unsigned short CConfig::GetKind_ActDisk(void) { return Kind_ActDisk; }

inline unsigned short CConfig::GetKind_MixingProcess(void) { return Kind_MixingProcess; }
inline su2double* CConfig::GetFreeStreamTurboNormal(void){return FreeStreamTurboNormal;}

inline unsigned short CConfig::GetKind_AverageProcess(void) { return Kind_AverageProcess; }

inline unsigned short CConfig::GetKind_PerformanceAverageProcess(void) { return Kind_PerformanceAverageProcess; }

inline void CConfig::SetKind_AverageProcess(unsigned short new_AverageProcess) {Kind_AverageProcess = new_AverageProcess; }

inline void CConfig::SetKind_PerformanceAverageProcess(unsigned short new_AverageProcess) {Kind_PerformanceAverageProcess = new_AverageProcess; }

inline su2double CConfig::GetRampRotatingFrame_Coeff(unsigned short iCoeff) { return RampRotatingFrame_Coeff[iCoeff];}

inline bool CConfig::GetRampRotatingFrame(void) { return RampRotatingFrame;}

inline su2double CConfig::GetRampOutletPressure_Coeff(unsigned short iCoeff) { return RampOutletPressure_Coeff[iCoeff];}

inline su2double CConfig::GetFinalOutletPressure(void) { return FinalOutletPressure; }

inline su2double CConfig::GetMonitorOutletPressure(void) { return MonitorOutletPressure; }

inline void CConfig::SetMonitotOutletPressure(su2double newMonPres) {MonitorOutletPressure = newMonPres;}

inline bool CConfig::GetRampOutletPressure(void) { return RampOutletPressure;}

inline su2double CConfig::GetMixedout_Coeff(unsigned short iCoeff) { return Mixedout_Coeff[iCoeff];}

inline su2double CConfig::GetExtraRelFacGiles(unsigned short iCoeff) { return ExtraRelFacGiles[iCoeff];}

inline su2double CConfig::GetAverageMachLimit(void) { return AverageMachLimit;}

inline unsigned short CConfig::GetKind_MixingPlaneInterface(void) { return Kind_MixingPlaneInterface;}

inline unsigned short CConfig::GetKind_TurboMachinery(unsigned short val_iZone) { return Kind_TurboMachinery[val_iZone]; }

inline unsigned short CConfig::GetKind_SpanWise(void) { return Kind_SpanWise; }

inline bool CConfig::GetBoolMixingPlaneInterface(void) { return (nMarker_MixingPlaneInterface !=0);}

inline bool CConfig::GetBoolMixingPlane(void) { return (nMarker_MixBound !=0);}
inline bool CConfig::GetBoolTurbomachinery(void) { return (nMarker_Turbomachinery !=0);}

inline bool CConfig::GetBoolTurboPerf(void) { return (nMarker_TurboPerf !=0);}
inline bool CConfig::GetBoolTurbMixingPlane(void) { return turbMixingPlane;}

inline string CConfig::GetMarker_MixingPlane_Bound(unsigned short index) { return Marker_MixBound[index];}
inline bool CConfig::GetSpatialFourier(void){return SpatialFourier;}

inline string CConfig::GetMarker_MixingPlane_Donor(unsigned short index) { return Marker_MixDonor[index];}
inline su2double CConfig::GetnBlades(unsigned short val_iZone) { return nBlades[val_iZone];}

inline unsigned short CConfig::Get_nMarkerMixingPlane(void) { return nMarker_MixBound;}
inline void CConfig::SetnBlades(unsigned short val_iZone, su2double nblades) { nBlades[val_iZone] = nblades;}

inline unsigned short CConfig::Get_nMarkerTurboPerf(void) { return nMarker_TurboPerf;}
inline bool CConfig::GetBoolGiles(void) { return (nMarker_Giles!=0);}

inline bool CConfig::GetBoolRiemann(void) { return (nMarker_Riemann!=0);}

inline unsigned short CConfig::GetnMarker_MixingPlaneInterface(void) { return nMarker_MixingPlaneInterface;}

inline unsigned short CConfig::GetnMarker_Turbomachinery(void) { return nMarker_Turbomachinery;}

inline unsigned short CConfig::GetnMarker_Shroud(void) { return nMarker_Shroud;}

inline string CConfig::GetMarker_Shroud(unsigned short val_marker){return Marker_Shroud[val_marker];}

inline unsigned short CConfig::GetnMarker_TurboPerformance(void) { return nMarker_TurboPerformance;}

inline unsigned short CConfig::Get_nSpanWiseSections_User(void) { return nSpanWiseSections_User;}

inline unsigned short CConfig::GetnSpanWiseSections(void) { return nSpanWiseSections;}

inline void CConfig::SetnSpanWiseSections(unsigned short nSpan) {nSpanWiseSections = nSpan;}

inline void CConfig::SetnSpanMaxAllZones(unsigned short val_nSpna_max) { nSpanMaxAllZones = val_nSpna_max;}

inline unsigned short CConfig::GetnSpanMaxAllZones(void) { return nSpanMaxAllZones;}

inline void CConfig::SetnSpan_iZones(unsigned short nSpan, unsigned short iZone) {nSpan_iZones[iZone] = nSpan;}

inline unsigned short CConfig::GetnSpan_iZones(unsigned short iZone) { return nSpan_iZones[iZone];}

inline string CConfig::GetMarker_TurboPerf_BoundIn(unsigned short index) { return Marker_TurboBoundIn[index];}

inline string CConfig::GetMarker_TurboPerf_BoundOut(unsigned short index) { return Marker_TurboBoundOut[index];}

inline unsigned short CConfig::GetKind_TurboPerf(unsigned short index) { return Kind_TurboPerformance[index];}
inline string CConfig::GetMarker_PerBound(unsigned short val_marker){return Marker_PerBound[val_marker];}

inline unsigned short CConfig::GetnLocationStations(void) { return nLocationStations; }

Expand Down Expand Up @@ -1024,6 +1090,12 @@ inline void CConfig::SetMarker_All_Analyze(unsigned short val_marker, unsigned s

inline void CConfig::SetMarker_All_ZoneInterface(unsigned short val_marker, unsigned short val_fsiinterface) { Marker_All_ZoneInterface[val_marker] = val_fsiinterface; }

inline void CConfig::SetMarker_All_Turbomachinery(unsigned short val_marker, unsigned short val_turbo) { Marker_All_Turbomachinery[val_marker] = val_turbo; }

inline void CConfig::SetMarker_All_TurbomachineryFlag(unsigned short val_marker, unsigned short val_turboflag) { Marker_All_TurbomachineryFlag[val_marker] = val_turboflag; }

inline void CConfig::SetMarker_All_MixingPlaneInterface(unsigned short val_marker, unsigned short val_mixpla_interface) { Marker_All_MixingPlaneInterface[val_marker] = val_mixpla_interface; }

inline void CConfig::SetMarker_All_DV(unsigned short val_marker, unsigned short val_DV) { Marker_All_DV[val_marker] = val_DV; }

inline void CConfig::SetMarker_All_Moving(unsigned short val_marker, unsigned short val_moving) { Marker_All_Moving[val_marker] = val_moving; }
Expand Down Expand Up @@ -1054,6 +1126,12 @@ inline unsigned short CConfig::GetMarker_All_ZoneInterface(unsigned short val_ma

inline unsigned short CConfig::GetMarker_n_ZoneInterface(void) { return nMarker_ZoneInterface; }

inline unsigned short CConfig::GetMarker_All_Turbomachinery(unsigned short val_marker) { return Marker_All_Turbomachinery[val_marker]; }

inline unsigned short CConfig::GetMarker_All_TurbomachineryFlag(unsigned short val_marker) { return Marker_All_TurbomachineryFlag[val_marker]; }

inline unsigned short CConfig::GetMarker_All_MixingPlaneInterface(unsigned short val_marker) { return Marker_All_MixingPlaneInterface[val_marker]; }

inline unsigned short CConfig::GetMarker_All_DV(unsigned short val_marker) { return Marker_All_DV[val_marker]; }

inline unsigned short CConfig::GetMarker_All_Moving(unsigned short val_marker) { return Marker_All_Moving[val_marker]; }
Expand Down
116 changes: 115 additions & 1 deletion Common/include/dual_grid_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,7 @@ class CEdge : public CDualGrid {
* \version 5.0.0 "Raven"
*/
class CVertex : public CDualGrid {
private:
protected:
unsigned long *Nodes; /*!< \brief Vector to store the global nodes of an element. */
su2double *Normal; /*!< \brief Normal coordinates of the element and its center of gravity. */
su2double Aux_Var; /*!< \brief Auxiliar variable defined only on the surface. */
Expand Down Expand Up @@ -1245,4 +1245,118 @@ class CVertex : public CDualGrid {

};

/*!
* \class CTurboVertex
* \brief Class for vertex definition for turbomachinery (equivalent to edges, but for the boundaries).
* \author S. Vitale
* \version 5.0.0 "Raven"
*/
class CTurboVertex : public CVertex {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the main reason for not using CVertex?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I said in the description of the pull request, to impose Non reflecting BC and Mixing plane you need to access the boundary information on a span-wise and pitch wise ordered manner. Moreover, you need to convert the velocities in different frame of references w.r.t. the turbomachinery architecture you are simulating. The turboVertex takes care of all of these needs.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect. thanks!

private:
su2double *TurboNormal; /*!< \brief Normal for computing correct turbomachinery quantities. */
su2double Area; /*!< \brief Value of the face area associated to the vertex */
// su2double PitchCoord; /*!< \brief Value of the abscissa pitch wise */
su2double AngularCoord; /*!< \brief Value of the angular coordinate */
su2double DeltaAngularCoord; /*!< \brief Value of the angular coordinate w.r.t. the minimum pitch point */
su2double RelAngularCoord; /*!< \brief Value of the angular coordinate w.r.t. the minimum pitch point */

unsigned long OldVertex; /*!< \brief Value of the vertex numeration before the ordering */
int GlobalIndex; /*!< \brief Value of the vertex numeration after the ordering and global with respect to MPI partinioning */

public:

/*!
* \brief Constructor of the class.
* \param[in] val_point - Node of the vertex.
* \param[in] val_nDim - Number of dimensions of the problem.
*/
CTurboVertex(unsigned long val_point, unsigned short val_nDim);

/*!
* \brief Destructor of the class.
*/
~CTurboVertex(void);

/*!
* \brief set Normal in the turbomachinery frame of reference.
* \param[in] val_normal - normal vector.
*/
void SetTurboNormal(su2double *val_normal);

/*!
* \brief set face Area.
* \param[in] val_area - value of the face area.
*/
void SetArea(su2double val_area);

/*!
* \brief get face Area associate to the vertex.
*/
su2double GetArea(void);

/*!
* \brief Copy the the turbo normal vector of a face.
* \param[in] val_normal - Vector where the subroutine is goint to copy the normal (dimensionaless).
*/
void GetTurboNormal(su2double *val_normal);

/*!
* \brief Get the turbo normal to a face where turboperformance are computed .
* \return Dimensionaless normal vector, the modulus is the area of the face.
*/
su2double *GetTurboNormal(void);

/*!
* \brief set vertex value not ordered.
* \param[in] val_vertex - value of the vertex before ordering.
*/
void SetOldVertex(unsigned long val_vertex);

/*!
* \brief retrieve vertex value not ordered.
*/
unsigned long GetOldVertex(void);

/*!
* \brief set global index for ordered span-wise turbovertex.
*/
void SetGlobalVertexIndex(int globalindex);

/*!
* \brief get global index for ordered span-wise turbovertex.
*/
int GetGlobalVertexIndex(void);

/*!
* \brief set angular coord.
*/
void SetAngularCoord(su2double angCoord);

/*!
* \brief get angular coord.
*/
su2double GetAngularCoord(void);

/*!
* \brief set angular coord.
*/
void SetDeltaAngularCoord(su2double deltaAngCoord);

/*!
* \brief get angular coord.
*/
su2double GetDeltaAngularCoord(void);

/*!
* \brief set angular coord.
*/
void SetRelAngularCoord(su2double minAngCoord);

/*!
* \brief get angular coord.
*/
su2double GetRelAngularCoord(void);

};

#include "dual_grid_structure.inl"
42 changes: 42 additions & 0 deletions Common/include/dual_grid_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -403,3 +403,45 @@ inline void CVertex::SetVarRot(su2double* val) {
for (unsigned short iDim = 0; iDim < nDim; iDim++)
VarRot[iDim] = val[iDim];
}

inline void CTurboVertex::SetTurboNormal(su2double *val_normal ){
unsigned short iDim;
for(iDim= 0; iDim < nDim; iDim++)
TurboNormal[iDim] = val_normal[iDim];
}

inline void CTurboVertex::GetTurboNormal(su2double *val_normal) {
for (unsigned short iDim = 0; iDim < nDim; iDim++)
val_normal[iDim] = TurboNormal[iDim];
}

inline void CTurboVertex::SetGlobalVertexIndex(int globalindex){ GlobalIndex = globalindex;}

inline int CTurboVertex::GetGlobalVertexIndex(void){return GlobalIndex;}

inline su2double *CTurboVertex::GetTurboNormal(void) { return TurboNormal; }

inline void CTurboVertex::SetArea(su2double val_area){Area = val_area;}

inline su2double CTurboVertex::GetArea(void) { return Area; }

inline void CTurboVertex::SetOldVertex(unsigned long val_vertex){OldVertex = val_vertex;}

inline unsigned long CTurboVertex::GetOldVertex(void) { return OldVertex; }

//inline void CTurboVertex::SetPitchCoord(su2double pitchCoord){PitchCoord = pitchCoord;}
//
//inline su2double CTurboVertex::GetPitchCoord(void) { return PitchCoord; }

inline void CTurboVertex::SetAngularCoord(su2double angCoord){AngularCoord = angCoord;}

inline su2double CTurboVertex::GetAngularCoord(void) { return AngularCoord; }

inline void CTurboVertex::SetDeltaAngularCoord(su2double deltaAngCoord){DeltaAngularCoord = deltaAngCoord;}

inline su2double CTurboVertex::GetDeltaAngularCoord(void) { return DeltaAngularCoord; }

inline void CTurboVertex::SetRelAngularCoord(su2double minAngCoord) {RelAngularCoord = AngularCoord - minAngCoord;}

inline su2double CTurboVertex::GetRelAngularCoord(void){return RelAngularCoord;}

Loading