Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

23.01.0 #954

Merged
merged 27 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5232d7d
:bug: ghFilePath strFilePath mixed
Marco-Pellegrino Feb 14, 2024
9f7a67b
Update GlobalAssemblyInfo.cs
Marco-Pellegrino Feb 14, 2024
5b22d90
:pencil2: renaming
Marco-Pellegrino Feb 14, 2024
9b9af57
:construction_worker: CO2 estimation
Marco-Pellegrino Feb 19, 2024
478500d
updating tests
Marco-Pellegrino Feb 20, 2024
21e1d0b
:lipstick: :construction_worker: Colouring
Marco-Pellegrino Feb 22, 2024
7f1c0c7
:fire: axis colouring
Marco-Pellegrino Feb 23, 2024
4b59462
:bug: encoding issue in identifier if special character
Marco-Pellegrino Feb 23, 2024
1a164a5
:up: python example
Marco-Pellegrino Feb 27, 2024
649271a
Update Material.cs
Marco-Pellegrino Mar 5, 2024
9d43f24
Update FemDesignConnection.cs
Marco-Pellegrino Mar 5, 2024
7e318e7
:up: apply design changes inside code
Marco-Pellegrino Mar 5, 2024
ad456f6
:sparkles: keep open on Application Run
Marco-Pellegrino Mar 6, 2024
fd1d7c1
:bug: missing serialisation
Marco-Pellegrino Mar 20, 2024
658115a
:sparkles: friction-detach
Marco-Pellegrino Mar 20, 2024
edb42c7
:up: update value list
Marco-Pellegrino Mar 20, 2024
011e5d1
:bug: wrong order for VonMises
Marco-Pellegrino Mar 21, 2024
185118d
return all results
Marco-Pellegrino Mar 26, 2024
f5fc071
:up:
Marco-Pellegrino Mar 26, 2024
41ce2c0
steel utilisation
Marco-Pellegrino Mar 26, 2024
ebb6285
:fire: remove extract
Marco-Pellegrino Mar 27, 2024
d32e0bc
:lipstick: update comb for plasticity
Marco-Pellegrino Mar 27, 2024
528f434
:sparkles: plastic analysis settings
Marco-Pellegrino Mar 27, 2024
1c04326
up
Marco-Pellegrino Mar 27, 2024
9026438
keep information in applicationRun
Marco-Pellegrino Mar 27, 2024
0515213
:bug: deconstruct hollow brep from Rhino causes issue
Marco-Pellegrino Mar 27, 2024
e4e2579
Update Program.cs
Marco-Pellegrino Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading