Skip to content

Commit

Permalink
Merge branch '23.01.0_Dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco-Pellegrino committed Mar 28, 2024
2 parents ac27d34 + e4e2579 commit 5778745
Show file tree
Hide file tree
Showing 105 changed files with 2,874 additions and 620 deletions.
2 changes: 1 addition & 1 deletion FemDesign.Core/Bars/BarPart.cs
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ public Eccentricity[] AnalyticalEccentricity
public List<BarStiffnessFactors> StiffnessModifiers { get; set; }

[XmlElement("colouring", Order = 8)]
public StruSoft.Interop.StruXml.Data.Entity_color Colouring { get; set; }
public EntityColor Colouring { get; set; }

[XmlElement("end", Order = 9)]
public string End = "";
Expand Down
1 change: 1 addition & 0 deletions FemDesign.Core/Bars/BarStiffnessFactors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

namespace FemDesign.Bars
{
[System.Serializable]
public partial class BarStiffnessFactors
{
[XmlElement("factors", Order = 1)]
Expand Down
138 changes: 106 additions & 32 deletions FemDesign.Core/Calculate/Comb.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,33 +13,98 @@ namespace FemDesign.Calculate
/// </summary>
public partial class Comb
{
/// <summary>
/// Maximum iteration number
/// </summary>
[XmlAttribute("NLEmaxiter")]
public int NLEmaxiter { get; set; } // int
public int NLEmaxiter { get; set; } = 30;

/// <summary>
/// Deafult load step in % of the total load
/// </summary>
[XmlAttribute("PLdefloadstep")]
public int PLdefloadstep { get; set; } // int
public int PLdefloadstep { get; set; } = 20;

/// <summary>
/// Minimum load step [%]
/// </summary>
[XmlAttribute("PLminloadstep")]
public int PLminloadstep { get; set; } // int
public int PLminloadstep { get; set; } = 2;

/// <summary>
/// Keep reduced load step after it has been reduced by the solver
/// </summary>
[XmlAttribute("PlKeepLoadStep")]
public bool PlKeepLoadStep { get; set; } = true;

/// <summary>
/// Global tolerance value [‰]
/// </summary>
[XmlAttribute("PlTolerance")]
public int PlTolerance { get; set; } = 1;

/// <summary>
/// Maximum equilibrium iteration number
/// </summary>
[XmlAttribute("PLmaxeqiter")]
public int PLmaxeqiter { get; set; } // int
[XmlAttribute("CRloadstep")]
public int CRloadstep { get; set; } // int
[XmlAttribute("CRmaxiter")]
public int CRmaxiter { get; set; } // int
[XmlAttribute("CRstifferror")]
public int CRstifferror { get; set; } // int
public int PLmaxeqiter { get; set; } = 50;

/// <summary>
/// Number of layers in the elasto-plastic shells
/// </summary>
[XmlAttribute("PlShellLayers")]
public int PlShellLayers { get; set; } = 10;

/// <summary>
/// Consider Mohr-Coulomb criteria
/// </summary>
[XmlAttribute("NLSMohr")]
public bool NLSMohr { get; set; } // bool
public bool NLSMohr { get; set; } = true;

/// <summary>
/// Initial load step [%]
/// </summary>
[XmlAttribute("NLSinitloadstep")]
public int NLSinitloadstep { get; set; } // int
public int NLSinitloadstep { get; set; } = 10;

/// <summary>
/// Minimum load step [%]
/// </summary>
[XmlAttribute("NLSminloadstep")]
public int NLSminloadstep { get; set; } // int
public int NLSminloadstep { get; set; } = 10;

/// <summary>
/// Volume ratio of nonlinearly active elements in one step [%]
/// </summary>
[XmlAttribute("NLSactiveelemratio")]
public int NLSactiveelemratio { get; set; } // int
public int NLSactiveelemratio { get; set; } = 5;

/// <summary>
/// Volume ratio of plastic elements in one step [%]
/// </summary>
[XmlAttribute("NLSplasticelemratio")]
public int NLSplasticelemratio { get; set; } // int
public int NLSplasticelemratio { get; set; } = 5;

/// <summary>
/// One load step in % of the total load
/// </summary>
[XmlAttribute("CRloadstep")]
public int CRloadstep { get; set; } = 20;

/// <summary>
/// Maximum iteration number
/// </summary>
[XmlAttribute("CRmaxiter")]
public int CRmaxiter { get; set; } = 30;

/// <summary>
/// Allowed stiffness change error [%]
/// </summary>
[XmlAttribute("CRstifferror")]
public int CRstifferror { get; set; } = 2;

[XmlElement("combitem")]
public List<CombItem> CombItem { get; set; }
public List<CombItem> CombItem { get; set; } = new List<CombItem>();

/// <summary>
/// Parameterless constructor for serialization.
Expand All @@ -48,7 +113,7 @@ private Comb()
{

}
public Comb(int _NLEmaxiter = 30, int _PLdefloadstep = 20, int _PLminloadstep = 2, int _PLmaxeqiter = 30, bool _NLSMohr = true, int _NLSinitloadstep = 10, int _NLSminloadstep = 10, int _NLSactiveelemratio = 5, int _NLSplasticelemratio = 5, int _CRloadstep = 20, int _CRmaxiter = 30, int _CRstifferror = 2, List<CombItem> CombItem = null)
public Comb(int _NLEmaxiter = 30, int _PLdefloadstep = 20, int _PLminloadstep = 2, int _PLmaxeqiter = 30, bool _NLSMohr = true, int _NLSinitloadstep = 10, int _NLSminloadstep = 10, int _NLSactiveelemratio = 5, int _NLSplasticelemratio = 5, int _CRloadstep = 20, int _CRmaxiter = 30, int _CRstifferror = 2, List<CombItem> combItem = null)
{
this.NLEmaxiter = _NLEmaxiter;
this.PLdefloadstep = _PLdefloadstep;
Expand All @@ -63,30 +128,39 @@ public Comb(int _NLEmaxiter = 30, int _PLdefloadstep = 20, int _PLminloadstep =
this.CRmaxiter = _CRmaxiter;
this.CRstifferror = _CRstifferror;

this.CombItem = CombItem ?? new List<CombItem>();
this.CombItem = combItem ?? new List<CombItem>();
}

public Comb(int nLEmaxiter = 30, int pLdefloadstep = 20, int pLminloadstep = 2, bool plKeepLoadStep = true, int plTolerance = 1, int pLmaxeqiter = 50, int plShellLayers = 10, bool nLSMohr = true, int nLSinitloadstep = 10, int nLSminloadstep = 10, int nLSactiveelemratio = 5, int nLSplasticelemratio = 5, int cRloadstep = 20, int cRmaxiter = 30, int cRstifferror = 2, List<CombItem> combItem = null)
{
NLEmaxiter = nLEmaxiter;
PLdefloadstep = pLdefloadstep;
PLminloadstep = pLminloadstep;
PlKeepLoadStep = plKeepLoadStep;
PlTolerance = plTolerance;
PLmaxeqiter = pLmaxeqiter;
PlShellLayers = plShellLayers;
NLSMohr = nLSMohr;
NLSinitloadstep = nLSinitloadstep;
NLSminloadstep = nLSminloadstep;
NLSactiveelemratio = nLSactiveelemratio;
NLSplasticelemratio = nLSplasticelemratio;
CRloadstep = cRloadstep;
CRmaxiter = cRmaxiter;
CRstifferror = cRstifferror;
CombItem = combItem ?? new List<CombItem>();
}



/// <summary>
/// Set default calculation parameters for load combinations.
/// </summary>
/// <remarks>Create</remarks>
/// <returns></returns>
public static Comb Default()
{
int NLEmaxiter = 30;
int PLdefloadstep = 20;
int PLminloadstep = 2;
int PLmaxeqiter = 30;
bool NLSMohr = true;
int NLSinitloadstep = 10;
int NLSminloadstep = 10;
int NLSactiveelemratio = 5;
int NLSplasticelemratio = 5;
int CRloadstep = 20;
int CRmaxiter = 30;
int CRstifferror = 2;
return new Comb(NLEmaxiter, PLdefloadstep, PLminloadstep, PLmaxeqiter, NLSMohr, NLSinitloadstep, NLSminloadstep, NLSactiveelemratio, NLSplasticelemratio, CRloadstep, CRmaxiter, CRstifferror);
return new Comb();
}

}
}
121 changes: 70 additions & 51 deletions FemDesign.Core/FemDesign.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
<Compile Include="Foundations\Insulation.cs" />
<Compile Include="Foundations\IsolatedFoundation.cs" />
<Compile Include="Foundations\RefParts.cs" />
<Compile Include="GenericClasses\EntityColor.cs" />
<Compile Include="GenericClasses\IBar.cs" />
<Compile Include="Geometry\Line3d.cs" />
<Compile Include="Geometry\HorizontalPolygon2d.cs" />
Expand All @@ -99,30 +100,84 @@
<Compile Include="Materials\TimberPanelType.cs" />
<Compile Include="Materials\TimberServiceClassFactors.cs" />
<Compile Include="Materials\TimberServiceClassKdefs.cs" />
<Compile Include="Results\BarStress.cs" />
<Compile Include="Results\Equilibrium.cs" />
<Compile Include="Results\FootFall\NodalAcceleration.cs" />
<Compile Include="Results\FootFall\NodalResponseFactor.cs" />
<Compile Include="Results\InteractionSurface.cs" />
<Compile Include="Geometry\Plane.cs" />
<Compile Include="Results\LabelledSectionInternalForce.cs" />
<Compile Include="Results\LineSupportReaction.cs" />
<Compile Include="Results\Node\PointSupportReaction.cs" />
<Compile Include="Results\PointConnectionForce.cs" />
<Compile Include="Reinforcement\LongitudinalBarReinforcement.cs" />
<Compile Include="Reinforcement\StirrupsReinforcement.cs" />
<Compile Include="Results\QuantityEstimation.cs" />
<Compile Include="Results\RC design\RCBarUtilization.cs" />
<Compile Include="Results\RC design\RCShellCrackWidth.cs" />
<Compile Include="Results\RC design\RCShellShearCapacity.cs" />
<Compile Include="Results\RC design\RCShellShearUtilization.cs" />

<Compile Include="Results\Node\NodalDisplacement.cs" />

<Compile Include="Results\BarDisplacement.cs" />
<Compile Include="Results\BarStress.cs" />
<Compile Include="Results\BarInternalForce.cs" />
<Compile Include="Results\BarEndForce.cs" />

<Compile Include="Results\Node\PointSupportReaction.cs" />
<Compile Include="Results\Node\PointSupportReactionMinMax.cs" />
<Compile Include="Results\Node\PointSupportReaction.cs" />
<Compile Include="Results\LineSupportReaction.cs" />
<Compile Include="Results\LineSupportResultant.cs" />
<Compile Include="Results\SurfaceSupportReactions.cs" />
<Compile Include="Results\SurfaceSupportResultant.cs" />

<Compile Include="Results\PointConnectionForce.cs" />
<Compile Include="Results\LineConnectionForce.cs" />
<Compile Include="Results\LineConnectionResultant.cs" />


<Compile Include="Results\LabelledSectionInternalForce.cs" />
<Compile Include="Results\LabelledSectionResultant.cs" />

<Compile Include="Results\Shell\ShellStress.cs" />
<Compile Include="Results\Shell\ShellDerivedForce.cs" />
<Compile Include="Results\Shell\ShellDisplacement.cs" />
<Compile Include="Results\Shell\ShelllnternalForce.cs" />
<Compile Include="Results\Shell\ShellStress.cs" />

<Compile Include="Results\QuantityEstimation.cs" />
<Compile Include="Results\Equilibrium.cs" />





<Compile Include="Results\FiniteElements\FemNode.cs" />
<Compile Include="Results\FiniteElements\FemBar.cs" />
<Compile Include="Results\FiniteElements\FemShell.cs" />
<Compile Include="Results\FiniteElements\FiniteElement.cs" />

<Compile Include="Results\Stability\CriticalParameter.cs" />
<Compile Include="Results\Stability\NodalBucklingShape.cs" />
<Compile Include="Results\Stability\ImperfectionFactor.cs" />

<Compile Include="Results\EigenFrequencies\EigenFrequencies.cs" />
<Compile Include="Results\EigenFrequencies\NodalVibration.cs" />

<Compile Include="Results\FootFall\NodalAcceleration.cs" />
<Compile Include="Results\FootFall\NodalResponseFactor.cs" />

<Compile Include="Results\Steel\BarSteelUtilization.cs" />

<Compile Include="Results\Timber Design\BarTimberUtilization.cs" />
<Compile Include="Results\Timber Design\CLTFireUtilization.cs" />
<Compile Include="Results\Timber Design\CLTShellUtilization.cs" />

<Compile Include="Results\RC design\RCBarUtilization.cs" />
<Compile Include="Results\RC design\RCShellCrackWidth.cs" />
<Compile Include="Results\RC design\RCShellShearCapacity.cs" />
<Compile Include="Results\RC design\RCShellShearUtilization.cs" />
<Compile Include="Results\RC design\RCShellReinforcementRequired.cs" />
<Compile Include="Results\RC design\RCShellDesignForces.cs" />
<Compile Include="Results\RC design\RCShellCrackWidth.cs" />
<Compile Include="Results\RC design\RCShellUtilization.cs" />

<Compile Include="Results\Units.cs" />
<Compile Include="Results\InteractionSurface.cs" />
<Compile Include="Results\Utils\UtilResultMethods.cs" />
<Compile Include="Results\Convert.cs" />
<Compile Include="Results\ResultsReader.cs" />
<Compile Include="Results\ResultAttribute.cs" />
<Compile Include="Results\IResult.cs" />

<Compile Include="Soil\BoreHole.cs" />
<Compile Include="Soil\SoilElements.cs" />
<Compile Include="Soil\Strata.cs" />
Expand All @@ -143,17 +198,9 @@
<Compile Include="Utils\LoadCombinationTable.cs" />
<Compile Include="Utils\NationalAnnexEnum.cs" />
<Compile Include="Releases\RigidityDataType0.cs" />
<Compile Include="Results\Convert.cs" />
<Compile Include="Results\Node\PointSupportReactionMinMax.cs" />
<Compile Include="Geometry\ArcEdge.cs" />
<Compile Include="Geometry\CircleEdge.cs" />
<Compile Include="Geometry\LineEdge.cs" />
<Compile Include="Results\RC design\RCShellReinforcementRequired.cs" />
<Compile Include="Results\RC design\RCShellDesignForces.cs" />
<Compile Include="Results\SurfaceSupportReactions.cs" />
<Compile Include="Results\SurfaceSupportResultant.cs" />
<Compile Include="Results\Timber Design\CLTFireUtilization.cs" />
<Compile Include="Results\Timber Design\CLTShellUtilization.cs" />
<Compile Include="Shells\SlabStiffnessFactors.cs" />
<Compile Include="Stage\ActivatedLoadCase.cs" />
<Compile Include="ModellingTools\AdvancedFem.cs" />
Expand Down Expand Up @@ -198,9 +245,6 @@
<Compile Include="Calculate\Options.cs" />
<Compile Include="Calculate\Stage.cs" />
<Compile Include="Geometry\Proximity.cs" />
<Compile Include="Results\LabelledSectionInternalForce.cs" />
<Compile Include="Results\LabelledSectionResultant.cs" />
<Compile Include="Results\Units.cs" />
<Compile Include="GenericClasses\Camber.cs" />
<Compile Include="GenericClasses\FaceEnum.cs" />
<Compile Include="GenericClasses\VerticalAlignmentEnum.cs" />
Expand All @@ -213,26 +257,7 @@
<Compile Include="GenericClasses\ILibraryBase.cs" />
<Compile Include="GenericClasses\ILoadElement.cs" />
<Compile Include="Geometry\Face.cs" />
<Compile Include="Results\BarInternalForce.cs" />
<Compile Include="Results\EigenFrequencies\EigenFrequencies.cs" />
<Compile Include="Results\EigenFrequencies\NodalVibration.cs" />
<Compile Include="Results\FiniteElements\FemBar.cs" />
<Compile Include="Results\FiniteElements\FiniteElement.cs" />
<Compile Include="Results\FiniteElements\FemNode.cs" />
<Compile Include="Results\FiniteElements\FemShell.cs" />
<Compile Include="Results\FootFall\NodalAcceleration.cs" />
<Compile Include="Results\FootFall\NodalResponseFactor.cs" />
<Compile Include="Results\LineConnectionForce.cs" />
<Compile Include="Results\LineConnectionResultant.cs" />
<Compile Include="Results\BarDisplacement.cs" />
<Compile Include="Results\LineSupportResultant.cs" />
<Compile Include="Results\RC design\RCShellCrackWidth.cs" />
<Compile Include="Results\RC design\RCShellUtilization.cs" />
<Compile Include="Results\Shell\ShellDerivedForce.cs" />
<Compile Include="Results\Shell\ShellDisplacement.cs" />
<Compile Include="Properties\GlobalAssemblyInfo.cs" />
<Compile Include="Results\ResultAttribute.cs" />
<Compile Include="Results\IResult.cs" />
<Compile Include="GenericClasses\ISupportElement.cs" />
<Compile Include="GenericClasses\IStructureElement.cs" />
<Compile Include="GenericClasses\LibraryBase.cs" />
Expand Down Expand Up @@ -373,13 +398,7 @@
<Compile Include="Releases\StiffBaseType.cs" />
<Compile Include="Releases\StiffnessType.cs" />
<Compile Include="Releases\StiffnessWithFriction.cs" />
<Compile Include="Results\Shell\ShelllnternalForce.cs" />
<Compile Include="Results\BarEndForce.cs" />
<Compile Include="Results\Node\NodalDisplacement.cs" />
<Compile Include="Results\QuantityEstimation.cs" />
<Compile Include="Results\Node\PointSupportReaction.cs" />
<Compile Include="Results\ResultsReader.cs" />
<Compile Include="Results\Shell\ShellStress.cs" />

<Compile Include="RevitTools\ProjectSettings.cs" />
<Compile Include="Sections\ComplexSection.cs" />
<Compile Include="Sections\DatabaseSections.cs" />
Expand Down
3 changes: 3 additions & 0 deletions FemDesign.Core/FemDesignConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,9 @@ public void RunDesign(CmdUserModule userModule, Design design, List<CmdDesignGro
);

this.RunScript(script, $"RunDesign_{userModule}");

if(design.ApplyChanges == true)
this.ApplyDesignChanges();
}


Expand Down
3 changes: 3 additions & 0 deletions FemDesign.Core/Foundations/IsolatedFoundation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ public partial class IsolatedFoundation : NamedEntityBase, IStructureElement, IF
[XmlElement("insulation", Order = 5)]
public Insulation Insulation { get; set; }

[XmlElement("colouring", Order = 6)]
public EntityColor Colouring { get; set; }

[XmlAttribute("analythical_system")]
[DefaultValue(FoundationSystem.Simple)]
public FoundationSystem FoundationSystem { get; set; }
Expand Down
Loading

0 comments on commit 5778745

Please sign in to comment.