diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0507404b6..1e37789af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,13 +11,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Check formatting - uses: DoozyX/clang-format-lint-action@v0.13 + uses: DoozyX/clang-format-lint-action@v0.17 with: source: 'nalu.C unit_tests.C ./include ./src ./unit_tests' extensions: 'H,h,cpp,C' - clangFormatVersion: 13 + clangFormatVersion: 17 CPU-Trilinos: needs: Formatting runs-on: ubuntu-latest diff --git a/include/Algorithm.h b/include/Algorithm.h index 4b19861ca..eb76e2153 100644 --- a/include/Algorithm.h +++ b/include/Algorithm.h @@ -25,6 +25,7 @@ class Realm; class MasterElement; class SupplementalAlgorithm; class Kernel; +class FieldManager; class Algorithm { @@ -43,6 +44,7 @@ class Algorithm Realm& realm_; stk::mesh::PartVector partVec_; + const FieldManager& fieldManager_; std::vector supplementalAlg_; std::vector activeKernels_; diff --git a/include/AssembleElemSolverAlgorithm.h b/include/AssembleElemSolverAlgorithm.h index 3cf9ee589..c4ba55daa 100644 --- a/include/AssembleElemSolverAlgorithm.h +++ b/include/AssembleElemSolverAlgorithm.h @@ -87,7 +87,7 @@ class AssembleElemSolverAlgorithm : public SolverAlgorithm auto& b = ngpMesh.get_bucket(entityRank, bktId); #if !defined(KOKKOS_ENABLE_GPU) - ThrowAssertMsg( + STK_ThrowAssertMsg( b.topology().num_nodes() == (unsigned)nodesPerEntity_, "AssembleElemSolverAlgorithm expected nodesPerEntity_ = " << nodesPerEntity_ diff --git a/include/AssembleFaceElemSolverAlgorithm.h b/include/AssembleFaceElemSolverAlgorithm.h index fbd9715db..2340e26ea 100644 --- a/include/AssembleFaceElemSolverAlgorithm.h +++ b/include/AssembleFaceElemSolverAlgorithm.h @@ -83,7 +83,7 @@ class AssembleFaceElemSolverAlgorithm : public SolverAlgorithm auto& b = ngpMesh.get_bucket(sideRank, bktId); #if !defined(KOKKOS_ENABLE_GPU) - ThrowAssertMsg( + STK_ThrowAssertMsg( b.topology().num_nodes() == (unsigned)nodesPerFace_, "AssembleFaceElemSolverAlgorithm expected nodesPerEntity_ = " << nodesPerFace_ @@ -111,7 +111,7 @@ class AssembleFaceElemSolverAlgorithm : public SolverAlgorithm stk::mesh::Entity face = b[bktIndex * simdLen + numFacesProcessed + simdFaceIndex]; const auto ngpFaceIndex = ngpMesh.fast_mesh_index(face); - // ThrowAssertMsg( + // STK_ThrowAssertMsg( // bulk.num_elements(face) == 1, // "Expecting just 1 element attached to face!"); int thisElemFaceOrdinal = diff --git a/include/CopyAndInterleave.h b/include/CopyAndInterleave.h index db656eefb..5905d937f 100644 --- a/include/CopyAndInterleave.h +++ b/include/CopyAndInterleave.h @@ -59,11 +59,11 @@ copy_and_interleave( for (unsigned viewIndex = 0; viewIndex < numViews; ++viewIndex) { for (int simdIndex = 0; simdIndex < simdElems; ++simdIndex) { src[simdIndex] = data[simdIndex]->get_1D_view_by_index(viewIndex).data(); - NGP_ThrowAssert( + STK_NGP_ThrowAssert( data[simdIndex]->get_1D_view_by_index(viewIndex).size() == simdData.get_1D_view_by_index(viewIndex).size()); - NGP_ThrowAssert(src[simdIndex] != nullptr); - NGP_ThrowAssert( + STK_NGP_ThrowAssert(src[simdIndex] != nullptr); + STK_NGP_ThrowAssert( src[simdIndex][0] == data[simdIndex]->get_1D_view_by_index(viewIndex).data()[0]); } @@ -74,11 +74,11 @@ copy_and_interleave( for (unsigned viewIndex = 0; viewIndex < numViews; ++viewIndex) { for (int simdIndex = 0; simdIndex < simdElems; ++simdIndex) { src[simdIndex] = data[simdIndex]->get_2D_view_by_index(viewIndex).data(); - NGP_ThrowAssert( + STK_NGP_ThrowAssert( data[simdIndex]->get_2D_view_by_index(viewIndex).size() == simdData.get_2D_view_by_index(viewIndex).size()); - NGP_ThrowAssert(src[simdIndex] != nullptr); - NGP_ThrowAssert( + STK_NGP_ThrowAssert(src[simdIndex] != nullptr); + STK_NGP_ThrowAssert( src[simdIndex][0] == data[simdIndex]->get_2D_view_by_index(viewIndex).data()[0]); } @@ -89,11 +89,11 @@ copy_and_interleave( for (unsigned viewIndex = 0; viewIndex < numViews; ++viewIndex) { for (int simdIndex = 0; simdIndex < simdElems; ++simdIndex) { src[simdIndex] = data[simdIndex]->get_3D_view_by_index(viewIndex).data(); - NGP_ThrowAssert( + STK_NGP_ThrowAssert( data[simdIndex]->get_3D_view_by_index(viewIndex).size() == simdData.get_3D_view_by_index(viewIndex).size()); - NGP_ThrowAssert(src[simdIndex] != nullptr); - NGP_ThrowAssert( + STK_NGP_ThrowAssert(src[simdIndex] != nullptr); + STK_NGP_ThrowAssert( src[simdIndex][0] == data[simdIndex]->get_3D_view_by_index(viewIndex).data()[0]); } diff --git a/include/ElemDataRequests.h b/include/ElemDataRequests.h index 89de49ee7..6e2cbed12 100644 --- a/include/ElemDataRequests.h +++ b/include/ElemDataRequests.h @@ -217,7 +217,7 @@ class ElemDataRequests get_coordinates_field(const COORDS_TYPES cType) const { auto it = coordsFields_.find(cType); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( it != coordsFields_.end(), "ElemDataRequests:get_coordinates_field: Coordinates field " "must be registered to ElemDataRequests before access"); diff --git a/include/Enums.h b/include/Enums.h index e54bc29cc..b12022330 100644 --- a/include/Enums.h +++ b/include/Enums.h @@ -105,6 +105,7 @@ static const std::string EquationTypeMap[] = { "PNG_U", "PNG_TKE", "Wall_Distance", + "Gamma_Transition", "Volume_of_Fluid"}; enum UserDataType { diff --git a/include/FieldManager.h b/include/FieldManager.h index c510d5a6a..030bbda69 100644 --- a/include/FieldManager.h +++ b/include/FieldManager.h @@ -60,7 +60,7 @@ class FieldManager const std::string& name, const stk::mesh::PartVector& parts, const void* initVal = nullptr, - stk::mesh::FieldState state = stk::mesh::FieldState::StateNone) + stk::mesh::FieldState state = stk::mesh::FieldState::StateNone) const { const int numStates = 0; const int numComponents = 0; @@ -69,7 +69,7 @@ class FieldManager } /// Check to see if the field has been registered. - bool field_exists(const std::string& name); + bool field_exists(const std::string& name) const; unsigned size() const { return meta_.get_fields().size(); } /// Register a Generic field. @@ -82,9 +82,9 @@ class FieldManager const int numStates, const int numComponents, const void* initVal = nullptr, - stk::mesh::FieldState state = stk::mesh::FieldState::StateNone) + stk::mesh::FieldState state = stk::mesh::FieldState::StateNone) const { - register_field(name, parts, numStates, numComponents, init_val); + register_field(name, parts, numStates, numComponents, initVal); return get_field_ptr(name, state); } @@ -123,19 +123,13 @@ class FieldManager const stk::mesh::PartVector& parts, const int numStates = 0, const int numComponents = 0, - const void* initVal = nullptr) const; - - FieldPointerTypes register_field( - const std::string& name, - stk::mesh::Part* part, - const int numStates = 0, - const int numComponents = 0, const void* initVal = nullptr) const { stk::mesh::PartVector parts; parts.push_back(part); register_field(name, parts, numStates, numComponents, initVal); } + /// Given the named field that has already been registered on the CPU /// return the GPU version of the same field. diff --git a/include/MultiDimViews.h b/include/MultiDimViews.h index f5353aaa1..c523907f6 100644 --- a/include/MultiDimViews.h +++ b/include/MultiDimViews.h @@ -63,7 +63,7 @@ class MultiDimViews views_3D_size(0), views_4D_size(0) { - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( (numNeededViews.num1DViews <= maxViewsPerDim || numNeededViews.num2DViews <= maxViewsPerDim || numNeededViews.num3DViews <= maxViewsPerDim || @@ -176,7 +176,7 @@ class MultiDimViews KOKKOS_FUNCTION void add_1D_view(unsigned ordinal, const SharedMemView1D& view) { - NGP_ThrowRequire(ordinal < maxFieldOrdinals); + STK_NGP_ThrowRequire(ordinal < maxFieldOrdinals); #if !defined(KOKKOS_ENABLE_GPU) views_1D[views_1D_size] = new SharedMemView1D; *views_1D[views_1D_size] = view; @@ -190,7 +190,7 @@ class MultiDimViews KOKKOS_FUNCTION void add_2D_view(unsigned ordinal, const SharedMemView2D& view) { - NGP_ThrowRequire(ordinal < maxFieldOrdinals); + STK_NGP_ThrowRequire(ordinal < maxFieldOrdinals); #if !defined(KOKKOS_ENABLE_GPU) views_2D[views_2D_size] = new SharedMemView2D; *views_2D[views_2D_size] = view; @@ -204,7 +204,7 @@ class MultiDimViews KOKKOS_FUNCTION void add_3D_view(unsigned ordinal, const SharedMemView3D& view) { - NGP_ThrowRequire(ordinal < maxFieldOrdinals); + STK_NGP_ThrowRequire(ordinal < maxFieldOrdinals); #if !defined(KOKKOS_ENABLE_GPU) views_3D[views_3D_size] = new SharedMemView3D; *views_3D[views_3D_size] = view; @@ -218,7 +218,7 @@ class MultiDimViews KOKKOS_FUNCTION void add_4D_view(unsigned ordinal, const SharedMemView4D& view) { - NGP_ThrowRequire(ordinal < maxFieldOrdinals); + STK_NGP_ThrowRequire(ordinal < maxFieldOrdinals); #if !defined(KOKKOS_ENABLE_GPU) views_4D[views_4D_size] = new SharedMemView4D; *views_4D[views_4D_size] = view; diff --git a/include/ScratchViews.h b/include/ScratchViews.h index 8e863c900..3386303ad 100644 --- a/include/ScratchViews.h +++ b/include/ScratchViews.h @@ -61,7 +61,7 @@ count_needed_field_views(const FieldInfoViewType& neededFields) numNeededViews.num3DViews++; } } else { - NGP_ThrowRequireMsg(false, "Unknown stk-rank"); + STK_NGP_ThrowRequireMsg(false, "Unknown stk-rank"); } } @@ -203,7 +203,7 @@ create_needed_field_views( numScalars += nodesPerEntity * scalarsDim1 * scalarsDim2; } } else { - NGP_ThrowRequireMsg(false, "Unknown stk-rank"); + STK_NGP_ThrowRequireMsg(false, "Unknown stk-rank"); } } @@ -257,7 +257,7 @@ class ScratchViews MasterElementViews& get_me_views(const COORDS_TYPES cType) { - NGP_ThrowRequire(hasCoordField[cType] == true); + STK_NGP_ThrowRequire(hasCoordField[cType] == true); return meViews[cType]; } @@ -310,7 +310,7 @@ SharedMemView& ScratchViews::get_scratch_view_1D( const stk::mesh::FieldBase& field) { - // ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, + // STK_ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, // "ScratchViews ERROR, trying to get 1D scratch-view for field // "<>* vt = @@ -323,7 +323,7 @@ SharedMemView& ScratchViews::get_scratch_view_2D( const stk::mesh::FieldBase& field) { - // ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, + // STK_ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, // "ScratchViews ERROR, trying to get 2D scratch-view for field // "<>* vt = @@ -336,7 +336,7 @@ SharedMemView& ScratchViews::get_scratch_view_3D( const stk::mesh::FieldBase& field) { - // ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, + // STK_ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, // "ScratchViews ERROR, trying to get 3D scratch-view for field // "<>* vt = @@ -349,7 +349,7 @@ SharedMemView& ScratchViews::get_scratch_view_4D( const stk::mesh::FieldBase& field) { - // ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, + // STK_ThrowAssertMsg(fieldViews[field.mesh_meta_data_ordinal()] != nullptr, // "ScratchViews ERROR, trying to get 4D scratch-view for field // "<>* vt = @@ -416,7 +416,7 @@ MasterElementViews::create_master_element_views( for (unsigned i = 0; i < dataEnums.size(); ++i) { switch (dataEnums(i)) { case FC_AREAV: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFaceIp > 0, "ERROR, meFC must be non-null if FC_AREAV is requested."); fc_areav = @@ -424,7 +424,7 @@ MasterElementViews::create_master_element_views( numScalars += numFaceIp * nDim; break; case FC_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFaceIp > 0, "ERROR, meFC must be non-null if FC_SHAPE_FCN is requested"); fc_shape_fcn = get_shmem_view_2D( @@ -432,7 +432,7 @@ MasterElementViews::create_master_element_views( numScalars += numFaceIp * nodesPerFace; break; case FC_SHIFTED_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFaceIp > 0, "ERROR, meFC must be non-null if FC_SHIFTED_SHAPE_FCN is requested"); fc_shifted_shape_fcn = get_shmem_view_2D( @@ -440,7 +440,7 @@ MasterElementViews::create_master_element_views( numScalars += numFaceIp * nodesPerFace; break; case SCS_FACE_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFaceIp > 0, "ERROR, meSCS must be non-null if SCS_FACE_GRAD_OP is requested."); dndx_fc_scs = get_shmem_view_3D( @@ -450,7 +450,7 @@ MasterElementViews::create_master_element_views( needDetjFC = true; break; case SCS_SHIFTED_FACE_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFaceIp > 0, "ERROR, meSCS must be non-null if " "SCS_SHIFTED_FACE_GRAD_OP is requested."); dndx_shifted_fc_scs = get_shmem_view_3D( @@ -460,7 +460,7 @@ MasterElementViews::create_master_element_views( needDetjFC = true; break; case SCS_AREAV: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_AREAV is requested."); scs_areav = @@ -469,7 +469,7 @@ MasterElementViews::create_master_element_views( break; case SCS_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_GRAD_OP is requested."); dndx = get_shmem_view_3D( @@ -480,7 +480,7 @@ MasterElementViews::create_master_element_views( break; case SCS_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_SHIFTED_GRAD_OP is requested."); dndx_shifted = get_shmem_view_3D( @@ -491,7 +491,7 @@ MasterElementViews::create_master_element_views( break; case SCS_GIJ: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_GIJ is requested."); gijUpper = get_shmem_view_3D(team, numScsIp, nDim, nDim); @@ -502,7 +502,7 @@ MasterElementViews::create_master_element_views( break; case SCV_MIJ: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_MIJ is requested."); metric = get_shmem_view_3D(team, numScvIp, nDim, nDim); @@ -511,7 +511,7 @@ MasterElementViews::create_master_element_views( break; case SCS_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_SHAPE_FCN is requested"); scs_shape_fcn = get_shmem_view_2D( @@ -520,7 +520,7 @@ MasterElementViews::create_master_element_views( break; case SCS_SHIFTED_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScsIp > 0, "ERROR, meSCS must be non-null if SCS_SHIFTED_SHAPE_FCN is requested"); scs_shifted_shape_fcn = get_shmem_view_2D( @@ -529,7 +529,7 @@ MasterElementViews::create_master_element_views( break; case SCV_VOLUME: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_VOLUME is requested."); scv_volume = get_shmem_view_1D(team, numScvIp); @@ -537,7 +537,7 @@ MasterElementViews::create_master_element_views( break; case SCV_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_GRAD_OP is requested."); dndx_scv = get_shmem_view_3D( @@ -548,7 +548,7 @@ MasterElementViews::create_master_element_views( break; case SCV_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_SHIFTED_GRAD_OP is requested."); dndx_scv_shifted = get_shmem_view_3D( @@ -559,7 +559,7 @@ MasterElementViews::create_master_element_views( break; case SCV_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_SHAPE_FCN is requested"); scv_shape_fcn = get_shmem_view_2D( @@ -568,7 +568,7 @@ MasterElementViews::create_master_element_views( break; case SCV_SHIFTED_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numScvIp > 0, "ERROR, meSCV must be non-null if SCV_SHIFTED_SHAPE_FCN is requested"); scv_shifted_shape_fcn = get_shmem_view_2D( @@ -577,7 +577,7 @@ MasterElementViews::create_master_element_views( break; case FEM_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFemIp > 0, "ERROR, meFEM must be non-null if FEM_GRAD_OP is requested."); dndx_fem = get_shmem_view_3D( @@ -589,7 +589,7 @@ MasterElementViews::create_master_element_views( break; case FEM_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFemIp > 0, "ERROR, meFEM must be non-null if FEM_SHIFTED_GRAD_OP is requested."); dndx_fem = get_shmem_view_3D( @@ -601,7 +601,7 @@ MasterElementViews::create_master_element_views( break; case FEM_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFemIp > 0, "ERROR, meFEM must be non-null if FEM_SHAPE_FCN is requested"); fem_shape_fcn = get_shmem_view_2D( @@ -610,7 +610,7 @@ MasterElementViews::create_master_element_views( break; case FEM_SHIFTED_SHAPE_FCN: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFemIp > 0, "ERROR, meFEM must be non-null if FEM_SHIFTED_SHAPE_FCN is requested"); fem_shifted_shape_fcn = get_shmem_view_2D( @@ -669,7 +669,7 @@ MasterElementViews::create_master_element_views( // error check if (femGradOp && femShiftedGradOp) - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( numFemIp > 0, "ERROR, femGradOp and femShiftedGradOp both requested."); return numScalars; @@ -737,113 +737,113 @@ MasterElementViews::fill_master_element_views_new_me( for (unsigned i = 0; i < dataEnums.size(); ++i) { switch (dataEnums(i)) { case FC_AREAV: - NGP_ThrowRequireMsg(false, "FC_AREAV not implemented yet."); + STK_NGP_ThrowRequireMsg(false, "FC_AREAV not implemented yet."); break; case SCS_AREAV: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if SCS_AREAV is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_AREAV requested."); meSCS->determinant(*coordsView, scs_areav); break; case SCS_FACE_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if SCS_FACE_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_FACE_GRAD_OP requested."); meSCS->face_grad_op(faceOrdinal, *coordsView, dndx_fc_scs, deriv_fc_scs); break; case SCS_SHIFTED_FACE_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if " "SCS_SHIFTED_FACE_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_SHIFTED_FACE_GRAD_OP requested."); meSCS->shifted_face_grad_op( faceOrdinal, *coordsView, dndx_shifted_fc_scs, deriv_fc_scs); break; case SCS_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if SCS_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_GRAD_OP requested."); meSCS->grad_op(*coordsView, dndx, deriv); break; case SCS_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if SCS_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_GRAD_OP requested."); meSCS->shifted_grad_op(*coordsView, dndx_shifted, deriv); break; case SCS_GIJ: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCS needs to be non-null if SCS_GIJ is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_GIJ requested."); meSCS->gij(*coordsView, gijUpper, gijLower, deriv); break; case SCS_MIJ: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCS != nullptr, "ERROR, meSCV needs to be non-null if SCS_MIJ is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCS_MIJ requested."); meSCS->Mij(*coordsView, metric, deriv); break; case SCV_MIJ: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCV != nullptr, "ERROR, meSCV needs to be non-null if SCV_MIJ is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCV_MIJ requested."); meSCV->Mij(*coordsView, metric, deriv_scv); break; case SCV_VOLUME: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCV != nullptr, "ERROR, meSCV needs to be non-null if SCV_VOLUME is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCV_VOLUME requested."); meSCV->determinant(*coordsView, scv_volume); break; case SCV_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCV != nullptr, "ERROR, meSCV needs to be non-null if SCV_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCV_GRAD_OP requested."); meSCV->grad_op(*coordsView, dndx_scv, deriv_scv); break; case SCV_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meSCV != nullptr, "ERROR, meSCV needs to be non-null if " "SCV_SHIFTED_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but SCV_SHIFTED_GRAD_OP requested."); meSCV->shifted_grad_op(*coordsView, dndx_scv_shifted, deriv_scv); break; case FEM_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meFEM != nullptr, "ERROR, meFEM needs to be non-null if FEM_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but FEM_GRAD_OP requested."); meFEM->grad_op_fem(*coordsView, dndx_fem, deriv_fem, det_j_fem); break; case FEM_SHIFTED_GRAD_OP: - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( meFEM != nullptr, "ERROR, meFEM needs to be non-null if " "FEM_SHIFTED_GRAD_OP is requested."); - NGP_ThrowRequireMsg( + STK_NGP_ThrowRequireMsg( coordsView != nullptr, "ERROR, coords null but FEM_GRAD_OP requested."); meFEM->shifted_grad_op_fem(*coordsView, dndx_fem, deriv_fem, det_j_fem); break; diff --git a/include/SmartField.h b/include/SmartField.h index 937d9ea62..af4f58005 100644 --- a/include/SmartField.h +++ b/include/SmartField.h @@ -110,6 +110,13 @@ class SmartField return stk::mesh::field_data(stkField_, entity); } + template + inline typename std::enable_if_t, T>* + operator()(const stk::mesh::Bucket& bucket) const + { + return stk::mesh::field_data(stkField_, bucket); + } + // --- Const Accessors template inline const typename std::enable_if_t, T>* @@ -125,6 +132,13 @@ class SmartField return stk::mesh::field_data(stkField_, entity); } + template + inline const typename std::enable_if_t, T>* + operator()(const stk::mesh::Bucket& bucket) const + { + return stk::mesh::field_data(stkField_, bucket); + } + ~SmartField() { if (is_write_) { diff --git a/include/TpetraLinearSystem.h b/include/TpetraLinearSystem.h index b676df031..554013bbc 100644 --- a/include/TpetraLinearSystem.h +++ b/include/TpetraLinearSystem.h @@ -363,7 +363,7 @@ copy_kokkos_unordered_map( fail_count += insert_result.failed() ? 1 : 0; } } - ThrowRequire(fail_count == 0); + STK_ThrowRequire(fail_count == 0); } int getDofStatus_impl(stk::mesh::Entity node, const Realm& realm); diff --git a/include/aero/actuator/ActuatorGenericSearchFunctor.h b/include/aero/actuator/ActuatorGenericSearchFunctor.h index c1941d606..408a3fa5a 100644 --- a/include/aero/actuator/ActuatorGenericSearchFunctor.h +++ b/include/aero/actuator/ActuatorGenericSearchFunctor.h @@ -83,8 +83,8 @@ struct GenericLoopOverCoarseSearchResults const int numIp = meSCV->num_integration_points(); // just allocate for largest expected size (hex27) - ThrowAssert(numIp <= 216); - ThrowAssert(numNodes <= 27); + STK_ThrowAssert(numIp <= 216); + STK_ThrowAssert(numNodes <= 27); double scvip[216]; double elemcoords[27 * 3]; diff --git a/include/aero/actuator/ActuatorScalingFLLC.h b/include/aero/actuator/ActuatorScalingFLLC.h index ddb80d5ac..62f8e2fc0 100644 --- a/include/aero/actuator/ActuatorScalingFLLC.h +++ b/include/aero/actuator/ActuatorScalingFLLC.h @@ -57,7 +57,7 @@ scale_lift_force( case (ActuatorType::ActLineFASTNGP): case (ActuatorType::ActDiskFASTNGP): { #ifndef NALU_USES_OPENFAST - ThrowErrorMsg("Actuator methods require OpenFAST"); + STK_ThrowErrorMsg("Actuator methods require OpenFAST"); #if !defined(KOKKOS_ENABLE_GPU) break; #endif diff --git a/include/aero/actuator/UtilitiesActuator.h b/include/aero/actuator/UtilitiesActuator.h index 1f9ef605b..58d12598f 100644 --- a/include/aero/actuator/UtilitiesActuator.h +++ b/include/aero/actuator/UtilitiesActuator.h @@ -87,8 +87,8 @@ template inline void reduce_view_on_host(T view) { - ThrowAssert(view.size() > 0); - ThrowAssert(view.data()); + STK_ThrowAssert(view.size() > 0); + STK_ThrowAssert(view.data()); MPI_Datatype mpi_type; if (std::is_same::value) { mpi_type = MPI_DOUBLE; @@ -99,7 +99,7 @@ reduce_view_on_host(T view) } else if (std::is_same::value) { mpi_type = MPI_LONG; } else { - ThrowErrorMsg("unsupported type to reduce view on host"); + STK_ThrowErrorMsg("unsupported type to reduce view on host"); } MPI_Allreduce( diff --git a/include/kernel/KernelBuilder.h b/include/kernel/KernelBuilder.h index 100770073..deaa4fda3 100644 --- a/include/kernel/KernelBuilder.h +++ b/include/kernel/KernelBuilder.h @@ -48,7 +48,7 @@ build_or_add_part_to_solver_alg( topo == stk::topology::QUADRILATERAL_4_2D || topo == stk::topology::TRIANGLE_3_2D || topo == stk::topology::WEDGE_6 || topo == stk::topology::TETRAHEDRON_4 || topo == stk::topology::PYRAMID_5); - ThrowRequireMsg( + STK_ThrowRequireMsg( !isNotNGP, "Consolidated algorithm called on non-NGP MasterElement"); auto itc = solverAlgs.find(algName); @@ -57,7 +57,7 @@ build_or_add_part_to_solver_alg( auto* theSolverAlg = new AssembleElemSolverAlgorithm( eqSys.realm_, &part, &eqSys, stk::topology::ELEMENT_RANK, topo.num_nodes()); - ThrowRequire(theSolverAlg != nullptr); + STK_ThrowRequire(theSolverAlg != nullptr); NaluEnv::self().naluOutputP0() << "Created the following interior elem alg: " << algName << std::endl; @@ -71,7 +71,7 @@ build_or_add_part_to_solver_alg( auto* theSolverAlg = dynamic_cast(solverAlgs.at(algName)); - ThrowRequire(theSolverAlg != nullptr); + STK_ThrowRequire(theSolverAlg != nullptr); return {theSolverAlg, createNewAlg}; } @@ -80,7 +80,7 @@ template