From 90843ea409e6a6e8f181f0725bed0c3ce690d4e5 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Sat, 10 Jun 2023 22:26:15 +0500 Subject: [PATCH] Carbon Fiber Material was Added --- .../Infrastructure/Enums/MaterialType.cs | 4 +- .../UI/DataContexts/PrimitiveBase.cs | 18 +-- .../UI/Resources/Materials.xaml | 17 +++ .../CalculatorsViews/SetPrestrainView.xaml.cs | 2 +- .../Windows/MainWindow/MainView.xaml | 2 + .../Materials/HeadMaterialView.xaml.cs | 12 +- .../Calculators/ForcesResultsViewModel.cs | 2 +- .../Calculators/SetPrestrainViewModel.cs | 8 +- .../ViewModels/Materials/ElasticViewModel.cs | 3 + .../ViewModels/Materials/FRViewModel.cs | 18 +++ .../Materials/HeadMaterialViewModel.cs | 12 +- .../Materials/ISafetyFactorViewModel.cs | 15 --- .../Materials/MaterialsViewModel.cs | 14 ++ .../Materials/SafetyFactorsViewModel.cs | 21 +++ .../Infrastructures/Enums/CodeTypes.cs | 5 +- .../Infrastructures/Enums/MaterialTypes.cs | 3 +- .../Settings/ProgramSetting.cs | 3 +- .../Models/Forces/DesignForcePair.cs | 36 +++++ .../Models/Forces/DesignForceTuple.cs | 4 +- .../Models/Forces/ForceCombinationByFactor.cs | 2 +- .../Models/Forces/ForceCombinationList.cs | 2 +- .../Models/Forces/ForceTuple.cs | 14 +- .../Models/Forces/IDesignForcePair.cs | 16 +++ .../Models/Forces/IDesignForceTuple.cs | 3 +- .../Models/Forces/StrainTuple.cs | 33 +++++ .../Models/Forces/Strains/IStrainTuple.cs | 35 ----- .../Models/Forces/Strains/StrainTuple.cs | 29 ---- .../Models/Materials/Libraries/FactorLogic.cs | 29 ++++ .../Factories/ConcreteFactorsFactory.cs | 10 +- .../Libraries/Factories/FRFactorsFactory.cs | 127 ++++++++++++++++++ .../Libraries/Factories/LibMaterialFactory.cs | 4 +- .../Materials/Libraries/IFactorLogic.cs | 15 +++ .../Models/Shapes/IPoint2D.cs | 6 +- .../Models/Shapes/Point2D.cs | 6 + .../Services/Forces/ForceActionService.cs | 83 +++++++++++- .../Services/Forces/ForceTupleService.cs | 97 +++++++++---- .../Services/Forces/StrainTupleService.cs | 18 +-- .../Models/Materials/ConcreteLibMaterial.cs | 17 +-- .../Models/Materials/ElasticMaterial.cs | 24 ++-- .../Materials/FRMaterials/FRMaterial.cs | 47 +++++++ .../Materials/FRMaterials/IFRMaterial.cs | 14 ++ .../Factories/HeadMaterialFactory.cs | 20 ++- .../Factories/PartialCoefficientFactory.cs | 54 +++++++- .../Models/Materials/IElasticMaterial.cs | 4 +- .../Models/Materials/LibMaterial.cs | 2 +- .../Materials/Logics/ElasticMaterialLogic.cs | 42 ++++++ .../Materials/Logics/IElasticMaterialLogic.cs | 15 +++ .../Models/Materials/MaterialOptionLogic.cs | 2 +- .../Materials/ReinforcementLibMaterial.cs | 22 +-- .../Analyses/ByForces/ForceCalculator.cs | 6 +- .../Primitives/CirclePrimitive.cs | 4 +- .../Primitives/INdmPrimitive.cs | 4 +- .../Primitives/LinePrimitive.cs | 4 +- .../Primitives/PointPrimitive.cs | 4 +- .../Primitives/RectanglePrimitive.cs | 4 +- .../Primitives/ReinforcementPrimitive.cs | 4 +- .../CircleTriangulationLogicOptions.cs | 8 +- .../ITriangulationLogicOptions.cs | 2 +- .../Triangulations/PointTriangulationLogic.cs | 2 +- .../PointTriangulationLogicOptions.cs | 8 +- .../RectangleTriangulationLogicOptions.cs | 8 +- .../Triangulations/TriangulationService.cs | 4 +- .../NdmPrimitives/NdmPrimitivesService.cs | 2 +- .../ForceCalculatorTests/RCSectionsTest.cs | 2 +- .../MaterialTests/MaterialStrengthTest.cs | 20 +-- .../RectangleTriangulationTest.cs | 6 +- .../ViewModelTests/NdmPrimitiveTests.cs | 8 +- 67 files changed, 815 insertions(+), 276 deletions(-) create mode 100644 StructureHelper/Windows/ViewModels/Materials/FRViewModel.cs delete mode 100644 StructureHelper/Windows/ViewModels/Materials/ISafetyFactorViewModel.cs create mode 100644 StructureHelperCommon/Models/Forces/DesignForcePair.cs create mode 100644 StructureHelperCommon/Models/Forces/IDesignForcePair.cs create mode 100644 StructureHelperCommon/Models/Forces/StrainTuple.cs delete mode 100644 StructureHelperCommon/Models/Forces/Strains/IStrainTuple.cs delete mode 100644 StructureHelperCommon/Models/Forces/Strains/StrainTuple.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/FactorLogic.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/Factories/FRFactorsFactory.cs create mode 100644 StructureHelperCommon/Models/Materials/Libraries/IFactorLogic.cs create mode 100644 StructureHelperLogics/Models/Materials/FRMaterials/FRMaterial.cs create mode 100644 StructureHelperLogics/Models/Materials/FRMaterials/IFRMaterial.cs create mode 100644 StructureHelperLogics/Models/Materials/Logics/ElasticMaterialLogic.cs create mode 100644 StructureHelperLogics/Models/Materials/Logics/IElasticMaterialLogic.cs diff --git a/StructureHelper/Infrastructure/Enums/MaterialType.cs b/StructureHelper/Infrastructure/Enums/MaterialType.cs index df36580..19b6550 100644 --- a/StructureHelper/Infrastructure/Enums/MaterialType.cs +++ b/StructureHelper/Infrastructure/Enums/MaterialType.cs @@ -10,6 +10,8 @@ namespace StructureHelper.Infrastructure.Enums { Concrete, Reinforcement, - Elastic + Elastic, + CarbonFiber, + GlassFiber } } diff --git a/StructureHelper/Infrastructure/UI/DataContexts/PrimitiveBase.cs b/StructureHelper/Infrastructure/UI/DataContexts/PrimitiveBase.cs index 9017cc8..e83a190 100644 --- a/StructureHelper/Infrastructure/UI/DataContexts/PrimitiveBase.cs +++ b/StructureHelper/Infrastructure/UI/DataContexts/PrimitiveBase.cs @@ -81,33 +81,33 @@ namespace StructureHelper.Infrastructure.UI.DataContexts } public double InvertedCenterY => - CenterY; public double PrestrainKx - { get => primitive.UsersPrestrain.Kx; + { get => primitive.UsersPrestrain.Mx; set { - primitive.UsersPrestrain.Kx = value; + primitive.UsersPrestrain.Mx = value; OnPropertyChanged(nameof(PrestrainKx)); } } public double PrestrainKy - { get => primitive.UsersPrestrain.Ky; + { get => primitive.UsersPrestrain.My; set { - primitive.UsersPrestrain.Ky = value; + primitive.UsersPrestrain.My = value; OnPropertyChanged(nameof(PrestrainKy)); } } public double PrestrainEpsZ - { get => primitive.UsersPrestrain.EpsZ; + { get => primitive.UsersPrestrain.Nz; set { - primitive.UsersPrestrain.EpsZ = value; + primitive.UsersPrestrain.Nz = value; OnPropertyChanged(nameof(PrestrainEpsZ)); } } - public double AutoPrestrainKx => primitive.AutoPrestrain.Kx; - public double AutoPrestrainKy => primitive.AutoPrestrain.Ky; - public double AutoPrestrainEpsZ => primitive.AutoPrestrain.EpsZ; + public double AutoPrestrainKx => primitive.AutoPrestrain.Mx; + public double AutoPrestrainKy => primitive.AutoPrestrain.My; + public double AutoPrestrainEpsZ => primitive.AutoPrestrain.Nz; public IHeadMaterial HeadMaterial { diff --git a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml index 4789ac4..f0cde06 100644 --- a/StructureHelper/Infrastructure/UI/Resources/Materials.xaml +++ b/StructureHelper/Infrastructure/UI/Resources/Materials.xaml @@ -13,6 +13,7 @@ + @@ -23,6 +24,20 @@ + + + + + + + + +