From 3b725efa2a8e23aa8c4045382dbdc3d2b5dc875e Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Tue, 25 Feb 2025 09:02:51 -0800 Subject: [PATCH 1/7] Update penalty validity check for gpu port --- src/tribol/mesh/CouplingScheme.cpp | 4 +-- src/tribol/mesh/MeshData.cpp | 41 ++++++++++++++++++++++++++---- src/tribol/mesh/MeshData.hpp | 4 +-- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/tribol/mesh/CouplingScheme.cpp b/src/tribol/mesh/CouplingScheme.cpp index 8aa97da9..19c9fa71 100644 --- a/src/tribol/mesh/CouplingScheme.cpp +++ b/src/tribol/mesh/CouplingScheme.cpp @@ -772,8 +772,8 @@ int CouplingScheme::checkEnforcementData() case PENALTY: { // check penalty data. Note, this routine is guarded against null-meshes PenaltyEnforcementOptions& pen_enfrc_options = this->m_enforcementOptions.penalty_options; - if ( this->m_mesh1->checkPenaltyData( pen_enfrc_options ) != 0 || - this->m_mesh2->checkPenaltyData( pen_enfrc_options ) != 0 ) { + if ( this->m_mesh1->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 || + this->m_mesh2->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 ) { this->m_couplingSchemeErrors.cs_enforcement_data_error = ERROR_IN_REGISTERED_ENFORCEMENT_DATA; err = 1; } diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index 6714f988..9e7cf4e9 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -19,7 +19,7 @@ namespace tribol { //------------------------------------------------------------------------------ -bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options ) +bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode , int alloc_id ) { // Note, this routine is, and should be called only for non-null meshes KinematicPenaltyCalculation kin_calc = pen_options.kinematic_calculation; @@ -61,7 +61,7 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio } // check for positive material modulus and thickness values - bool isValidMatMod = true; + /* bool isValidMatMod = true; bool isValidElemThickness = true; for ( int i = 0; i < this->m_num_cells; ++i ) { if ( this->m_mat_mod[i] <= 0. ) { @@ -80,6 +80,37 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio if ( !isValidMatMod || !isValidElemThickness ) { return false; } + */ + + ArrayT mod_ok_data( { static_cast( true ) }, alloc_id ); + ArrayViewT mod_ok = mod_ok_data; + ArrayT thickness_ok_data( { static_cast( true ) }, alloc_id ); + ArrayViewT thickness_ok = thickness_ok_data; + Array1DView mod = this->m_mat_mod ; + Array1DView thickness = this->m_thickness ; + //ArrayViewT mod = this->m_mat_mod ; + //ArrayViewT thickness = this->m_thickness ; + + forAllExec( exec_mode, numberOfElements(), + [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { + if (mod[i] <= 0. ) { + mod_ok[0] = static_cast( false ); + } + if (thickness[i] <= 0. ) { + thickness_ok[0] = static_cast( false ); + } + + } ); // end element loop + + ArrayT mod_ok_data_host( mod_ok_data ); + SLIC_WARNING_IF( !mod_ok_data_host[0], + axom::fmt::format("MeshElemData::isValidKinematicPenalty(): invalid nonpositive element material modulus encountered.") ); + ArrayT thickness_ok_data_host( thickness_ok_data ); + SLIC_WARNING_IF( !thickness_ok_data_host[0], + axom::fmt::format("MeshElemData::isValidKinematicPenalty(): invalid nonpositive element thickness encountered.") ); + + if ( !mod_ok_data_host[0] || !thickness_ok_data_host[0] ) { + return false; } // end for loop over elements break; } // end case KINEMATIC_ELEMENT @@ -583,7 +614,7 @@ int MeshData::checkLagrangeMultiplierData() return err; } //------------------------------------------------------------------------------ -int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options ) +int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, ExecutionMode exec_mode ) { int err = 0; if ( this->numberOfElements() > 0 ) { @@ -591,14 +622,14 @@ int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options ) // switch over penalty enforcement options and check for required data switch ( constraint_type ) { case KINEMATIC: { - if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options ) ) { + if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) { err = 1; } break; } // end KINEMATIC case case KINEMATIC_AND_RATE: { - if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options ) ) { + if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) ) { err = 1; } if ( !m_element_data.isValidRatePenalty( p_enfrc_options ) ) { diff --git a/src/tribol/mesh/MeshData.hpp b/src/tribol/mesh/MeshData.hpp index 02d02121..3759a3b2 100644 --- a/src/tribol/mesh/MeshData.hpp +++ b/src/tribol/mesh/MeshData.hpp @@ -68,7 +68,7 @@ struct MeshElemData { * * \return true if the kinematic penalty option has valid data */ - bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options ); + bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id) ); /*! * \brief Checks if the rate penalty data is valid @@ -647,7 +647,7 @@ class MeshData { * * \param [in] p_enfrc_options penalty enforcement options guiding check */ - int checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options ); + int checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, ExecutionMode exec_mode ); /*! * \brief Computes the face normals and centroids for all faces in the mesh From 406699c828956050b896248f3c39ab269d373eed Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Wed, 26 Feb 2025 08:40:38 -0800 Subject: [PATCH 2/7] Registering exec mode before penalty data check --- src/tribol/mesh/CouplingScheme.cpp | 16 ++++++------ src/tribol/mesh/MeshData.cpp | 40 +++++++----------------------- 2 files changed, 17 insertions(+), 39 deletions(-) diff --git a/src/tribol/mesh/CouplingScheme.cpp b/src/tribol/mesh/CouplingScheme.cpp index 19c9fa71..a641ecac 100644 --- a/src/tribol/mesh/CouplingScheme.cpp +++ b/src/tribol/mesh/CouplingScheme.cpp @@ -420,14 +420,6 @@ bool CouplingScheme::isValidCouplingScheme() valid = false; } - if ( !this->isValidEnforcement() ) { - this->m_couplingSchemeErrors.printEnforcementErrors(); - valid = false; - } else if ( this->checkEnforcementData() != 0 ) { - this->m_couplingSchemeErrors.printEnforcementDataErrors(); - valid = false; - } - switch ( this->checkExecutionModeData() ) { case 1: this->m_couplingSchemeErrors.printExecutionModeErrors(); @@ -441,6 +433,14 @@ bool CouplingScheme::isValidCouplingScheme() break; } + if ( !this->isValidEnforcement() ) { + this->m_couplingSchemeErrors.printEnforcementErrors(); + valid = false; + } else if ( this->checkEnforcementData() != 0 ) { + this->m_couplingSchemeErrors.printEnforcementDataErrors(); + valid = false; + } + return valid; } // end CouplingScheme::isValidCouplingScheme() diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index 9e7cf4e9..e95932a6 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -60,28 +60,6 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio return false; } - // check for positive material modulus and thickness values - /* bool isValidMatMod = true; - bool isValidElemThickness = true; - for ( int i = 0; i < this->m_num_cells; ++i ) { - if ( this->m_mat_mod[i] <= 0. ) { - isValidMatMod = false; - } - if ( this->m_thickness[i] <= 0. ) { - isValidElemThickness = false; - } - - SLIC_WARNING_IF( !isValidMatMod, "MeshElemData::isValidKinematicPenalty(): " - << "invalid nonpositive element material modulus encountered." ); - - SLIC_WARNING_IF( !isValidElemThickness, "MeshElemData::isValidKinematicPenalty(): " - << "invalid nonpositive element thickness encountered." ); - - if ( !isValidMatMod || !isValidElemThickness ) { - return false; - } - */ - ArrayT mod_ok_data( { static_cast( true ) }, alloc_id ); ArrayViewT mod_ok = mod_ok_data; ArrayT thickness_ok_data( { static_cast( true ) }, alloc_id ); @@ -91,14 +69,14 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio //ArrayViewT mod = this->m_mat_mod ; //ArrayViewT thickness = this->m_thickness ; - forAllExec( exec_mode, numberOfElements(), - [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { - if (mod[i] <= 0. ) { - mod_ok[0] = static_cast( false ); - } - if (thickness[i] <= 0. ) { - thickness_ok[0] = static_cast( false ); - } + forAllExec( exec_mode, this->m_num_cells, + [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { + if (mod[i] <= 0. ) { + RAJA::atomicMin (mod_ok.data(), static_cast( false )) ; + } + if (thickness[i] <= 0. ) { + RAJA::atomicMin (thickness_ok.data(), static_cast( false )) ; + } } ); // end element loop @@ -629,7 +607,7 @@ int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, Exe } // end KINEMATIC case case KINEMATIC_AND_RATE: { - if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) ) { + if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options ) ) { err = 1; } if ( !m_element_data.isValidRatePenalty( p_enfrc_options ) ) { From b09faf07b270c07e23a98ce41a0dbec61cfb8f9f Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Thu, 27 Feb 2025 11:26:25 -0800 Subject: [PATCH 3/7] style corrections --- src/tribol/mesh/CouplingScheme.cpp | 4 ++-- src/tribol/mesh/MeshData.cpp | 36 ++++++++++++++++-------------- src/tribol/mesh/MeshData.hpp | 2 +- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/tribol/mesh/CouplingScheme.cpp b/src/tribol/mesh/CouplingScheme.cpp index a641ecac..1ecb5d8c 100644 --- a/src/tribol/mesh/CouplingScheme.cpp +++ b/src/tribol/mesh/CouplingScheme.cpp @@ -772,8 +772,8 @@ int CouplingScheme::checkEnforcementData() case PENALTY: { // check penalty data. Note, this routine is guarded against null-meshes PenaltyEnforcementOptions& pen_enfrc_options = this->m_enforcementOptions.penalty_options; - if ( this->m_mesh1->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 || - this->m_mesh2->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 ) { + if ( this->m_mesh1->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 || + this->m_mesh2->checkPenaltyData( pen_enfrc_options, this->m_exec_mode ) != 0 ) { this->m_couplingSchemeErrors.cs_enforcement_data_error = ERROR_IN_REGISTERED_ENFORCEMENT_DATA; err = 1; } diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index e95932a6..20c88cae 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -19,7 +19,8 @@ namespace tribol { //------------------------------------------------------------------------------ -bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode , int alloc_id ) +bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, + int alloc_id ) { // Note, this routine is, and should be called only for non-null meshes KinematicPenaltyCalculation kin_calc = pen_options.kinematic_calculation; @@ -64,28 +65,29 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio ArrayViewT mod_ok = mod_ok_data; ArrayT thickness_ok_data( { static_cast( true ) }, alloc_id ); ArrayViewT thickness_ok = thickness_ok_data; - Array1DView mod = this->m_mat_mod ; - Array1DView thickness = this->m_thickness ; - //ArrayViewT mod = this->m_mat_mod ; - //ArrayViewT thickness = this->m_thickness ; + Array1DView mod = this->m_mat_mod; + Array1DView thickness = this->m_thickness; - forAllExec( exec_mode, this->m_num_cells, - [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { - if (mod[i] <= 0. ) { - RAJA::atomicMin (mod_ok.data(), static_cast( false )) ; + forAllExec( exec_mode, this->m_num_cells, [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { + if ( mod[i] <= 0. ) { + RAJA::atomicMin (mod_ok.data(), static_cast( false ) ) ; } - if (thickness[i] <= 0. ) { - RAJA::atomicMin (thickness_ok.data(), static_cast( false )) ; + if ( thickness[i] <= 0. ) { + RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ) ; } - } ); // end element loop + } ); // end element loop ArrayT mod_ok_data_host( mod_ok_data ); - SLIC_WARNING_IF( !mod_ok_data_host[0], - axom::fmt::format("MeshElemData::isValidKinematicPenalty(): invalid nonpositive element material modulus encountered.") ); + SLIC_WARNING_IF( + !mod_ok_data_host[0], + axom::fmt::format( + "MeshElemData::isValidKinematicPenalty(): invalid nonpositive element material modulus encountered." ) ); ArrayT thickness_ok_data_host( thickness_ok_data ); - SLIC_WARNING_IF( !thickness_ok_data_host[0], - axom::fmt::format("MeshElemData::isValidKinematicPenalty(): invalid nonpositive element thickness encountered.") ); + SLIC_WARNING_IF( + !thickness_ok_data_host[0], + axom::fmt::format( + "MeshElemData::isValidKinematicPenalty(): invalid nonpositive element thickness encountered." ) ); if ( !mod_ok_data_host[0] || !thickness_ok_data_host[0] ) { return false; @@ -592,7 +594,7 @@ int MeshData::checkLagrangeMultiplierData() return err; } //------------------------------------------------------------------------------ -int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, ExecutionMode exec_mode ) +int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, ExecutionMode exec_mode ) { int err = 0; if ( this->numberOfElements() > 0 ) { diff --git a/src/tribol/mesh/MeshData.hpp b/src/tribol/mesh/MeshData.hpp index 3759a3b2..0d405b25 100644 --- a/src/tribol/mesh/MeshData.hpp +++ b/src/tribol/mesh/MeshData.hpp @@ -68,7 +68,7 @@ struct MeshElemData { * * \return true if the kinematic penalty option has valid data */ - bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id) ); + bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id) ; /*! * \brief Checks if the rate penalty data is valid From 3749090ec29c68d893508a78e928b3c0d970a635 Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Thu, 27 Feb 2025 17:58:06 -0800 Subject: [PATCH 4/7] more style corrections --- src/tribol/mesh/MeshData.cpp | 24 ++++++++++++------------ src/tribol/mesh/MeshData.hpp | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index 20c88cae..ff77d57b 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -69,17 +69,17 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio Array1DView thickness = this->m_thickness; forAllExec( exec_mode, this->m_num_cells, [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { - if ( mod[i] <= 0. ) { - RAJA::atomicMin (mod_ok.data(), static_cast( false ) ) ; - } - if ( thickness[i] <= 0. ) { - RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ) ; - } - - } ); // end element loop + if ( mod[i] <= 0. ) { + RAJA::atomicMin (mod_ok.data(), static_cast( false ) ) ; + } + if ( thickness[i] <= 0. ) { + RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ) ; + } + + } ); // end element loop ArrayT mod_ok_data_host( mod_ok_data ); - SLIC_WARNING_IF( + SLIC_WARNING_IF( !mod_ok_data_host[0], axom::fmt::format( "MeshElemData::isValidKinematicPenalty(): invalid nonpositive element material modulus encountered." ) ); @@ -88,7 +88,7 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio !thickness_ok_data_host[0], axom::fmt::format( "MeshElemData::isValidKinematicPenalty(): invalid nonpositive element thickness encountered." ) ); - + if ( !mod_ok_data_host[0] || !thickness_ok_data_host[0] ) { return false; } // end for loop over elements @@ -602,14 +602,14 @@ int MeshData::checkPenaltyData( PenaltyEnforcementOptions& p_enfrc_options, Exec // switch over penalty enforcement options and check for required data switch ( constraint_type ) { case KINEMATIC: { - if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) { + if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) ) { err = 1; } break; } // end KINEMATIC case case KINEMATIC_AND_RATE: { - if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options ) ) { + if ( !m_element_data.isValidKinematicPenalty( p_enfrc_options, exec_mode, this->m_allocator_id ) ) { err = 1; } if ( !m_element_data.isValidRatePenalty( p_enfrc_options ) ) { diff --git a/src/tribol/mesh/MeshData.hpp b/src/tribol/mesh/MeshData.hpp index 0d405b25..64c4fd6c 100644 --- a/src/tribol/mesh/MeshData.hpp +++ b/src/tribol/mesh/MeshData.hpp @@ -68,7 +68,7 @@ struct MeshElemData { * * \return true if the kinematic penalty option has valid data */ - bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id) ; + bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id ) ; /*! * \brief Checks if the rate penalty data is valid From e6295ccf07357112be91eab62ce4f07caa5c6fe0 Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Thu, 27 Feb 2025 18:28:41 -0800 Subject: [PATCH 5/7] more style corrections --- src/tribol/mesh/MeshData.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index ff77d57b..fd458253 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -67,15 +67,15 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio ArrayViewT thickness_ok = thickness_ok_data; Array1DView mod = this->m_mat_mod; Array1DView thickness = this->m_thickness; - - forAllExec( exec_mode, this->m_num_cells, [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { + + forAllExec( exec_mode, this->m_num_cells, [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { if ( mod[i] <= 0. ) { - RAJA::atomicMin (mod_ok.data(), static_cast( false ) ) ; + RAJA::atomicMin (mod_ok.data(), static_cast( false ) ); } if ( thickness[i] <= 0. ) { - RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ) ; + RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ); } - + } ); // end element loop ArrayT mod_ok_data_host( mod_ok_data ); From 31c50d2ce4f5095464f87814bb471eeb0a63bb90 Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Thu, 27 Feb 2025 18:29:26 -0800 Subject: [PATCH 6/7] yet more style corrections --- src/tribol/mesh/MeshData.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tribol/mesh/MeshData.hpp b/src/tribol/mesh/MeshData.hpp index 64c4fd6c..ffde5a21 100644 --- a/src/tribol/mesh/MeshData.hpp +++ b/src/tribol/mesh/MeshData.hpp @@ -68,7 +68,7 @@ struct MeshElemData { * * \return true if the kinematic penalty option has valid data */ - bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id ) ; + bool isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id ); /*! * \brief Checks if the rate penalty data is valid From 64ad807b6d83bd668f2e5991ad4a4fa0225154a5 Mon Sep 17 00:00:00 2001 From: Jennifer Fromm Date: Thu, 27 Feb 2025 18:53:57 -0800 Subject: [PATCH 7/7] yet even more style corrections --- src/tribol/mesh/MeshData.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/tribol/mesh/MeshData.cpp b/src/tribol/mesh/MeshData.cpp index fd458253..24b3a507 100644 --- a/src/tribol/mesh/MeshData.cpp +++ b/src/tribol/mesh/MeshData.cpp @@ -19,7 +19,7 @@ namespace tribol { //------------------------------------------------------------------------------ -bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, +bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_options, ExecutionMode exec_mode, int alloc_id ) { // Note, this routine is, and should be called only for non-null meshes @@ -70,13 +70,12 @@ bool MeshElemData::isValidKinematicPenalty( PenaltyEnforcementOptions& pen_optio forAllExec( exec_mode, this->m_num_cells, [mod, thickness, mod_ok, thickness_ok] TRIBOL_HOST_DEVICE( IndexT i ) { if ( mod[i] <= 0. ) { - RAJA::atomicMin (mod_ok.data(), static_cast( false ) ); + RAJA::atomicMin( mod_ok.data(), static_cast( false ) ); } if ( thickness[i] <= 0. ) { - RAJA::atomicMin (thickness_ok.data(), static_cast( false ) ); + RAJA::atomicMin( thickness_ok.data(), static_cast( false ) ); } - - } ); // end element loop + } ); // end element loop ArrayT mod_ok_data_host( mod_ok_data ); SLIC_WARNING_IF(