From 6451d929a818750c2b12a7ff62d41e5def50f731 Mon Sep 17 00:00:00 2001 From: Theodore Chang Date: Tue, 17 Oct 2023 05:05:48 +0200 Subject: [PATCH] Narrow interval --- Material/Material3D/Concrete/CDPM2.cpp | 8 +++++--- Material/Material3D/Concrete/CDPM2.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Material/Material3D/Concrete/CDPM2.cpp b/Material/Material3D/Concrete/CDPM2.cpp index d21959ffe..605452bca 100644 --- a/Material/Material3D/Concrete/CDPM2.cpp +++ b/Material/Material3D/Concrete/CDPM2.cpp @@ -395,16 +395,18 @@ int CDPM2::update_trial_status(const vec& t_strain) { gamma = 0.; approx_update(); - gamma = f / (pfps * double_shear * gs + pfpp * bulk * gp + pfpkp * gg / xh); + gamma = f / elastic_modulus; + auto low = 0.; while(true) { approx_update(); if(f < 0.) break; + low = gamma; gamma *= 2.; } - auto low = 0., high = gamma; + auto high = gamma; while(true) { - if(fabs(high - low) < std::numeric_limits::epsilon()) break; + if(fabs(high - low) < tolerance) break; gamma = .5 * (low + high); approx_update(); (f < 0. ? high : low) = gamma; diff --git a/Material/Material3D/Concrete/CDPM2.h b/Material/Material3D/Concrete/CDPM2.h index fd29d026e..b1da3f0a7 100644 --- a/Material/Material3D/Concrete/CDPM2.h +++ b/Material/Material3D/Concrete/CDPM2.h @@ -37,7 +37,7 @@ struct DataCDPM2 { const double elastic_modulus = 3E4; const double poissons_ratio = .3; const double ft = 3.; - const double fc = 10.; + const double fc = 30.; const double qh0 = .3; const double hp = .05; const double df = .85;