Skip to content

Commit 2f2fe5e

Browse files
committed
Constitutive model number passed
1 parent 42e4c6d commit 2f2fe5e

6 files changed

Lines changed: 10 additions & 12 deletions

File tree

src/pmpo_MPMesh.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void MPMesh::calculateStrain(){
6161
p_MPs->parallel_for(setMPStrainRate, "setMPStrainRate");
6262
}
6363

64-
void MPMesh::calculateStress(){
64+
void MPMesh::calculateStress(const int constitutive_relation){
6565
//MeshFields
6666
auto solveStress = p_mesh->getMeshField<polyMPO::MeshF_SolveStress>();
6767
auto elasticTimeStep = p_mesh->getElasticTimeStep();
@@ -75,16 +75,14 @@ void MPMesh::calculateStress(){
7575
auto MPsIcePressure = p_MPs->getData<polyMPO::MPF_IcePressure>();
7676
auto MPsRepPressure = p_MPs->getData<polyMPO::MPF_ReplacementPressure>();
7777

78-
int model_no = 2; //TODO get from MPAS
79-
8078
auto setMPStress = PS_LAMBDA(const int& elm, const int& mp, const int& mask){
8179
if(mask){
8280
Vec3d strain_rate (MPsStrainRate(mp, 0), MPsStrainRate(mp, 1), MPsStrainRate(mp, 2));
8381
Vec3d stress(MPsStress(mp, 0), MPsStress(mp, 1), MPsStress(mp, 2));
84-
if (model_no == 1)
85-
constitutive_linear(strain_rate, stress);
86-
else if(model_no == 2)
82+
if (constitutive_relation == 1)
8783
constitutive_evp(strain_rate, stress, MPsIcePressure(mp, 0), MPsRepPressure(mp, 0), MPsArea(mp, 0), elasticTimeStep, dampingTimescale);
84+
else if(constitutive_relation == 3)
85+
constitutive_linear(strain_rate, stress);
8886
for (int m=0 ; m<3; m++)
8987
MPsStress(mp, m) = stress[m];
9088
}

src/pmpo_MPMesh.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class MPMesh{
8989

9090
void printVTP_mesh(int printVTPIndex);
9191
void calculateStrain();
92-
void calculateStress();
92+
void calculateStress(const int constitutive_relation);
9393
void calculateStressDivergence();
9494
};
9595

src/pmpo_c.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,10 +614,10 @@ void polympo_calculateMPStrainRate_f(MPMesh_ptr p_mpmesh){
614614
mpMesh->calculateStrain();
615615
}
616616

617-
void polympo_calculateMPStress_f(MPMesh_ptr p_mpmesh){
617+
void polympo_calculateMPStress_f(MPMesh_ptr p_mpmesh, const int constitutive_model){
618618
checkMPMeshValid(p_mpmesh);
619619
auto mpMesh = ((polyMPO::MPMesh*)p_mpmesh);
620-
mpMesh->calculateStress();
620+
mpMesh->calculateStress(constitutive_model);
621621
}
622622

623623
void polympo_setMPStress_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, const double* mpStressIn) {

src/pmpo_c.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ void polympo_getMPMass_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs
4747
void polympo_setMPVel_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, const double* mpVelIn);
4848
void polympo_getMPVel_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, double* mpVelHost);
4949
void polympo_calculateMPStrainRate_f(MPMesh_ptr p_mpmesh);
50-
void polympo_calculateMPStress_f(MPMesh_ptr p_mpmesh);
50+
void polympo_calculateMPStress_f(MPMesh_ptr p_mpmesh, const int constitutive_model);
5151
void polympo_setMPStress_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, const double* mpStressIn);
5252
void polympo_getMPStress_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, double* mpStressHost);
5353
void polympo_setAreaMP_f(MPMesh_ptr p_mpmesh, const int nComps, const int numMPs, double* areaMPHost);

src/pmpo_fortran.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,11 @@ subroutine polympo_calculateMPStrainRate(mpMesh) &
371371
end subroutine
372372

373373
!MP Stress
374-
subroutine polympo_calculateMPStress(mpMesh) &
374+
subroutine polympo_calculateMPStress(mpMesh, constitutive_model) &
375375
bind(C, NAME='polympo_calculateMPStress_f')
376376
use :: iso_c_binding
377377
type(c_ptr), value :: mpMesh
378+
integer(c_int), value :: constitutive_model
378379
end subroutine
379380

380381
subroutine polympo_setMPStress(mpMesh, nComps, numMPs, array) &

src/pmpo_mesh.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ namespace polyMPO{
154154
}
155155

156156
void Mesh::gridSolveGPU(){
157-
std::cout<<__FUNCTION__<<std::endl;
158157
//Mesh Fields
159158
int numVerticesOwned = getNumVerticesOwned();
160159
auto totalMassVtx = getMeshField<MeshF_TotalMassVtx>();

0 commit comments

Comments
 (0)