AnalysisViewModal and StrainTuple was added
This commit is contained in:
@@ -6,15 +6,23 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Forces
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class ForceTuple : IForceTuple
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public double Mx { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double My { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Nz { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Qx { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Qy { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Mz { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public object Clone()
|
||||
{
|
||||
IForceTuple forceTuple = new ForceTuple() { Mx = Mx, My = My, Nz = Nz, Qx = Qx, Qy = Qy, Mz = Mz};
|
||||
|
||||
@@ -6,13 +6,34 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Forces
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for generic force for beams
|
||||
/// </summary>
|
||||
public interface IForceTuple : ICloneable
|
||||
{
|
||||
/// <summary>
|
||||
/// Bending moment round about x-axis
|
||||
/// </summary>
|
||||
double Mx { get; set; }
|
||||
/// <summary>
|
||||
/// Bending moment round about y-axis
|
||||
/// </summary>
|
||||
double My { get; set; }
|
||||
/// <summary>
|
||||
/// Longitudinal force along x-axis
|
||||
/// </summary>
|
||||
double Nz { get; set; }
|
||||
/// <summary>
|
||||
/// Shear force along x-axis
|
||||
/// </summary>
|
||||
double Qx { get; set; }
|
||||
/// <summary>
|
||||
/// Shear force along z-axis
|
||||
/// </summary>
|
||||
double Qy { get; set; }
|
||||
/// <summary>
|
||||
/// Twisting moment round about z-axis
|
||||
/// </summary>
|
||||
double Mz { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
39
StructureHelperCommon/Models/Forces/Strains/IStrainTuple.cs
Normal file
39
StructureHelperCommon/Models/Forces/Strains/IStrainTuple.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Forces
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for generic curvature for beams
|
||||
/// </summary>
|
||||
public interface IStrainTuple : ICloneable
|
||||
{
|
||||
/// <summary>
|
||||
/// Curvature about x-axis
|
||||
/// </summary>
|
||||
double Kx { get; set; }
|
||||
/// <summary>
|
||||
/// Curvature about y-axis
|
||||
/// </summary>
|
||||
double Ky { get; set; }
|
||||
/// <summary>
|
||||
/// Strain along z-axis
|
||||
/// </summary>
|
||||
double EpsZ { get; set; }
|
||||
/// <summary>
|
||||
/// Screw along x-axis
|
||||
/// </summary>
|
||||
double Gx { get; set; }
|
||||
/// <summary>
|
||||
/// Screw along y-axis
|
||||
/// </summary>
|
||||
double Gy { get; set; }
|
||||
/// <summary>
|
||||
/// Twisting about z-axis
|
||||
/// </summary>
|
||||
double Gz { get; set; }
|
||||
}
|
||||
}
|
||||
34
StructureHelperCommon/Models/Forces/Strains/StrainTuple.cs
Normal file
34
StructureHelperCommon/Models/Forces/Strains/StrainTuple.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using StructureHelperCommon.Services.Forces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Forces
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class StrainTuple : IStrainTuple
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public double Kx { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Ky { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double EpsZ { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Gx { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Gy { get; set; }
|
||||
/// <inheritdoc/>
|
||||
public double Gz { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public object Clone()
|
||||
{
|
||||
var target = new StrainTuple();
|
||||
StrainTupleService.CopyProperties(this, target);
|
||||
return target;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Services.Forces
|
||||
{
|
||||
public static class TupleService
|
||||
public static class ForceTupleService
|
||||
{
|
||||
public static IForceTuple MoveTupleIntoPoint(IForceTuple forceTuple, IPoint2D point2D)
|
||||
{
|
||||
35
StructureHelperCommon/Services/Forces/StrainTupleService.cs
Normal file
35
StructureHelperCommon/Services/Forces/StrainTupleService.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using LoaderCalculator.Data.Matrix;
|
||||
using StructureHelperCommon.Models.Forces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Services.Forces
|
||||
{
|
||||
public static class StrainTupleService
|
||||
{
|
||||
public static void CopyProperties (IStrainTuple source, IStrainTuple target, double factor = 1 )
|
||||
{
|
||||
target.Kx = source.Kx * factor;
|
||||
target.Ky = source.Ky * factor;
|
||||
target.EpsZ = source.EpsZ * factor;
|
||||
target.Gx = source.Gx * factor;
|
||||
target.Gy = source.Gy * factor;
|
||||
target.Gz = source.Gz * factor;
|
||||
}
|
||||
|
||||
public static IStrainMatrix ConvertToLoaderStrainMatrix(IStrainTuple strainTuple)
|
||||
{
|
||||
IStrainMatrix strainMatrix = new StrainMatrix() { Kx = strainTuple.EpsZ, Ky = strainTuple.Ky, EpsZ = strainTuple.EpsZ };
|
||||
return strainMatrix;
|
||||
}
|
||||
|
||||
public static IStrainTuple ConvertToStrainTuple(IStrainMatrix strainMatrix)
|
||||
{
|
||||
IStrainTuple strainTuple = new StrainTuple() { Kx = strainMatrix.Kx, Ky = strainMatrix.Ky, EpsZ = strainMatrix.EpsZ };
|
||||
return strainTuple;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,9 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="LoaderCalculator">
|
||||
<HintPath>..\Libraries\LoaderCalculator.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -68,6 +71,8 @@
|
||||
<Compile Include="Models\Forces\IForceCombinationList.cs" />
|
||||
<Compile Include="Models\Forces\IForceRepository.cs" />
|
||||
<Compile Include="Models\Forces\IForceTuple.cs" />
|
||||
<Compile Include="Models\Forces\Strains\IStrainTuple.cs" />
|
||||
<Compile Include="Models\Forces\Strains\StrainTuple.cs" />
|
||||
<Compile Include="Models\Materials\Libraries\ConcreteMaterialEntity.cs" />
|
||||
<Compile Include="Models\Materials\Libraries\Factories\ConcreteFactorsFactory.cs" />
|
||||
<Compile Include="Models\Materials\Libraries\Factories\LibMaterialFactory.cs" />
|
||||
@@ -94,7 +99,8 @@
|
||||
<Compile Include="Models\Shapes\RectangleShape.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Services\ColorServices\ColorProcessor.cs" />
|
||||
<Compile Include="Services\Forces\TupleService.cs" />
|
||||
<Compile Include="Services\Forces\ForceTupleService.cs" />
|
||||
<Compile Include="Services\Forces\StrainTupleService.cs" />
|
||||
<Compile Include="Services\ShapeServices\ShapeService.cs" />
|
||||
<Compile Include="Services\Units\IUnit.cs" />
|
||||
<Compile Include="Services\Units\Unit.cs" />
|
||||
|
||||
Reference in New Issue
Block a user