Design situations - HiStructClient/femcad-doc GitHub Wiki

Every analysis case can have a design situation defined. Design situation is composed of Content, Equations and Limit states. Content includes all the load groups which should be used in analysed EN combination. There could be more design situations in a single analysis case.

myDesignSituation:= res.fit.DesignSituation{ 
    Name          := "myDesignSituation",
    HumanName     := "My Design situation",
    Description   := "Max dead loads, downwind, snow, max live loads",
    EnvelopeSetGenerators  := [
       EnSet{
          NameRoot    := "S-",
          Content     := LoadGroups{
                           SnowLoadGroup.notLeading          = False,
                           PermanentLoadGroup.notStabilising = True    }.Uplift , 
          Equations   := ["Eq.6.10", "Eq.6.16b"],      # What equations from EN 1991 should be used.
          LimitStates := [ "ULS-Fundamental-STR/GEO(B)", "SLS-Quasi-permanent" ] } ] } 

DesignSituationUplift := res.fit.DesignSituation{ 
   Name          := "DesignSituationUplift",
   HumanName     := "Design situation - uplift of canopy",
   Description   := "Max uplift, characteristic (min) dead loads",
   EnvelopeSetGenerators  := [
      EnSet{
         NameRoot    := "F_2-",
         Content     := LoadGroups{
                           WindLoadGroup.notLeading          = False,
                           PermanentLoadGroup.notStabilising = False   }.Uplift , 
         Equations   := ["Eq.6.10b"],
         LimitStates := [ "ULS-Fundamental-STR/GEO(B)", "SLS-Characteristic"  ] } ] }

    AllEnvelopes := myDesignSituation.Content.Envelopes + designSituationUplift.Content.Envelopes

Notice the update of Load groups properties. Setting the notStabilising value to False means that stabilising loads are not multiplied by the prenament load coeff yG (1.35). Similary, False notLeading value in Load Group assigns the load as dominant (this affects combination coefficients psi).

Analysis then could look like this:

# Analysis
AnalysisCase := res.comp.analysisCase{ 
   AnalysisClass := ModelClass,
   MeshConnect   := res.comp.analysisCase.MeshConnect{ 
      ConnectRules := Fcs.Mesh.ConnectRules{
        Rules := [ Fcs.Mesh.ConnectRules.ConnectClub{ Entities := Fcs.Assembly.All } ] },
      AutoConnect := True },
   ResultCaseULS := Fcs.Analysis.ResultCase(Fcs.Action.ResultClass{ Name = "All ULS-Fundamental" }),
   ResultCaseSLS := Fcs.Analysis.ResultCase(Fcs.Action.ResultClass{ Name = "All SLS characteristic" }),
   LoadGroups       := LoadGroups.All,
   LoadCases        := LoadCases.All,
   LoadCombinations := AllEnvelopes,
   ResultClasses    := ResultClasses{ds := [myDesignSituation, designSituationUplift]}
}