Skip to content

Commit e460f77

Browse files
Merge branch 'develop' into feature_NEMO_merge_final
2 parents 61f4070 + 629902a commit e460f77

9 files changed

Lines changed: 205 additions & 203 deletions

File tree

Common/include/option_structure.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ enum SU2_COMPONENT {
7474

7575
const unsigned int EXIT_DIVERGENCE = 2; /*!< \brief Exit code (divergence). */
7676

77-
const unsigned int BUFSIZE = 3000000; /*!< \brief MPI buffer. */
7877
const unsigned int MAX_PARAMETERS = 10; /*!< \brief Maximum number of parameters for a design variable definition. */
7978
const unsigned int MAX_NUMBER_PERIODIC = 10; /*!< \brief Maximum number of periodic boundary conditions. */
8079
const unsigned int MAX_STRING_SIZE = 200; /*!< \brief Maximum number of domains. */

Common/include/parallelization/mpi_structure.hpp

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,6 @@ class CBaseMPIWrapper {
144144
winMinRankErrorInUse = true;
145145
}
146146

147-
static inline void Buffer_attach(void* buffer, int size) { MPI_Buffer_attach(buffer, size); }
148-
149-
static inline void Buffer_detach(void* buffer, int* size) { MPI_Buffer_detach(buffer, size); }
150-
151147
static inline void Comm_rank(Comm comm, int* rank) { MPI_Comm_rank(comm, rank); }
152148

153149
static inline void Comm_size(Comm comm, int* size) { MPI_Comm_size(comm, size); }
@@ -176,6 +172,8 @@ class CBaseMPIWrapper {
176172

177173
static inline void Wait(Request* request, Status* status) { MPI_Wait(request, status); }
178174

175+
static inline int Request_free(Request *request) { return MPI_Request_free(request); }
176+
179177
static inline void Testall(int count, Request* array_of_requests, int* flag, Status* array_of_statuses) {
180178
MPI_Testall(count, array_of_requests, flag, array_of_statuses);
181179
}
@@ -198,10 +196,6 @@ class CBaseMPIWrapper {
198196
MPI_Bcast(buf, count, datatype, root, comm);
199197
}
200198

201-
static inline void Bsend(const void* buf, int count, Datatype datatype, int dest, int tag, Comm comm) {
202-
MPI_Bsend(buf, count, datatype, dest, tag, comm);
203-
}
204-
205199
static inline void Reduce(const void* sendbuf, void* recvbuf, int count, Datatype datatype, Op op, int root,
206200
Comm comm) {
207201
MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm);
@@ -351,10 +345,6 @@ class CMediMPIWrapper : public CBaseMPIWrapper {
351345
}
352346
}
353347

354-
static inline void Buffer_attach(void* buffer, int size) { AMPI_Buffer_attach(buffer, size); }
355-
356-
static inline void Buffer_detach(void* buffer, int* size) { AMPI_Buffer_detach(buffer, size); }
357-
358348
static inline void Comm_rank(Comm comm, int* rank) { AMPI_Comm_rank(convertComm(comm), rank); }
359349

360350
static inline void Comm_size(Comm comm, int* size) { AMPI_Comm_size(convertComm(comm), size); }
@@ -385,6 +375,8 @@ class CMediMPIWrapper : public CBaseMPIWrapper {
385375

386376
static inline void Wait(SU2_MPI::Request* request, Status* status) { AMPI_Wait(request, status); }
387377

378+
static inline int Request_free(Request *request) { return AMPI_Request_free(request); }
379+
388380
static inline void Testall(int count, Request* array_of_requests, int* flag, Status* array_of_statuses) {
389381
AMPI_Testall(count, array_of_requests, flag, array_of_statuses);
390382
}
@@ -409,10 +401,6 @@ class CMediMPIWrapper : public CBaseMPIWrapper {
409401
AMPI_Bcast(buf, count, convertDatatype(datatype), root, convertComm(comm));
410402
}
411403

412-
static inline void Bsend(const void* buf, int count, Datatype datatype, int dest, int tag, Comm comm) {
413-
AMPI_Bsend(buf, count, convertDatatype(datatype), dest, tag, convertComm(comm));
414-
}
415-
416404
static inline void Reduce(const void* sendbuf, void* recvbuf, int count, Datatype datatype, Op op, int root,
417405
Comm comm) {
418406
AMPI_Reduce(sendbuf, recvbuf, count, convertDatatype(datatype), convertOp(op), root, convertComm(comm));
@@ -574,10 +562,6 @@ class CBaseMPIWrapper {
574562

575563
static inline void Init_thread(int* argc, char*** argv, int required, int* provided) { *provided = required; }
576564

577-
static inline void Buffer_attach(void* buffer, int size) {}
578-
579-
static inline void Buffer_detach(void* buffer, int* size) {}
580-
581565
static inline void Barrier(Comm comm) {}
582566

583567
static inline void Abort(Comm comm, int error) { exit(EXIT_FAILURE); }
@@ -595,6 +579,8 @@ class CBaseMPIWrapper {
595579

596580
static inline void Wait(Request* request, Status* status) {}
597581

582+
static inline int Request_free(Request *request) { return 0; }
583+
598584
static inline void Waitall(int nrequests, Request* request, Status* status) {}
599585

600586
static inline void Waitany(int nrequests, Request* request, int* index, Status* status) {}
@@ -605,8 +591,6 @@ class CBaseMPIWrapper {
605591

606592
static inline void Bcast(void* buf, int count, Datatype datatype, int root, Comm comm) {}
607593

608-
static inline void Bsend(const void* buf, int count, Datatype datatype, int dest, int tag, Comm comm) {}
609-
610594
static inline void Reduce(const void* sendbuf, void* recvbuf, int count, Datatype datatype, Op op, int root,
611595
Comm comm) {
612596
CopyData(sendbuf, recvbuf, count, datatype);

SU2_CFD/src/SU2_CFD.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,13 @@ int main(int argc, char *argv[]) {
6161
/*--- MPI initialization, and buffer setting ---*/
6262

6363
#ifdef HAVE_MPI
64-
int buffsize;
65-
char *buffptr;
6664
#ifdef HAVE_OMP
6765
int required = use_thread_mult? MPI_THREAD_MULTIPLE : MPI_THREAD_FUNNELED;
6866
int provided;
6967
SU2_MPI::Init_thread(&argc, &argv, required, &provided);
7068
#else
7169
SU2_MPI::Init(&argc, &argv);
7270
#endif
73-
SU2_MPI::Buffer_attach( malloc(BUFSIZE), BUFSIZE );
7471
SU2_Comm MPICommunicator(MPI_COMM_WORLD);
7572
#else
7673
SU2_Comm MPICommunicator(0);
@@ -178,11 +175,7 @@ int main(int argc, char *argv[]) {
178175
#endif
179176

180177
/*--- Finalize MPI parallelization. ---*/
181-
#ifdef HAVE_MPI
182-
SU2_MPI::Buffer_detach(&buffptr, &buffsize);
183-
free(buffptr);
184178
SU2_MPI::Finalize();
185-
#endif
186179

187180
return EXIT_SUCCESS;
188181

SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,25 @@ CNumerics::ResidualType<> CSource_NEMO::ComputeVibRelaxation(const CConfig *conf
296296
CNumerics::ResidualType<> CSource_NEMO::ComputeAxisymmetric(const CConfig *config) {
297297

298298
unsigned short iDim, iSpecies, iVar;
299-
su2double rho, rhov, vel2, H, yinv;
299+
su2double rho, rhov, vel2, H, yinv, T, Tve, qy_ve, Ru, RuSI;
300+
su2double *Ds, **GV, ktr, kve;
301+
302+
/*--- Rename for convenience ---*/
303+
Ds = Diffusion_Coeff_i;
304+
ktr = Thermal_Conductivity_i;
305+
kve = Thermal_Conductivity_ve_i;
306+
rho = V_i[RHO_INDEX];
307+
T = V_i[T_INDEX];
308+
Tve = V_i[TVE_INDEX];
309+
GV = PrimVar_Grad_i;
310+
RuSI= UNIVERSAL_GAS_CONSTANT;
311+
Ru = 1000.0*RuSI;
312+
313+
auto& Ms = fluidmodel->GetSpeciesMolarMass();
314+
315+
bool viscous = config->GetViscous();
316+
bool rans = (config->GetKind_Turb_Model() != NONE);
317+
hs = fluidmodel->ComputeSpeciesEnthalpy(T, Tve, eve_i);
300318

301319
/*--- Initialize residual and Jacobian arrays ---*/
302320
for (iVar = 0; iVar < nVar; iVar++) {
@@ -312,6 +330,7 @@ CNumerics::ResidualType<> CSource_NEMO::ComputeAxisymmetric(const CConfig *confi
312330
rhov = U_i[nSpecies+1];
313331
H = V_i[H_INDEX];
314332
vel2 = 0.0;
333+
315334
for (iDim = 0; iDim < nDim; iDim++)
316335
vel2 += V_i[VEL_INDEX+iDim]*V_i[VEL_INDEX+iDim];
317336
for (iSpecies = 0; iSpecies < nSpecies; iSpecies++)
@@ -324,6 +343,43 @@ CNumerics::ResidualType<> CSource_NEMO::ComputeAxisymmetric(const CConfig *confi
324343
residual[nSpecies+2] = yinv*rhov*H*Volume;
325344
residual[nSpecies+3] = yinv*rhov*U_i[nSpecies+nDim+1]/rho*Volume;
326345

346+
if (viscous) {
347+
if (!rans){ turb_ke_i = 0.0; }
348+
349+
su2double sumJhs_y = 0.0;
350+
su2double sumJeve_y = 0.0;
351+
su2double Mass = 0.0;
352+
353+
for (iSpecies=0; iSpecies<nSpecies; iSpecies++)
354+
Mass += V_i[iSpecies]*Ms[iSpecies];
355+
356+
su2double heat_capacity_cp_i = V_i[RHOCVTR_INDEX]+Ru/Mass;
357+
su2double total_viscosity_i = Laminar_Viscosity_i + Eddy_Viscosity_i;
358+
su2double total_conductivity_i = ktr + kve + heat_capacity_cp_i*Eddy_Viscosity_i/Prandtl_Turb;
359+
su2double u = V_i[VEL_INDEX];
360+
su2double v = V_i[VEL_INDEX+1];
361+
su2double qy_ve = kve*GV[TVE_INDEX][1];
362+
363+
/*--- Enthalpy and vib-el energy transport due to y-direction diffusion---*/
364+
for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) {
365+
sumJhs_y += (rho*Ds[iSpecies]*GV[RHOS_INDEX+iSpecies][1] - V_i[RHOS_INDEX+iSpecies]*Vector[1]) * hs[iSpecies];
366+
sumJeve_y += (rho*Ds[iSpecies]*GV[RHOS_INDEX+iSpecies][1] - V_i[RHOS_INDEX+iSpecies]*Vector[1]) * eve_i[iSpecies];
367+
}
368+
369+
for (iSpecies = 0; iSpecies < nSpecies; iSpecies++)
370+
residual[iSpecies] -= 0.0;
371+
residual[nSpecies] -= Volume*(yinv*total_viscosity_i*(PrimVar_Grad_i[nSpecies+2][1]+PrimVar_Grad_i[nSpecies+3][0])
372+
-TWO3*AuxVar_Grad_i[0][0]);
373+
residual[nSpecies+1] -= Volume*(yinv*total_viscosity_i*2*(PrimVar_Grad_i[nSpecies+3][1]-v*yinv)
374+
-TWO3*AuxVar_Grad_i[0][1]);
375+
residual[nSpecies+2] -= Volume*(yinv*(- sumJhs_y + total_viscosity_i*(u*(PrimVar_Grad_i[nSpecies+3][0]+PrimVar_Grad_i[nSpecies+2][1])
376+
+v*TWO3*(2*PrimVar_Grad_i[nSpecies+2][1]-PrimVar_Grad_i[nSpecies+2][0]
377+
-v*yinv+rho*turb_ke_i))
378+
-total_conductivity_i*PrimVar_Grad_i[nSpecies][1])
379+
-TWO3*(AuxVar_Grad_i[1][1]+AuxVar_Grad_i[2][1]));
380+
residual[nSpecies+3] -= Volume*(yinv*(-sumJeve_y -qy_ve));
381+
}
382+
327383
// if (implicit) {
328384
//
329385
// /*--- Initialize ---*/

0 commit comments

Comments
 (0)