Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
9d0c59a
Basic implementation of entirely new periodic BC for Euler. Needs to …
economon Jun 12, 2018
223a82e
Updating with develop.
economon Jul 5, 2018
44d5233
Prototype routine for communicating gradients at periodic boundaries.
economon Jul 17, 2018
fdcc27e
Merged with develop and fixed conflicts.
economon Sep 7, 2018
8f57b71
Periodic BCs now handle gradients, limiters, undivided laplacian, sen…
economon Oct 4, 2018
f306b5b
Merge branch 'develop' into feature_periodic
economon Oct 4, 2018
2a24b3f
Added vorticity and q-criterion to output for testing periodic BC.
economon Oct 4, 2018
5c99356
Merge branch 'develop' into feature_periodic
economon Oct 5, 2018
ef123aa
Added periodic BC routines to incompressible solver. Needs testing.
economon Oct 8, 2018
2b2a113
Some fixes for incompressible periodic BCs.
economon Oct 12, 2018
b2be497
Merge branch 'develop' into feature_periodic
economon Oct 16, 2018
6718b48
First prototype periodic BC version for RANS.
economon Oct 18, 2018
02f59e1
Merged develop and fixed conflicts.
economon Oct 31, 2018
97e5240
Merge branch 'fix_xcode' into feature_periodic
economon Oct 31, 2018
3673357
Moved over rotation matrix routines.
economon Nov 1, 2018
8e36413
Merge branch 'develop' into feature_periodic
economon Nov 16, 2018
a501552
Added geometry routines for P2P comms.
economon Nov 22, 2018
dfd9655
Added matrix routines for P2P comms.
economon Nov 22, 2018
0d832d6
Added solver routines for P2P comms.
economon Nov 22, 2018
b003c1e
Added comm level to replace verbosity.
economon Nov 23, 2018
c648de4
Activated new mpi comms for matrix class only.
economon Nov 23, 2018
daca8f5
Added comm level full as default.
economon Nov 23, 2018
721282d
Removed unused mpi comm routines.
economon Nov 23, 2018
4b6f3e5
Adjusted preprocessing for non-CFD modules.
economon Nov 24, 2018
b3995dc
Activated new P2P routines for geometry and solver classes.
economon Nov 24, 2018
c521fa4
Small change.
economon Nov 24, 2018
2685cb5
Comm level checks to save mpi overhead when requested.
economon Nov 24, 2018
123a635
Fixed problem with MPI_Waitall.
economon Dec 21, 2018
700dd7c
Update with develop and fixed conflicts.
economon Dec 21, 2018
abbefd2
Creating new MPI structures for periodicity.
economon Jan 16, 2019
de93fcf
Added periodic communication routine. Needs testing.
economon Jan 17, 2019
d480a02
Replaced all BC_Periodic_* routines with new MPI comm framework for p…
economon Jan 19, 2019
df41ae3
Fix for pure serial mode. First implementation for periodic rotation.
economon Jan 25, 2019
ef418fa
More rotational periodicity.
economon Jan 25, 2019
a03b312
Updated periodic with develop.
economon Jan 25, 2019
1cd4222
More rotational periodicity and clean up.
economon Feb 1, 2019
026c949
Small change.
economon Feb 1, 2019
8120593
Cleaning.
economon Feb 1, 2019
c328d80
Many fixes and additions for rotational periodicity.
economon Feb 7, 2019
a788c1c
Removal of all prototype periodic BC code.
economon Feb 8, 2019
0204ff9
More small clean up.
economon Feb 8, 2019
f87e8fb
Merged new periodic implementation.
economon Feb 8, 2019
9fe70fe
Complete merge of all new MPI comms and periodic BCs.
economon Feb 8, 2019
fcc5016
Added a clear error message for meshes with the old periodic format.
economon Feb 8, 2019
4e0a675
Updated comms with develop.
economon Feb 8, 2019
bba7c24
Small fixes.
economon Feb 8, 2019
9b75edf
Testing impact of switching between MPI implementations.
economon Feb 12, 2019
044a47e
Replaced more old MPI calls.
economon Feb 12, 2019
d4f6bb3
Geometry MPI checks.
economon Feb 12, 2019
b5b87b6
Lin solver MPI checks.
economon Feb 12, 2019
4ae8edd
Implementation for reverse communications with the adjoint linear sol…
economon Feb 13, 2019
6a36135
Merged in latest changes for mpi comms.
economon Feb 13, 2019
9d410c1
Fix to reverse comms.
economon Feb 13, 2019
f7ab597
More reverse comms changes. [ci skip]
economon Feb 13, 2019
047ba19
Clean up.
economon Feb 13, 2019
decfcfd
Reverting some code for comms reversal.
economon Feb 14, 2019
f122cc1
Buffer adjustment.
economon Feb 15, 2019
13de7cc
Small clean up and comments.
economon Feb 15, 2019
bbcc47f
Merge branch 'feature_comms' into feature_mpi_periodic
economon Feb 15, 2019
2bd43e1
Updated with develop and fixed conflicts.
economon Feb 15, 2019
5fa0419
Updating with develop and fixed one conflict.
economon Feb 26, 2019
acc99e3
Merge branch 'develop' into feature_mpi_periodic
economon Mar 6, 2019
cf875e6
More fixes.
economon Mar 8, 2019
c128b3b
Added a python script that will remove halo cells from meshes that we…
economon Mar 13, 2019
ccdc747
Merged develop and fixed conflicts.
economon Mar 27, 2019
1d38719
WIP
salvovitale Mar 30, 2019
014330a
workingturbo-vertex with multi-zone meshes
salvovitale Mar 31, 2019
2ad8c7e
Merge pull request #666 from su2code/feature_periodic_turbo
economon Apr 3, 2019
b30e591
Some clean up.
economon Apr 5, 2019
43e4563
Fixed conflict after merge.
economon Apr 5, 2019
17221aa
Moving to the new geometry classes by default (removing the old check…
economon Apr 5, 2019
faee364
Removing calls to old Set_MPI_* routines.
economon Apr 5, 2019
e70ec13
Small improvements and preparing some test cases.
economon Apr 6, 2019
0205383
Removed calls to old matrix MPI routines. All periodic test case mesh…
economon Apr 8, 2019
01561bf
Correcting missed update to codi/medi.
economon Apr 9, 2019
315f19b
Fixing a couple small issues and memory.
economon Apr 15, 2019
af804ff
Memory leak fixes, clean up of periodic matching routine, fixed build…
economon Apr 16, 2019
a2e7e10
Implicit flag replacement and reverting change to RMS residual routine.
economon Apr 17, 2019
3fe31a9
All calls to old FV geometry constructor removed. Updating regression…
economon Apr 17, 2019
166faa1
Regression update.
economon Apr 18, 2019
9d4546d
Regression update.
economon Apr 18, 2019
dc70745
Small change to restart to check impact on regressions.
economon Apr 18, 2019
2631bca
Updating all regression test values.
economon Apr 19, 2019
d0671aa
Removing unused function.
economon Apr 19, 2019
8d9ed38
Merge branch 'develop' into feature_mpi_periodic
economon Apr 23, 2019
1140145
Merge and fixed conditional to avoid setting FV periodic data structu…
economon Apr 23, 2019
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
26 changes: 12 additions & 14 deletions Common/include/config_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1076,8 +1076,8 @@ class CConfig {
bool Compute_Entropy; /*!< \brief Whether or not to compute the entropy in the fluid model. */
bool Use_Lumped_MassMatrix_DGFEM; /*!< \brief Whether or not to use the lumped mass matrix for DGFEM. */
bool Jacobian_Spatial_Discretization_Only; /*!< \brief Flag to know if only the exact Jacobian of the spatial discretization must be computed. */
bool Compute_Average; /*!< \brief Whether or not to compute averages for unsteady simulations in FV or DG solver. */

bool Compute_Average; /*!< \brief Whether or not to compute averages for unsteady simulations in FV or DG solver. */
unsigned short Comm_Level; /*!< \brief Level of MPI communications to be performed. */

ofstream *ConvHistFile; /*!< \brief Store the pointer to each history file */
bool Time_Domain; /*!< \brief Determines if the multizone problem is solved in time-domain */
Expand Down Expand Up @@ -1399,7 +1399,7 @@ class CConfig {
/*!
* \brief Constructor of the class which reads the input file.
*/
CConfig(char case_filename[MAX_STRING_SIZE], unsigned short val_software, unsigned short val_iZone, unsigned short val_nZone, unsigned short val_nDim, unsigned short verb_level);
CConfig(char case_filename[MAX_STRING_SIZE], unsigned short val_software, unsigned short val_iZone, unsigned short val_nZone, unsigned short val_nDim, bool verb_high);

/*!
* \brief Constructor of the class which reads the input file.
Expand Down Expand Up @@ -1444,15 +1444,6 @@ class CConfig {
* \return Total number of domains in the grid file.
*/
static unsigned short GetnDim(string val_mesh_filename, unsigned short val_format);

/*!
* \brief Determine whether there are periodic BCs in the grid.
* \param[in] val_mesh_filename - Name of the file with the grid information.
* \param[in] val_format - Format of the file with the grid information.
* \param[in] config - Definition of the particular problem.
* \return Boolean for whether or not there are periodic BCs in the grid.
*/
static bool GetPeriodic(string val_mesh_filename, unsigned short val_format, CConfig *config);

/*!
* \brief Initializes pointers to null
Expand Down Expand Up @@ -5985,7 +5976,7 @@ class CConfig {
* \return <code>TRUE</code> if there is a rotational frame; otherwise <code>FALSE</code>.
*/
bool GetAxisymmetric(void);

/*!
* \brief Get information about the axisymmetric frame.
* \return <code>TRUE</code> if there is a rotational frame; otherwise <code>FALSE</code>.
Expand Down Expand Up @@ -6560,7 +6551,7 @@ class CConfig {
* \param[in] translate - Pointer to a vector containing the coordinate of the center.
*/
void SetPeriodicTranslate(unsigned short val_index, su2double* translate);

/*!
* \brief Get the translation vector for a periodic transformation.
* \param[in] val_index - Index corresponding to the periodic transformation.
Expand Down Expand Up @@ -9140,6 +9131,12 @@ class CConfig {
su2double GetMax_Time(void);

/*!
* \brief Get the level of MPI communications to be performed.
* \return Level of MPI communications.
*/
unsigned short GetComm_Level(void);

/*
* \brief Check if the mesh read supports multiple zones.
* \return YES if multiple zones can be contained in the mesh file.
*/
Expand Down Expand Up @@ -9168,6 +9165,7 @@ class CConfig {
* \return YES if the forces breakdown file is written.
*/
bool GetWrt_ForcesBreakdown(void);

};

#include "config_structure.inl"
2 changes: 2 additions & 0 deletions Common/include/config_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -2014,6 +2014,8 @@ inline ofstream* CConfig::GetHistFile(void) { return ConvHistFile; }

inline void CConfig::SetHistFile(ofstream *HistFile) { ConvHistFile = HistFile; }

inline unsigned short CConfig::GetComm_Level(void) { return Comm_Level; }

inline bool CConfig::GetTopology_Optimization(void) const { return topology_optimization; }

inline string CConfig::GetTopology_Optim_FileName(void) const { return top_optim_output_file; }
Expand Down
28 changes: 27 additions & 1 deletion Common/include/dual_grid_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,12 @@ class CPoint : public CDualGrid {
vector<unsigned long> Point; /*!< \brief Points surrounding the central node of the control volume. */
vector<long> Edge; /*!< \brief Edges that set up a control volume. */
su2double *Volume; /*!< \brief Volume or Area of the control volume in 3D and 2D. */
su2double Periodic_Volume; /*!< \brief Missing component of volume or area of a control volume on a periodic marker in 3D and 2D. */
bool Domain, /*!< \brief Indicates if a point must be computed or belong to another boundary */
Boundary, /*!< \brief To see if a point belong to the boundary (including MPI). */
PhysicalBoundary, /*!< \brief To see if a point belong to the physical boundary (without includin MPI). */
SolidBoundary; /*!< \brief To see if a point belong to the physical boundary (without includin MPI). */
SolidBoundary, /*!< \brief To see if a point belong to the physical boundary (without includin MPI). */
Copy link
Contributor

Choose a reason for hiding this comment

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

Copied description.
including instead includin.
Difference between solid and physical not clear to me.

PeriodicBoundary; /*!< \brief To see if a point belongs to a periodic boundary (without including MPI). */
long *Vertex; /*!< \brief Index of the vertex that correspond which the control volume (we need one for each marker in the same node). */
su2double *Coord, /*!< \brief vector with the coordinates of the node. */
*Coord_Old, /*!< \brief Old coordinates vector for geometry smoothing. */
Expand Down Expand Up @@ -403,6 +405,18 @@ class CPoint : public CDualGrid {
*/
su2double GetVolume(void);

/*!
* \brief Get the missing component of area or volume for a control volume on a periodic marker.
* \return Periodic component of area or volume for a control volume on a periodic marker.
*/
su2double GetPeriodicVolume(void);

/*!
* \brief Set the missing component of area or volume for a control volume on a periodic marker.
* \param[in] val_volume - Value of the volume from the missing components of the CV on the periodic marker.
*/
void SetPeriodicVolume(su2double val_volume);

/*!
* \brief Get the maximum cell-center to cell-center length.
* \return The maximum cell-center to cell-center length.
Expand Down Expand Up @@ -451,6 +465,12 @@ class CPoint : public CDualGrid {
*/
void SetSolidBoundary(bool val_boundary);

/*!
* \brief Set if a point belongs to a periodic boundary.
* \param[in] val_boundary - <code>TRUE</code> if the point belongs to a periodic boundary; otherwise <code>FALSE</code>.
*/
void SetPeriodicBoundary(bool val_boundary);

/*!
* \brief Provides information about if a point belong to the physical boundaries (without MPI).
* \return <code>TRUE</code> if the point belong to the boundary; otherwise <code>FALSE</code>.
Expand All @@ -463,6 +483,12 @@ class CPoint : public CDualGrid {
*/
bool GetSolidBoundary(void);

/*!
* \brief Provides information about if a point belongs to a periodic boundary (without MPI).
* \return <code>TRUE</code> if the point belongs to a periodic boundary; otherwise <code>FALSE</code>.
*/
bool GetPeriodicBoundary(void);

/*!
* \brief Set a color to the point that comes from the grid partitioning.
* \note Each domain has a different color.
Expand Down
8 changes: 8 additions & 0 deletions Common/include/dual_grid_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ inline unsigned long CPoint::GetPoint(unsigned short val_point) { return Point[v

inline su2double CPoint::GetVolume (void) { return Volume[0]; }

inline su2double CPoint::GetPeriodicVolume (void) { return Periodic_Volume; }

inline void CPoint::SetPeriodicVolume (su2double val_volume) { Periodic_Volume = val_volume; }

inline su2double CPoint::GetMaxLength(void) {return MaxLength;}

inline bool CPoint::GetMove (void) { return Move; }
Expand All @@ -96,6 +100,10 @@ inline void CPoint::SetSolidBoundary(bool val_boundary) { SolidBoundary = val_bo

inline bool CPoint::GetSolidBoundary(void) { return SolidBoundary; }

inline void CPoint::SetPeriodicBoundary(bool val_boundary) { PeriodicBoundary = val_boundary; }

inline bool CPoint::GetPeriodicBoundary(void) { return PeriodicBoundary; }

inline void CPoint::AddVolume (su2double val_Volume) { Volume[0] += val_Volume; }

inline void CPoint::SetVolume (su2double val_Volume) { Volume[0] = val_Volume; }
Expand Down
Loading