View of tuple crack result was changed
This commit is contained in:
@@ -30,14 +30,17 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
public IResult Result => result;
|
||||
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
public CrackCalculator(CrackInputData inputData)
|
||||
public CrackCalculator(CrackInputData inputData, ICheckInputDataLogic checkInputDataLogic)
|
||||
{
|
||||
InputData = inputData;
|
||||
this.checkInputDataLogic = checkInputDataLogic;
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
var newItem = new CrackCalculator(new CrackInputData());
|
||||
CrackInputData crackInputData = new CrackInputData();
|
||||
var checkDataLogic = new CheckCrackCalculatorInputDataLogic(InputData);
|
||||
var newItem = new CrackCalculator(crackInputData, checkDataLogic);
|
||||
updateStrategy.Update(newItem, this);
|
||||
return newItem;
|
||||
}
|
||||
@@ -62,10 +65,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
|
||||
private void CheckInputData()
|
||||
{
|
||||
checkInputDataLogic = new CheckCrackCalculatorInputDataLogic(InputData)
|
||||
{
|
||||
TraceLogger = TraceLogger?.GetSimilarTraceLogger(50)
|
||||
};
|
||||
checkInputDataLogic.TraceLogger = TraceLogger?.GetSimilarTraceLogger(50);
|
||||
if (checkInputDataLogic.Check() == false)
|
||||
{
|
||||
result.IsValid = false;
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
TraceLogger?.AddMessage(LoggerStrings.CalculatorType(this), TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Method of crack width calculation based on SP 63.13330.2018");
|
||||
CheckOptions();
|
||||
TraceLogger?.AddMessage($"Term factor fi1= {inputData.TermFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Bond factor fi2= {inputData.BondFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Stress state factor fi3= {inputData.StressStateFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"PsiS factor PsiS= {inputData.PsiSFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Term factor fi1 = {inputData.TermFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Bond factor fi2 = {inputData.BondFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Stress state factor fi3 = {inputData.StressStateFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"PsiS factor PsiS = {inputData.PsiSFactor}", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Length between cracks Ls = {inputData.Length}", TraceLogStatuses.Service);
|
||||
//check if strain of concrete greater than strain of rebar
|
||||
double rebarElongation = inputData.RebarStrain - inputData.ConcreteStrain;
|
||||
@@ -49,26 +49,26 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
inputData = InputData as CrackWidthLogicInputDataSP63;
|
||||
if (inputData.Length <=0d)
|
||||
{
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": length between cracks Ls={inputData.Length} must be greate than zero";
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": length between cracks Lcrc={inputData.Length} must be greater than zero";
|
||||
}
|
||||
if (inputData.TermFactor <= 0d)
|
||||
{
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Term factor fi1 {inputData.TermFactor} must be greate than zero";
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Term factor fi1 {inputData.TermFactor} must be greater than zero";
|
||||
|
||||
}
|
||||
if (inputData.BondFactor <= 0d)
|
||||
{
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Bond factor fi2 {inputData.BondFactor} must be greate than zero";
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Bond factor fi2 {inputData.BondFactor} must be greater than zero";
|
||||
|
||||
}
|
||||
if (inputData.StressStateFactor <= 0d)
|
||||
{
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Stress factor fi3 factor {inputData.StressStateFactor} must be greate than zero";
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": Stress factor fi3 factor {inputData.StressStateFactor} must be greater than zero";
|
||||
|
||||
}
|
||||
if (inputData.PsiSFactor <= 0d)
|
||||
{
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": PsiS factor {inputData.PsiSFactor} must be greate than zero";
|
||||
errorString = ErrorStrings.DataIsInCorrect + $": PsiS factor {inputData.PsiSFactor} must be greater than zero";
|
||||
}
|
||||
if (errorString != string.Empty)
|
||||
{
|
||||
|
||||
@@ -47,7 +47,8 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
{
|
||||
CrackWidth = acrc1,
|
||||
UltimateCrackWidth = InputData.UserCrackInputData.UltimateLongCrackWidth,
|
||||
RebarStressResult = rebarStressResult
|
||||
RebarStressResult = rebarStressResult,
|
||||
SofteningFactor = crackSofteningLogic.GetSofteningFactor()
|
||||
};
|
||||
TraceLogger?.AddMessage($"Long crack width acrc = acrc,1 = {acrc1}(m)");
|
||||
TraceLogger?.AddMessage($"Ultimate long crack width acrc,ult = {longRebarResult.UltimateCrackWidth}(m)");
|
||||
@@ -69,7 +70,8 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
{
|
||||
CrackWidth = acrcShort,
|
||||
UltimateCrackWidth = InputData.UserCrackInputData.UltimateShortCrackWidth,
|
||||
RebarStressResult = rebarStressResult
|
||||
RebarStressResult = rebarStressResult,
|
||||
SofteningFactor = crackSofteningLogic.GetSofteningFactor()
|
||||
};
|
||||
TraceCrackResult(shortRebarResult);
|
||||
result.LongTermResult = longRebarResult;
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace StructureHelperLogics.NdmCalculations.Cracking
|
||||
.Sum(x => x.Area * x.StressScale);
|
||||
TraceLogger?.AddMessage($"Concrete area Ac = {concreteArea}");
|
||||
var concreteTensileArea = concreteCollection
|
||||
.Where(x => stressLogic.GetTotalStrainWithPrestrain(StrainMatrix, x) > 0d)
|
||||
.Where(x => stressLogic.GetTotalStrain(StrainMatrix, x) > 0d)
|
||||
.Sum(x => x.Area * x.StressScale);
|
||||
TraceLogger?.AddMessage($"Concrete tensile area Ac,t = {concreteTensileArea}");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user