Skip to content

Commit 67667a1

Browse files
committed
Merge remote-tracking branch 'origin/master' into hdf5/update/data_value_container_io
2 parents 677c4a1 + 3578429 commit 67667a1

24 files changed

+730
-509
lines changed

applications/GeoMechanicsApplication/custom_constitutive/interface_coulomb_with_tension_cut_off.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ int InterfaceCoulombWithTensionCutOff::Check(const Properties& rMaterialProper
7373
// Since `CheckProperty` doesn't accept a custom range yet, we have inlined a modified version
7474
// of `CheckProperty` to check the friction angle
7575
KRATOS_ERROR_IF_NOT(rMaterialProperties.Has(GEO_FRICTION_ANGLE))
76-
<< GEO_FRICTION_ANGLE.Name() << " is not defined for property " << rMaterialProperties.Id() << std::endl;
77-
KRATOS_ERROR_IF(rMaterialProperties[GEO_FRICTION_ANGLE] <= 0.0 ||
78-
rMaterialProperties[GEO_FRICTION_ANGLE] >= 90.0)
79-
<< "value of " << GEO_FRICTION_ANGLE.Name() << " for property " << rMaterialProperties.Id()
80-
<< " is out of range: " << rMaterialProperties[GEO_FRICTION_ANGLE] << " is not in (0.0, 90.0)"
76+
<< GEO_FRICTION_ANGLE.Name() << " is not defined for property " << rMaterialProperties.Id()
8177
<< std::endl;
78+
KRATOS_ERROR_IF(rMaterialProperties[GEO_FRICTION_ANGLE] <= 0.0 || rMaterialProperties[GEO_FRICTION_ANGLE] >= 90.0)
79+
<< "value of " << GEO_FRICTION_ANGLE.Name() << " for property " << rMaterialProperties.Id()
80+
<< " is out of range: " << rMaterialProperties[GEO_FRICTION_ANGLE]
81+
<< " is not in (0.0, 90.0)" << std::endl;
8282
ConstitutiveLawUtilities::CheckProperty(rMaterialProperties, GEO_DILATANCY_ANGLE,
8383
rMaterialProperties[GEO_FRICTION_ANGLE]);
8484
ConstitutiveLawUtilities::CheckProperty(

applications/GeoMechanicsApplication/custom_constitutive/small_strain_udsm_2D_interface_law.cpp

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ ConstitutiveLaw::Pointer SmallStrainUDSM2DInterfaceLaw::Clone() const
2626

2727
void SmallStrainUDSM2DInterfaceLaw::UpdateInternalDeltaStrainVector(ConstitutiveLaw::Parameters& rValues)
2828
{
29-
const Vector& rStrainVector = rValues.GetStrainVector();
29+
const auto& r_strain_vector = rValues.GetStrainVector();
3030

31-
mDeltaStrainVector[INDEX_3D_ZZ] = rStrainVector(INDEX_2D_INTERFACE_ZZ) - mStrainVectorFinalized[INDEX_3D_ZZ];
32-
mDeltaStrainVector[INDEX_3D_XZ] = rStrainVector(INDEX_2D_INTERFACE_XZ) - mStrainVectorFinalized[INDEX_3D_XZ];
31+
mDeltaStrainVector[INDEX_3D_ZZ] =
32+
r_strain_vector[INDEX_2D_INTERFACE_ZZ] - mStrainVectorFinalized[INDEX_3D_ZZ];
33+
mDeltaStrainVector[INDEX_3D_XZ] =
34+
r_strain_vector[INDEX_2D_INTERFACE_XZ] - mStrainVectorFinalized[INDEX_3D_XZ];
3335
}
3436

3537
void SmallStrainUDSM2DInterfaceLaw::SetExternalStressVector(Vector& rStressVector)
@@ -40,12 +42,12 @@ void SmallStrainUDSM2DInterfaceLaw::SetExternalStressVector(Vector& rStressVecto
4042

4143
void SmallStrainUDSM2DInterfaceLaw::SetInternalStressVector(const Vector& rStressVector)
4244
{
43-
KRATOS_TRY
44-
std::fill(mStressVectorFinalized.begin(), mStressVectorFinalized.end(), 0.0);
45+
auto& r_sig0 = GetSig0();
4546

46-
mStressVectorFinalized[INDEX_3D_ZZ] = rStressVector(INDEX_2D_INTERFACE_ZZ);
47-
mStressVectorFinalized[INDEX_3D_XZ] = rStressVector(INDEX_2D_INTERFACE_XZ);
48-
KRATOS_CATCH("")
47+
std::fill_n(r_sig0.begin(), StressVectorSize, 0.0);
48+
49+
r_sig0[INDEX_3D_ZZ] = rStressVector[INDEX_2D_INTERFACE_ZZ];
50+
r_sig0[INDEX_3D_XZ] = rStressVector[INDEX_2D_INTERFACE_XZ];
4951
}
5052

5153
void SmallStrainUDSM2DInterfaceLaw::SetInternalStrainVector(const Vector& rStrainVector)
@@ -95,10 +97,11 @@ Vector& SmallStrainUDSM2DInterfaceLaw::GetValue(const Variable<Vector>& rThisVar
9597
if (rThisVariable == STATE_VARIABLES) {
9698
SmallStrainUDSM3DLaw::GetValue(rThisVariable, rValue);
9799
} else if (rThisVariable == CAUCHY_STRESS_VECTOR) {
98-
if (rValue.size() != VoigtSize) rValue.resize(VoigtSize);
100+
rValue.resize(VoigtSize);
99101

100-
rValue[INDEX_2D_INTERFACE_ZZ] = mStressVectorFinalized[INDEX_3D_ZZ];
101-
rValue[INDEX_2D_INTERFACE_XZ] = mStressVectorFinalized[INDEX_3D_XZ];
102+
auto& r_sig0 = GetSig0();
103+
rValue[INDEX_2D_INTERFACE_ZZ] = r_sig0[INDEX_3D_ZZ];
104+
rValue[INDEX_2D_INTERFACE_XZ] = r_sig0[INDEX_3D_XZ];
102105
}
103106
return rValue;
104107
}

applications/GeoMechanicsApplication/custom_constitutive/small_strain_udsm_2D_plane_strain_law.cpp

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,6 @@ ConstitutiveLaw::Pointer SmallStrainUDSM2DPlaneStrainLaw::Clone() const
2525
KRATOS_CATCH("")
2626
}
2727

28-
void SmallStrainUDSM2DPlaneStrainLaw::UpdateInternalDeltaStrainVector(ConstitutiveLaw::Parameters& rValues)
29-
{
30-
const Vector& rStrainVector = rValues.GetStrainVector();
31-
32-
for (unsigned int i = 0; i < VoigtSize; ++i) {
33-
mDeltaStrainVector[i] = rStrainVector(i) - mStrainVectorFinalized[i];
34-
}
35-
}
36-
3728
void SmallStrainUDSM2DPlaneStrainLaw::SetExternalStressVector(Vector& rStressVector)
3829
{
3930
KRATOS_TRY
@@ -43,15 +34,6 @@ void SmallStrainUDSM2DPlaneStrainLaw::SetExternalStressVector(Vector& rStressVec
4334
KRATOS_CATCH("")
4435
}
4536

46-
void SmallStrainUDSM2DPlaneStrainLaw::SetInternalStressVector(const Vector& rStressVector)
47-
{
48-
KRATOS_TRY
49-
for (unsigned int i = 0; i < VoigtSize; ++i) {
50-
mStressVectorFinalized[i] = rStressVector(i);
51-
}
52-
KRATOS_CATCH("")
53-
}
54-
5537
void SmallStrainUDSM2DPlaneStrainLaw::SetInternalStrainVector(const Vector& rStrainVector)
5638
{
5739
KRATOS_TRY
@@ -89,10 +71,8 @@ Vector& SmallStrainUDSM2DPlaneStrainLaw::GetValue(const Variable<Vector>& rThisV
8971
if (rThisVariable == STATE_VARIABLES) {
9072
SmallStrainUDSM3DLaw::GetValue(rThisVariable, rValue);
9173
} else if (rThisVariable == CAUCHY_STRESS_VECTOR) {
92-
if (rValue.size() != VoigtSize) rValue.resize(VoigtSize);
93-
for (unsigned int i = 0; i < VoigtSize; ++i) {
94-
rValue[i] = mStressVectorFinalized[i];
95-
}
74+
rValue.resize(VoigtSize);
75+
std::copy_n(GetSig0().begin(), VoigtSize, rValue.begin());
9676
}
9777
return rValue;
9878
}

applications/GeoMechanicsApplication/custom_constitutive/small_strain_udsm_2D_plane_strain_law.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,7 @@ class KRATOS_API(GEO_MECHANICS_APPLICATION) SmallStrainUDSM2DPlaneStrainLaw : pu
145145
///@}
146146
///@name Protected Access
147147
///@{
148-
void UpdateInternalDeltaStrainVector(ConstitutiveLaw::Parameters& rValues) override;
149148
void SetExternalStressVector(Vector& rStressVector) override;
150-
void SetInternalStressVector(const Vector& rStressVector) override;
151149
void SetInternalStrainVector(const Vector& rStrainVector) override;
152150
void CopyConstitutiveMatrix(ConstitutiveLaw::Parameters& rValues, Matrix& rConstitutiveMatrix) override;
153151

applications/GeoMechanicsApplication/custom_constitutive/small_strain_udsm_3D_interface_law.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,14 @@ ConstitutiveLaw::Pointer SmallStrainUDSM3DInterfaceLaw::Clone() const
3030

3131
void SmallStrainUDSM3DInterfaceLaw::UpdateInternalDeltaStrainVector(ConstitutiveLaw::Parameters& rValues)
3232
{
33-
const Vector& rStrainVector = rValues.GetStrainVector();
34-
35-
mDeltaStrainVector[INDEX_3D_ZZ] = rStrainVector(INDEX_3D_INTERFACE_ZZ) - mStrainVectorFinalized[INDEX_3D_ZZ];
36-
mDeltaStrainVector[INDEX_3D_YZ] = rStrainVector(INDEX_3D_INTERFACE_YZ) - mStrainVectorFinalized[INDEX_3D_YZ];
37-
mDeltaStrainVector[INDEX_3D_XZ] = rStrainVector(INDEX_3D_INTERFACE_XZ) - mStrainVectorFinalized[INDEX_3D_XZ];
33+
const auto& r_strain_vector = rValues.GetStrainVector();
34+
35+
mDeltaStrainVector[INDEX_3D_ZZ] =
36+
r_strain_vector[INDEX_3D_INTERFACE_ZZ] - mStrainVectorFinalized[INDEX_3D_ZZ];
37+
mDeltaStrainVector[INDEX_3D_YZ] =
38+
r_strain_vector[INDEX_3D_INTERFACE_YZ] - mStrainVectorFinalized[INDEX_3D_YZ];
39+
mDeltaStrainVector[INDEX_3D_XZ] =
40+
r_strain_vector[INDEX_3D_INTERFACE_XZ] - mStrainVectorFinalized[INDEX_3D_XZ];
3841
}
3942

4043
void SmallStrainUDSM3DInterfaceLaw::SetExternalStressVector(Vector& rStressVector)
@@ -46,14 +49,13 @@ void SmallStrainUDSM3DInterfaceLaw::SetExternalStressVector(Vector& rStressVecto
4649

4750
void SmallStrainUDSM3DInterfaceLaw::SetInternalStressVector(const Vector& rStressVector)
4851
{
49-
KRATOS_TRY
50-
std::fill(mStressVectorFinalized.begin(), mStressVectorFinalized.end(), 0.0);
52+
auto& r_sig0 = GetSig0();
5153

52-
mStressVectorFinalized[INDEX_3D_ZZ] = rStressVector(INDEX_3D_INTERFACE_ZZ);
53-
mStressVectorFinalized[INDEX_3D_YZ] = rStressVector(INDEX_3D_INTERFACE_YZ);
54-
mStressVectorFinalized[INDEX_3D_XZ] = rStressVector(INDEX_3D_INTERFACE_XZ);
54+
std::fill_n(r_sig0.begin(), StressVectorSize, 0.0);
5555

56-
KRATOS_CATCH("")
56+
r_sig0[INDEX_3D_ZZ] = rStressVector[INDEX_3D_INTERFACE_ZZ];
57+
r_sig0[INDEX_3D_YZ] = rStressVector[INDEX_3D_INTERFACE_YZ];
58+
r_sig0[INDEX_3D_XZ] = rStressVector[INDEX_3D_INTERFACE_XZ];
5759
}
5860

5961
void SmallStrainUDSM3DInterfaceLaw::SetInternalStrainVector(const Vector& rStrainVector)
@@ -106,11 +108,12 @@ Vector& SmallStrainUDSM3DInterfaceLaw::GetValue(const Variable<Vector>& rVariabl
106108
if (rVariable == STATE_VARIABLES) {
107109
SmallStrainUDSM3DLaw::GetValue(rVariable, rValue);
108110
} else if (rVariable == CAUCHY_STRESS_VECTOR) {
109-
if (rValue.size() != VoigtSize) rValue.resize(VoigtSize);
111+
rValue.resize(VoigtSize);
110112

111-
rValue[INDEX_3D_INTERFACE_ZZ] = mStressVectorFinalized[INDEX_3D_ZZ];
112-
rValue[INDEX_3D_INTERFACE_YZ] = mStressVectorFinalized[INDEX_3D_YZ];
113-
rValue[INDEX_3D_INTERFACE_XZ] = mStressVectorFinalized[INDEX_3D_XZ];
113+
auto& r_sig0 = GetSig0();
114+
rValue[INDEX_3D_INTERFACE_ZZ] = r_sig0[INDEX_3D_ZZ];
115+
rValue[INDEX_3D_INTERFACE_YZ] = r_sig0[INDEX_3D_YZ];
116+
rValue[INDEX_3D_INTERFACE_XZ] = r_sig0[INDEX_3D_XZ];
114117
}
115118
return rValue;
116119
}

0 commit comments

Comments
 (0)