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

WIP Feature Hybrid Parallel and SIMD #824

Merged
merged 129 commits into from
Feb 26, 2020
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
17b90ab
all numerics allocated one-per-thread
pcarruscag Jan 22, 2020
55739da
Merge branch 'feature_hybrid_parallel_and_SIMD_tmp' into feature_hybr…
pcarruscag Jan 23, 2020
a772260
const correct MMS classes for thread safety
pcarruscag Jan 23, 2020
04f7b37
array of FluidModels for parallel execution (not trivial to make it t…
pcarruscag Jan 23, 2020
83521b7
begin SetTimeStep
pcarruscag Jan 24, 2020
c316c8d
intermediate changes
pcarruscag Jan 24, 2020
f58bd8f
Merge branch 'restructure_solvers' into tmp
pcarruscag Jan 24, 2020
92200e8
finish time_step routine, allow array of numerics to be passed to sol…
pcarruscag Jan 24, 2020
87cb8bb
split and move CNumerics files
pcarruscag Jan 26, 2020
6ec4a40
spaces and tabs
pcarruscag Jan 26, 2020
0cdac84
update meson
pcarruscag Jan 26, 2020
64010eb
removed unused functions / variables
pcarruscag Jan 26, 2020
1d6939e
more cleaning
pcarruscag Jan 26, 2020
4be6a0b
reduce number of includes
pcarruscag Jan 26, 2020
b56b39c
fix some indentation and comments in CConfig
pcarruscag Jan 27, 2020
37b36e3
faster (much) compilation by disabling map definition when not needed
pcarruscag Jan 27, 2020
b6aa9ae
fix un-init warning
pcarruscag Jan 27, 2020
9172ca0
fix SU2_DOT compilation
pcarruscag Jan 27, 2020
038769a
fix some indentation in option_structure
pcarruscag Jan 27, 2020
088fdf2
reduce number of numerics files, difficult to understand inheritance …
pcarruscag Jan 27, 2020
118bb22
update build systems
pcarruscag Jan 27, 2020
fa5b9c5
fix build again
pcarruscag Jan 27, 2020
4f2f9d9
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag Jan 27, 2020
048f9d2
work around a segfault during parallel allocation of numerics
pcarruscag Jan 27, 2020
4a0716e
compressible centered schemes working in parallel
pcarruscag Jan 28, 2020
aa4ce5f
thread-safe compressible upwind residual loop
pcarruscag Jan 28, 2020
0e3a8dc
delete some unused variables
pcarruscag Jan 28, 2020
5534707
thread-safe AUSM family
pcarruscag Jan 28, 2020
c071319
thread safe CUSP
pcarruscag Jan 28, 2020
91303e9
thread safe MSW
pcarruscag Jan 28, 2020
b159d1d
thread safe HLLC
pcarruscag Jan 28, 2020
2dca913
thread safe Roe family
pcarruscag Jan 28, 2020
ce5447c
fix variable lifetime issues
pcarruscag Jan 28, 2020
9a30827
change the signature of Source_Residual to pass another index of nume…
pcarruscag Jan 28, 2020
8444c6b
fix calls to CNumerics::ComputeResidual in BC contexts
pcarruscag Jan 28, 2020
d3d338c
make the improved compilation mechanism more readable
pcarruscag Jan 28, 2020
03c5109
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag Jan 29, 2020
efe60d9
fix blanks and tabs in config_structure.hpp
pcarruscag Jan 29, 2020
7e307ea
fix a warning
pcarruscag Jan 29, 2020
d8aba8f
remove the config .inl
pcarruscag Jan 29, 2020
dfd8902
Merge branch 'feature_faster_compilation' into feature_hybrid_paralle…
pcarruscag Jan 29, 2020
b6387e1
fix merge
pcarruscag Jan 29, 2020
41d50e2
fix warning the right way
pcarruscag Jan 29, 2020
b46bb21
Merge remote-tracking branch 'upstream/feature_faster_compilation' in…
pcarruscag Jan 29, 2020
3ed72ef
better ComputeResidual overload for the thread-safe classes + const C…
pcarruscag Jan 29, 2020
ae9486b
Merge branch 'develop' into feature_hybrid_parallel_and_SIMD
pcarruscag Jan 29, 2020
317753a
parallel CEulerSolver::SourceResidual
pcarruscag Jan 29, 2020
4ff3d71
fluid source classes made thread-safe
pcarruscag Jan 29, 2020
740f3b9
remove a forgoten debug statement
pcarruscag Jan 29, 2020
be2824a
carried away with const, caused overload resolution problems
pcarruscag Jan 29, 2020
3072afb
fix source residual of CIncEulerSolver
pcarruscag Jan 30, 2020
d97ddda
fully exploit the fast lookup mechanisms in CSysMatrix
pcarruscag Jan 30, 2020
c632de1
parallel SetMax_Eigenvalue
pcarruscag Jan 30, 2020
d4fd63d
parallel SetUndivided_Laplacian
pcarruscag Jan 30, 2020
d18c17f
parallel SetCentered_Dissipation_Sensor
pcarruscag Jan 30, 2020
f9e9ba3
parallel SetUpwind_Ducros_Sensor
pcarruscag Jan 30, 2020
08f9972
cleanup some mpi code
pcarruscag Jan 30, 2020
e8eec6d
clean more postprocessing code
pcarruscag Jan 30, 2020
3471e4d
parallel explicit iterations
pcarruscag Jan 30, 2020
684f39b
wrong order of cases in switch
pcarruscag Jan 30, 2020
a5427c0
parallel implicit Euler iteration
pcarruscag Jan 30, 2020
2f82358
more cleanup of turbo stuff
pcarruscag Jan 30, 2020
31bc0bf
more postprocessing cleanup in NS solver
pcarruscag Jan 30, 2020
e5096f1
parallel SetVorticity_StrainMag
pcarruscag Jan 30, 2020
81de82f
primitive variables loop
pcarruscag Jan 30, 2020
49f928f
SetTime_Step of the NS solver
pcarruscag Jan 30, 2020
bbc7daf
reduce duplication off SetTime_Step
pcarruscag Jan 30, 2020
713c84f
pass one more dim of numerics in viscous residual
pcarruscag Jan 30, 2020
df42c31
parallel NSSolver viscous residual loop
pcarruscag Jan 30, 2020
064ff3d
small cleanup
pcarruscag Jan 30, 2020
29138ee
update boundary conditions to use the right overload of ComputeResidual
pcarruscag Jan 30, 2020
b3619c3
fix segfault
pcarruscag Jan 30, 2020
bbc47be
fix segfault on laminar cases
pcarruscag Jan 31, 2020
4ac3ccc
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag Jan 31, 2020
42a3982
messed up the merge
pcarruscag Jan 31, 2020
a121394
cleanup computation of aero coefficients
pcarruscag Jan 31, 2020
3a84305
complete the aero coefficients auxilary type
pcarruscag Jan 31, 2020
46fddd8
merge still not ok, files left behind
pcarruscag Jan 31, 2020
7d0bb9b
make OpenMP parallel sections easier to find by using allways a versi…
pcarruscag Jan 31, 2020
594bfda
cleaner handling of AD-compatible dot-product
pcarruscag Jan 31, 2020
3910f3d
update version of new files to 7.0.1
pcarruscag Feb 1, 2020
3cb4ad7
simplify some OpenMP reductions
pcarruscag Feb 1, 2020
253580a
parallel upwind and viscous loops of CTurbSolver
pcarruscag Feb 1, 2020
f53aec3
thread-safe convection and diffusion turbulence numerics
pcarruscag Feb 1, 2020
1061736
parallel implicit euler of CTurbSolver
pcarruscag Feb 1, 2020
7c6a91f
parallel pre and postprocessing SA and SST
pcarruscag Feb 1, 2020
9ea05ef
parallel source loops SA and SST
pcarruscag Feb 1, 2020
080f0e0
thread safe turbulence sources
pcarruscag Feb 1, 2020
4d048a0
color balancing on coarse grids, config options for edge coloring gro…
pcarruscag Feb 3, 2020
d3c016f
more ctor cleanup
pcarruscag Feb 3, 2020
ded9c08
fix #857
pcarruscag Feb 3, 2020
f14ba27
natural coloring when running single threaded
pcarruscag Feb 4, 2020
810f8b4
transform the edge loop in SetTimeStep to point loop
pcarruscag Feb 4, 2020
93eb726
make SetMax_Eigenvalue a point loop
pcarruscag Feb 4, 2020
3fd3d24
reducer strategy on coarse grids (coloring fails too often)
pcarruscag Feb 4, 2020
caa4d7b
fix AD compilation
pcarruscag Feb 4, 2020
e9ad0d5
more ctor cleanup
pcarruscag Feb 4, 2020
10aa2ce
document and cleanup reducer strategy
pcarruscag Feb 4, 2020
7ef421a
move incompressible convective numerics to new return type
pcarruscag Feb 6, 2020
2620ac6
parallel CTurbSolver::SetResidual_DualTime
pcarruscag Feb 6, 2020
32451e7
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag Feb 7, 2020
d3dbfd0
fix automake
pcarruscag Feb 7, 2020
9ba1988
cleanup of CSysVector access
pcarruscag Feb 7, 2020
b56c46c
update sliding interface testcases
pcarruscag Feb 7, 2020
c6907c2
update cases with minute changes
pcarruscag Feb 7, 2020
f013845
update UQ testcases after comparing solution
pcarruscag Feb 7, 2020
a3df199
add worksharing to some CVariable methods
pcarruscag Feb 7, 2020
1993f85
move the parallel region out of CSysSolve, clients call "Solve" alrea…
pcarruscag Feb 7, 2020
704bf09
missing sliding_interface updates
pcarruscag Feb 7, 2020
466338b
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag Feb 7, 2020
9d95257
add worksharing construct to MG routines
pcarruscag Feb 8, 2020
c06342a
split CIntegration files
pcarruscag Feb 8, 2020
3c01897
cleanup integration classes, unused/not implemented, unnecessary virt…
pcarruscag Feb 8, 2020
0f97d62
add worksharing to SingleGridIntegration
pcarruscag Feb 8, 2020
65787cc
more worksharing in CIntegration
pcarruscag Feb 8, 2020
22bbb44
prepare limiters and gradients to be called in parallel
pcarruscag Feb 10, 2020
252b2d2
fix build
pcarruscag Feb 10, 2020
2687904
single parallel section for all preprocessing, reduce number of CSolv…
pcarruscag Feb 11, 2020
fcc39c0
single parallel regions for pre/post processing turbulence solvers
pcarruscag Feb 11, 2020
c3b06ce
single parallel region for entire multigrid and singlegrid iterations
pcarruscag Feb 11, 2020
f590376
leave TODO in CSolver::AdaptCFLNumber
pcarruscag Feb 11, 2020
f188072
do the MG and SG iterations in parallel only if the solver supports it
pcarruscag Feb 12, 2020
3a123cd
cleanup unreachable calls to FEA time integration methods
pcarruscag Feb 12, 2020
e1eb786
update some sliding cases (again)
pcarruscag Feb 12, 2020
6ea86f4
allow compilation with AD+OpenMP (experimental)
pcarruscag Feb 12, 2020
9bb71bb
cleanup color loops no more need for #ifdef HAVE_OMP
pcarruscag Feb 13, 2020
f48e3e4
fix some typos
pcarruscag Feb 16, 2020
3fdfd0c
fix #846
pcarruscag Feb 16, 2020
3e98ddd
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag Feb 16, 2020
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
340 changes: 80 additions & 260 deletions Common/include/config_structure.hpp

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion Common/include/config_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
*/

#pragma once
#include "config_structure.hpp"

inline su2double CConfig::GetHTP_Axis(unsigned short val_index) { return HTP_Axis[val_index]; }

Expand Down
6 changes: 3 additions & 3 deletions Common/include/interpolation_structure.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*!
* \file interpolation_structure.hpp
* \brief Headers of the main subroutines used by SU2_FSI.
* The subroutines and functions are in the <i>interpolation_structure.cpp</i> file.
* \brief Headers of classes used for multiphysics interpolation.
* The implementation is in the <i>interpolation_structure.cpp</i> file.
* \author H. Kline
* \version 7.0.0 "Blackbird"
*
Expand Down Expand Up @@ -244,7 +244,7 @@ class CIsoparametric : public CInterpolator {
* \param[in] nDim - the dimension of the coordinates.
* \param[in] iZone_1 - zone index of the element to use for interpolation (the DONOR zone)
* \param[in] donor_elem - element index of the element to use for interpolation (or global index of a point in 2D)
* \param[in[ nDonorPoints - number of donor points in the element.
* \param[in] nDonorPoints - number of donor points in the element.
* \param[in] xj - point projected onto the plane of the donor element.
* \param[out] isoparams - isoparametric coefficients. Must be allocated to size nNodes ahead of time. (size> nDonors)
*
Expand Down
1 change: 1 addition & 0 deletions Common/include/omp_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ inline constexpr int omp_get_thread_num(void) {return 0;}

#define SU2_OMP_MASTER SU2_OMP(master)
#define SU2_OMP_BARRIER SU2_OMP(barrier)
#define SU2_OMP_CRITICAL SU2_OMP(critical)

#define SU2_OMP_PARALLEL SU2_OMP(parallel)
#define SU2_OMP_PARALLEL_(ARGS) SU2_OMP(parallel ARGS)
Expand Down
318 changes: 252 additions & 66 deletions Common/include/option_structure.hpp

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions Common/include/toolboxes/MMS/CIncTGVSolution.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*
* SU2 Project Website: https://su2code.github.io
*
* The SU2 Project is maintained by the SU2 Foundation
* The SU2 Project is maintained by the SU2 Foundation
* (http://su2foundation.org)
*
* Copyright 2012-2019, SU2 Contributors (cf. AUTHORS.md)
Expand All @@ -31,32 +31,32 @@

#include <cmath>
#include "CVerificationSolution.hpp"

/*!
* \class CIncTGVSolution
* \brief Class to define the required data for the incompressible Taylor Green Vortex.
* \author T. Economon, E. van der Weide
*/
class CIncTGVSolution: public CVerificationSolution {
class CIncTGVSolution final: public CVerificationSolution {

protected:

/*--- TGV specific conditions. ---*/

su2double tgvLength; /*!< \brief Taylor-Green length scale. */
su2double tgvVelocity; /*!< \brief Taylor-Green velocity. */
su2double tgvDensity; /*!< \brief Taylor-Green density. */
su2double tgvViscosity; /*!< \brief Taylor-Green viscosity. */

su2double Temperature; /*!< \brief Temperature, just to be safe. */

public:

/*!
* \brief Constructor of the class.
*/
CIncTGVSolution(void);

/*!
* \overload
* \param[in] val_nDim - Number of dimensions of the problem.
Expand All @@ -68,12 +68,12 @@ class CIncTGVSolution: public CVerificationSolution {
unsigned short val_nvar,
unsigned short val_iMesh,
CConfig* config);

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

/*!
* \brief Get the exact solution at the current position and time.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -82,8 +82,8 @@ class CIncTGVSolution: public CVerificationSolution {
*/
void GetSolution(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the boundary conditions state for an exact solution.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -92,5 +92,5 @@ class CIncTGVSolution: public CVerificationSolution {
*/
void GetBCState(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;
};
14 changes: 7 additions & 7 deletions Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*
* SU2 Project Website: https://su2code.github.io
*
* The SU2 Project is maintained by the SU2 Foundation
* The SU2 Project is maintained by the SU2 Foundation
* (http://su2foundation.org)
*
* Copyright 2012-2019, SU2 Contributors (cf. AUTHORS.md)
Expand Down Expand Up @@ -37,7 +37,7 @@
* \brief Class to define the required data for the Inviscid Vortex.
* \author E. van der Weide, T. Economon
*/
class CInviscidVortexSolution: public CVerificationSolution {
class CInviscidVortexSolution final: public CVerificationSolution {

protected:

Expand All @@ -56,12 +56,12 @@ class CInviscidVortexSolution: public CVerificationSolution {
su2double gamOvGm1; /*!< \brief Gamma over Gamma minus 1 */

public:

/*!
* \brief Constructor of the class.
*/
CInviscidVortexSolution(void);

/*!
* \overload
* \param[in] val_nDim - Number of dimensions of the problem.
Expand All @@ -73,7 +73,7 @@ class CInviscidVortexSolution: public CVerificationSolution {
unsigned short val_nvar,
unsigned short val_iMesh,
CConfig* config);

/*!
* \brief Destructor of the class.
*/
Expand All @@ -87,7 +87,7 @@ class CInviscidVortexSolution: public CVerificationSolution {
*/
void GetSolution(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the boundary conditions state for an exact solution.
Expand All @@ -97,5 +97,5 @@ class CInviscidVortexSolution: public CVerificationSolution {
*/
void GetBCState(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;
};
36 changes: 18 additions & 18 deletions Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*
* SU2 Project Website: https://su2code.github.io
*
* The SU2 Project is maintained by the SU2 Foundation
* The SU2 Project is maintained by the SU2 Foundation
* (http://su2foundation.org)
*
* Copyright 2012-2019, SU2 Contributors (cf. AUTHORS.md)
Expand Down Expand Up @@ -38,32 +38,32 @@
* incompressible Euler equations.
* \author T. Economon, E. van der Weide
*/
class CMMSIncEulerSolution: public CVerificationSolution {
class CMMSIncEulerSolution final: public CVerificationSolution {

protected:

/*--- Variables that define the solution and MMS source term. ---*/
su2double Density; /*!< \brief Density, must be constant. */
su2double Temperature; /*!< \brief Temperature, just to be safe. */

/*--- Constants, which describe this manufactured solution. This is a
solution where the primitive variables vary as a combination
of sine and cosine functions. The solution is from Salari K, and
Knupp P, "Code verification by the method of manufactured solutions,"
SAND 2000-1444, Sandia National Laboratories, Albuquerque, NM, 2000. ---*/

su2double P_0; /*!< \brief Parameter for the pressure solution. */
su2double u_0; /*!< \brief Parameter for the x-velocity solution. */
su2double v_0; /*!< \brief Parameter for the y-velocity solution. */
su2double epsilon; /*!< \brief Parameter for the velocity solutions. */

public:

/*!
* \brief Constructor of the class.
*/
CMMSIncEulerSolution(void);

/*!
* \overload
* \param[in] val_nDim - Number of dimensions of the problem.
Expand All @@ -75,12 +75,12 @@ class CMMSIncEulerSolution: public CVerificationSolution {
unsigned short val_nvar,
unsigned short val_iMesh,
CConfig* config);

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

/*!
* \brief Get the exact solution at the current position and time.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -89,8 +89,8 @@ class CMMSIncEulerSolution: public CVerificationSolution {
*/
void GetSolution(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the boundary conditions state for an exact solution.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -99,8 +99,8 @@ class CMMSIncEulerSolution: public CVerificationSolution {
*/
void GetBCState(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the source term for the manufactured solution (MMS).
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -109,11 +109,11 @@ class CMMSIncEulerSolution: public CVerificationSolution {
*/
void GetMMSSourceTerm(const su2double *val_coords,
const su2double val_t,
su2double *val_source);
su2double *val_source) const override;

/*!
* \brief Whether or not this verification solution is a manufactured solution.
* \return - True, because this is a manufactured solution.
*/
bool IsManufacturedSolution(void);
bool IsManufacturedSolution(void) const override;
};
36 changes: 18 additions & 18 deletions Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*
* SU2 Project Website: https://su2code.github.io
*
* The SU2 Project is maintained by the SU2 Foundation
* The SU2 Project is maintained by the SU2 Foundation
* (http://su2foundation.org)
*
* Copyright 2012-2019, SU2 Contributors (cf. AUTHORS.md)
Expand Down Expand Up @@ -38,33 +38,33 @@
* laminar incompressible Navier-Stokes equations.
* \author T. Economon, E. van der Weide
*/
class CMMSIncNSSolution: public CVerificationSolution {
class CMMSIncNSSolution final: public CVerificationSolution {

protected:

/*--- Variables that define the solution and MMS source term. ---*/
su2double Viscosity; /*!< \brief Viscosity, must be constant. */
su2double Density; /*!< \brief Density, must be constant. */
su2double Temperature; /*!< \brief Temperature, just to be safe. */

/*--- Constants, which describe this manufactured solution. This is a
viscous solution where the primitive variables vary as a combination
of sine and cosine functions. The solution is from Salari K, and
Knupp P, "Code verification by the method of manufactured solutions,"
SAND 2000-1444, Sandia National Laboratories, Albuquerque, NM, 2000. ---*/

su2double P_0; /*!< \brief Parameter for the pressure solution. */
su2double u_0; /*!< \brief Parameter for the x-velocity solution. */
su2double v_0; /*!< \brief Parameter for the y-velocity solution. */
su2double epsilon; /*!< \brief Parameter for the velocity solutions. */

public:

/*!
* \brief Constructor of the class.
*/
CMMSIncNSSolution(void);

/*!
* \overload
* \param[in] val_nDim - Number of dimensions of the problem.
Expand All @@ -76,12 +76,12 @@ class CMMSIncNSSolution: public CVerificationSolution {
unsigned short val_nvar,
unsigned short val_iMesh,
CConfig* config);

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

/*!
* \brief Get the exact solution at the current position and time.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -90,8 +90,8 @@ class CMMSIncNSSolution: public CVerificationSolution {
*/
void GetSolution(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the boundary conditions state for an exact solution.
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -100,8 +100,8 @@ class CMMSIncNSSolution: public CVerificationSolution {
*/
void GetBCState(const su2double *val_coords,
const su2double val_t,
su2double *val_solution);
su2double *val_solution) const override;

/*!
* \brief Get the source term for the manufactured solution (MMS).
* \param[in] val_coords - Cartesian coordinates of the current position.
Expand All @@ -110,11 +110,11 @@ class CMMSIncNSSolution: public CVerificationSolution {
*/
void GetMMSSourceTerm(const su2double *val_coords,
const su2double val_t,
su2double *val_source);
su2double *val_source) const override;

/*!
* \brief Whether or not this verification solution is a manufactured solution.
* \return - True, because this is a manufactured solution.
*/
bool IsManufacturedSolution(void);
bool IsManufacturedSolution(void) const override;
};
Loading