Buckling calculator was changed, accidental eccentricity logic was added
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using StructureHelperCommon.Models;
|
||||
using StructureHelperCommon.Models.Loggers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -8,8 +10,13 @@ namespace StructureHelperLogics.NdmCalculations.Buckling
|
||||
{
|
||||
internal class RCStiffnessLogicSP63 : IRCStiffnessLogic
|
||||
{
|
||||
const double initialKs = 0.7d;
|
||||
const double initialKc = 0.15d;
|
||||
const double deltaEAddition = 0.3d;
|
||||
|
||||
IConcretePhiLLogic phiLLogic { get; }
|
||||
IConcreteDeltaELogic deltaELogic { get; }
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
|
||||
public RCStiffnessLogicSP63() : this(new ConstPhiLLogic(), new ConstDeltaELogic()) { }
|
||||
|
||||
@@ -21,12 +28,17 @@ namespace StructureHelperLogics.NdmCalculations.Buckling
|
||||
|
||||
public (double Kc, double Ks) GetStiffnessCoeffitients()
|
||||
{
|
||||
const double initialKs = 0.7d;
|
||||
const double initialKc = 0.15d;
|
||||
const double deltaEAddition = 0.3d;
|
||||
if (TraceLogger is not null)
|
||||
{
|
||||
phiLLogic.TraceLogger = TraceLogger.GetSimilarTraceLogger(50);
|
||||
deltaELogic.TraceLogger = TraceLogger.GetSimilarTraceLogger(50);
|
||||
}
|
||||
double phiL = phiLLogic.GetPhil();
|
||||
double deltaE = deltaELogic.GetDeltaE();
|
||||
TraceLogger?.AddMessage(string.Format("Factor of relative eccentricity DeltaE = {0}", deltaE));
|
||||
double kc = initialKc / (phiL * (deltaEAddition + deltaE));
|
||||
var messageString = string.Format("Factor of stiffness of concrete Kc = {0} / ({1} * ({2} + {3})) = {4}, {5}", initialKc, phiL, deltaEAddition, deltaE, kc, LoggerStrings.DimensionLess);
|
||||
TraceLogger?.AddMessage(messageString);
|
||||
return (kc, initialKs);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user