From 06582d1aa8d320c2a98e80e1ba79fbe47d23bd3a Mon Sep 17 00:00:00 2001 From: cbsilver <christian.silbermann@ifgt.tu-freiberg.de> Date: Fri, 16 Jun 2023 16:11:51 +0200 Subject: [PATCH] Parameter pcMin eliminated, now derived from pc_char --- .../ModCamClay_semiExplParaInitNLnu_inc.mfront | 18 ++++++++++-------- .../ModifiedCamClay/triaxtest_original.prj | 1 + 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/MaterialLib/SolidModels/MFront/ModCamClay_semiExplParaInitNLnu_inc.mfront b/MaterialLib/SolidModels/MFront/ModCamClay_semiExplParaInitNLnu_inc.mfront index 806de41c483..5a4dfd93a87 100644 --- a/MaterialLib/SolidModels/MFront/ModCamClay_semiExplParaInitNLnu_inc.mfront +++ b/MaterialLib/SolidModels/MFront/ModCamClay_semiExplParaInitNLnu_inc.mfront @@ -32,10 +32,6 @@ @ModellingHypotheses{".+"}; // supporting all stress and strain states @Algorithm NewtonRaphson; //_NumericalJacobian;_LevenbergMarquardt -@Parameter stress pcMin = 1e-3; //1e+3 Pa -@PhysicalBounds pcMin in [0:*[; -pcMin.setEntryName("MinimalPreConsolidationPressure"); - // material parameters @MaterialProperty real nu; @PhysicalBounds nu in [-1:0.5]; @@ -53,6 +49,10 @@ ka.setEntryName("SwellingLineSlope"); @PhysicalBounds la in [0:*[; la.setEntryName("VirginConsolidationLineSlope"); +@MaterialProperty stress pc_char; +pc_char.setEntryName("CharacteristicPreConsolidationPressure"); +@PhysicalBounds pc_char in [0:*[; + // initial values @MaterialProperty real phi0; @PhysicalBounds phi0 in [0:1]; @@ -92,7 +92,8 @@ v.setEntryName("VolumeRatio"); // Total volume per solid volume = 1 + pore numb @LocalVariable real M2; @LocalVariable real v0; @LocalVariable real young; -@LocalVariable real rpcMin; +@LocalVariable real pc_min; +@LocalVariable real rpc_min; @InitLocalVariables { @@ -119,7 +120,8 @@ v.setEntryName("VolumeRatio"); // Total volume per solid volume = 1 + pore numb young = E; rpc = pc / young; - rpcMin = pcMin / young; + pc_min = 0.5e-8 * pc_char; + rpc_min = pc_min / young; // stress derivative dsig_deel = De; @@ -179,13 +181,13 @@ v.setEntryName("VolumeRatio"); // Total volume per solid volume = 1 + pore numb // residual feel = deel + depl - deto; flp = f / fchar; - frpc = drpc + deplV * the * (rpcNew - rpcMin); + frpc = drpc + deplV * the * (rpcNew - rpc_min); // auxiliary derivatives const auto dnorm_dsig = (9 * s - 2 * M2 / 9 * df_dp * id2) / norm; const auto dn_ddeel = (3 * Pr4 + 2 * M2 / 9 * (id2 ^ id2) - (n ^ dnorm_dsig)) / norm * dsig_deel * theta; const auto dn_ddrpc = (id2 + df_dp * n / norm) * M2 / (3 * norm) * theta * young; - const auto dfrpc_ddeplV = the * (rpcNew - rpcMin); + const auto dfrpc_ddeplV = the * (rpcNew - rpc_min); // jacobian (all other parts are zero) dfeel_ddeel += dlp * dn_ddeel; diff --git a/Tests/Data/Mechanics/ModifiedCamClay/triaxtest_original.prj b/Tests/Data/Mechanics/ModifiedCamClay/triaxtest_original.prj index 6c5168823a9..e203f512f07 100644 --- a/Tests/Data/Mechanics/ModifiedCamClay/triaxtest_original.prj +++ b/Tests/Data/Mechanics/ModifiedCamClay/triaxtest_original.prj @@ -22,6 +22,7 @@ <material_property name="SwellingLineSlope" parameter="SwellingLineSlope"/> <material_property name="VirginConsolidationLineSlope" parameter="VirginConsolidationLineSlope"/> <material_property name="InitialPreConsolidationPressure" parameter="InitialPreConsolidationPressure"/> + <material_property name="CharacteristicPreConsolidationPressure" parameter="InitialPreConsolidationPressure"/> <material_property name="InitialPorosity" parameter="InitialPorosity"/> </material_properties> </constitutive_relation> -- GitLab