Force calculator was repaired for buckling calculations
This commit is contained in:
44
StructureHelperLogics/Services/TraceService.cs
Normal file
44
StructureHelperLogics/Services/TraceService.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using LoaderCalculator.Data.Ndms;
|
||||
using StructureHelperCommon.Infrastructures.Exceptions;
|
||||
using StructureHelperCommon.Models;
|
||||
using StructureHelperCommon.Models.Loggers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperLogics.Services
|
||||
{
|
||||
internal static class TraceService
|
||||
{
|
||||
public static void TraceNdmCollection(ITraceLogger traceLogger, IEnumerable<INdm> ndmCollection)
|
||||
{
|
||||
if (traceLogger is null)
|
||||
{
|
||||
throw new StructureHelperException(ErrorStrings.NullReference + ": trace logger");
|
||||
}
|
||||
if (ndmCollection is null)
|
||||
{
|
||||
traceLogger.AddMessage(string.Intern("Collection of elementary parts is null"), TraceLogStatuses.Error);
|
||||
throw new StructureHelperException(ErrorStrings.NullReference + ": collection of elementary parts");
|
||||
}
|
||||
if (!ndmCollection.Any())
|
||||
{
|
||||
traceLogger.AddMessage("Collection of elementary parts is empty", TraceLogStatuses.Warning);
|
||||
}
|
||||
traceLogger.AddMessage(string.Format("Collection of elementary parts contains {0} parts", ndmCollection.Count()));
|
||||
var mes = "area of elementary part collection ";
|
||||
traceLogger.AddMessage(string.Format("{0} {1} A = {2}, {0} reduced {1} Ared = {3}",
|
||||
LoggerStrings.Summary,
|
||||
mes,
|
||||
ndmCollection.Sum(x => x.Area),
|
||||
ndmCollection.Sum(x => x.Area * x.StressScale)),
|
||||
TraceLogStatuses.Service);
|
||||
traceLogger.AddMessage($"Minimum x = {ndmCollection.Min(x => x.CenterX)}", TraceLogStatuses.Debug);
|
||||
traceLogger.AddMessage($"Maximum x = {ndmCollection.Max(x => x.CenterX)}", TraceLogStatuses.Debug);
|
||||
traceLogger.AddMessage($"Minimum y = {ndmCollection.Min(x => x.CenterY)}", TraceLogStatuses.Debug);
|
||||
traceLogger.AddMessage($"Maximum y = {ndmCollection.Max(x => x.CenterY)}", TraceLogStatuses.Debug);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user