From a88fa40f29bf9eac606b77e1df1868130facc2f4 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Thu, 23 Mar 2023 21:04:27 +0500 Subject: [PATCH] Settting for prestress has been fixed --- .../ReinforcementViewPrimitive.cs | 10 +-- .../Libraries/LoaderCalculator.dll | Bin 72704 -> 72704 bytes .../ResultViewers/ShowAnchorageResult.cs | 71 ++++++++++++++++++ .../CalculationResultView.xaml | 43 ----------- .../CalculationResultView.xaml.cs | 31 -------- .../ForcesResultsView.xaml | 1 + .../PrimitivePropertiesView.xaml | 4 +- .../Calculators/ForcesResultsViewModel.cs | 19 +++++ .../PrimitiveViewModelLogic.cs | 6 +- .../PrimitivePropertiesViewModel.cs | 20 ++--- .../Models/Materials/ConcreteLibMaterial.cs | 38 ++++++++-- .../Models/Materials/ILibMaterial.cs | 1 + .../Models/Materials/LibMaterial.cs | 5 ++ .../Materials/ReinforcementLibMaterial.cs | 25 ++++-- .../CrossSections/RCs/CircleGeometryLogic.cs | 2 +- .../CrossSections/RCs/RectGeometryLogic.cs | 16 ++-- .../Analyses/RC/AnchorageCalculator.cs | 50 ++++++++++++ .../Analyses/RC/AnchorageInputData.cs | 18 +++++ .../Analyses/RC/IAnchorageCalculator.cs | 15 ++++ .../Analyses/RC/IAnchorageInputData.cs | 19 +++++ ...ndingPrimitive.cs => IHasHostPrimitive.cs} | 4 +- .../Primitives/ReinforcementPrimitive.cs | 6 +- .../Triangulations/TriangulationService.cs | 2 +- 23 files changed, 286 insertions(+), 120 deletions(-) create mode 100644 StructureHelper/Services/ResultViewers/ShowAnchorageResult.cs delete mode 100644 StructureHelper/Windows/CalculationWindows/CalculationResultWindow/CalculationResultView.xaml delete mode 100644 StructureHelper/Windows/CalculationWindows/CalculationResultWindow/CalculationResultView.xaml.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/RC/AnchorageCalculator.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/RC/AnchorageInputData.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/RC/IAnchorageCalculator.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/RC/IAnchorageInputData.cs rename StructureHelperLogics/NdmCalculations/Primitives/{IHasSurroundingPrimitive.cs => IHasHostPrimitive.cs} (65%) diff --git a/StructureHelper/Infrastructure/UI/DataContexts/ReinforcementViewPrimitive.cs b/StructureHelper/Infrastructure/UI/DataContexts/ReinforcementViewPrimitive.cs index e7b7fb2..4d869a6 100644 --- a/StructureHelper/Infrastructure/UI/DataContexts/ReinforcementViewPrimitive.cs +++ b/StructureHelper/Infrastructure/UI/DataContexts/ReinforcementViewPrimitive.cs @@ -7,17 +7,17 @@ using System.Threading.Tasks; namespace StructureHelper.Infrastructure.UI.DataContexts { - public class ReinforcementViewPrimitive : PointViewPrimitive, IHasSurroundingPrimitive + public class ReinforcementViewPrimitive : PointViewPrimitive, IHasHostPrimitive { ReinforcementPrimitive primitive; - public INdmPrimitive SurroundingPrimitive + public INdmPrimitive HostPrimitive { - get => primitive.SurroundingPrimitive; + get => primitive.HostPrimitive; set { - primitive.SurroundingPrimitive = value; - OnPropertyChanged(nameof(SurroundingPrimitive)); + primitive.HostPrimitive = value; + OnPropertyChanged(nameof(HostPrimitive)); } } diff --git a/StructureHelper/Libraries/LoaderCalculator.dll b/StructureHelper/Libraries/LoaderCalculator.dll index 16ad4e55167c49e6f5ac3a52e96f0b3373374d68..59ef3f1a8838c2777fd932cc4e44f6e0b3491309 100644 GIT binary patch delta 19998 zcmchf3!IHr_xRU3Gw1T0W6YT5Vs7Tj+^>;$P$AOfp1Y`2?u1ZOdWhs!8G}KHNYo_L zR47XE&YQbRMHDJ06zWZdRKK;>-t#;s>V13v@BjBZeOj}=d#%0p+H3FUa?W{aPibkr~$kc*Eh|t*l?K^s@o&?y`9~8!)=8LvAuYS~W5^9r5R?1$mXO z{%t~G=8_L>aP@B}ZSe?d=*;NCsF}(Hr)wOFkfpuNGrvuv8 zSIuo6>%fnzUTV3tHWpWP=sYASx1tCjwab`$2j4T0$^&q;9AHZfwRP(P%PIlFs4cZk zw~|)$cU{@>t`p1^@yL$gf)RCH^<8jSjYLua)+hL9E{%&7+tJBPiw@;Ui4?lNo=2nr1uLygP~I z$OM+1sDl??b)5B3awMr#DPNL*Op2@iP}rHu$yEli_2WqPe@;BR$^?4IV3iWBaWGpC z6|&qZ2~Cjp;MnK{(*@Z%Jp8?hZ0?*Foe&N$N8}~D;L{jx=|rxz;jLsIcr$g5g7Imb z`$8FPt_*)rf?i7EN_>>cNxv-Zn^GgwT@XPLxWX5MSt9*63B%wltx7SVsj)$}AUKG_ zU|u1UL(}-69m&Ns*GO1S0oLT~NCq&VE-WLO;HV+C#YHQM70(sak3H)FBEaIv9m)NO zl4XS3V~p5h2nADN<6OotNE73#)Mcqm=|U-)O!c44XA@!e>x1ZiMxcTYiS3*M%a0((fEJQQm$V}&^IM$M>r`oLIjKB`3?HPENCY5KqS*_CQ4>X`cPLflo2hb znC4_cfO2Rp_5}_g5)=?-!Q#TppeNy%i&g`p)$lGxKn7l(9ATigGjp?G$p!l;i!MDKS;Np*uKWowqw?Zw!YsknH zBD5|>(Nzu(YD&kg5G^z~Z3u0zYN+R+sIVh)NM=9y2PBDYP%_(gXu2hX={?Ann1iSv z&=Jy1s59AU{~v^F1;Uk}v}_Jt>~y((gOEnsU|FNWY(;%)tj<*Hn&j3FeD!pNHv&ORzvN-Q9pz z<`-BbL&Ou&{RqA&wol?q$rg-n%76!n0NhwDv?0E%4R&>&8073t zeUG|_lbq}sMRKcWEXm&P@f6u8m_RbC!6PI$n*}rJ&oza!Nj{X%h91d0{Lv^*B|Lkc ztB~#<7LmTC)>4v>`9_g^&Nr6i5Z`c;9em>{bl=QpNd8!x2W}U_^7A@8fxelmNES%T zV3D@95PZqz^E5zs%4?K$9m#re;YRAf`O;vL#DiW=_Y za}+c*LfqXab`&{>WKDb9)FhZ%EMbhQGa-*cH5}g*t)bP&0!!G28TZsP-n{42u@ zmU;gqrEVxvwOl31sg~O^d17iZtS5szj!z2a0XdnxA#%6KDv{er);QI5vumKwrIZ>g z!m=xBz%%YVQAM_+(Ro64K)Fbsm|UznQji@vuw_sEV06LPF0(fMIi5J&%}I5D7jNb@N^~5=+V-TFvlq_^f)8WWdWUG}--C!!LaxHcTK`Wv8@L1t0cQA}& zGRb&dL5151?<&{2M^jgW6QWb3qsN)B7TnN4Q|*LT=#APSxghC2+-2{LVUhr>9!kkfoU zXA-x%BOsjaD4E6+MM0*}B)T13P46{Z3Hh;Y-Y$16yr^k$ybI#tEupD2r33DG4nePK zCwt2KUMADYu8CqI44D}DrQ4<_B2NZTPSRO-lI3|_(m9))XOdc@6p(|4EX}#-mZ=N< z7WEs^Cn_1}6BF!7h0~hMJ~5%5`cONa<8r1h$bh;+lb}s_oF@Z%DjWO|mF3BXB^kD7 zEFZfeG)L1&&nlv)G%fQ~c&>#Nn$~$Li7GU`;9l>! z4qnmphIMO~k66qYaZ#Wxc_^V|TN3KX@-IN)go@$^9nm%C5Sj^NfXQd7H}uRX1yLTIXI zNJ^#KEP+=9{YLB9N_Pot(sXChbS!~w%9WD2;3?sV^r{YF&vpuk*wZ2>Cu0*Q)86vr zNpyf?R?GvQ4klbu1IjEq!cAARw;#Dd6 zYUfo(TZ2AG)|6kbi9sJBYg(7k#Gnt4HSHvNz@o!M^r5k~m1H$B z=;LBdPlq=#CbG`sS37TUHZdMyq*t}`F`_97h&a=!7L_D6F{W9RYIHVcz_(VpZ#QPa zZx*eF$06cx?CdwV7EeN|&{Pj!M@pd~5smLhF85q`M7biDbRImTT%jvnR_4L;+P1PV zpKMz+@lwo(uwoekx%lPKM-!KO0qkm`Y+T<((7dT4p3+lL#zfaYIntNFYHj4=FM;Anrq^`E8&19UWzK9Qysnh$V>4m91v28u7{&SrJgOG{>FMZAv7Oe zPZ>gV^m^_$KL_fCKWw}XCz=Zq4KdyXPYb3}7~oxKybY~{=0nf2`-f+mt>P-(+hM1) z`Hfz26~=bhujvTccEDjx7s$2)j%#Y+s&wy!)0(=wDvX`*qo#>;Cfo(TYFd<1VeA5T zOU}V>bjhl8?}kuKL(QxTV>i^*c*r<~dmu^EX`|BE1DTp`kE(R@wrOfg1MY(Zsvj<)6WTs_t`#T4{o-CT$W_pfZ;rZG44W;(4D{dR03)m`&WkaYUzD%;e; zq%!Zfj9g}$xXd3~HZHSGT;`7~+fb^qOL-9{cyFWp6LcrGfkgmg?Yb% zR+`Rd#S*m_Qj<7gO^`>hsUp!lZ`gQa`dY_H%e80v1hnb1to^~KEZh04`d*tj=+~Bw z)3#|$LB97J%l2qNqX0UaJKe<7meHMuU{hk=bUb6(8j;PWrve8cH;XMc2I&iL&U~kSH-XEcPM@7r?hkDPOFjwQ_X)d?`FLzQ#zG=Mx zyM@%g_!&Ob#B=%?KGSq#`n}#u;MdeMeH_tQO`m0%-e2G+P3NrLzPmOMyU6T4 ze0Oc2w~O4=s7$>WE=Iq>@2tEStBK!Pc`;QJzq9gTwkCdO<->+TDoQPECZx`%wQ#*< z3vt%Mw=D{T+PJHW+|(%7P#n>>W~^n-xYBbnt!#kL+VOzjAfi3Pv0*E&`NJSJ|fBZkq4}Yvo&#; zL|kgoN^cUrsEMPb;2RdL^rqqtO`K?bJiuhq{Q%FY0s6I(^G?Te7OnJVU{E*CRTVf3 z!z`-sW?`a`N-Z06G;wMTYz_JBj;9xBQ$YpSK~vP zIJJg2-J+G=Mp!PSQfrJ)3#kQdj4vopqjzDIw=q^}8dA8CXpes+SF>XLOw)68z&1g@rp>tsP4KLcN~USe5{B^bHu3N_nLK ziBF~1S~foI*mPt17VmYIt!H|50P*GMddtR_Bbzvx=9X=UN!i%Q$+WPHoQzE$(0p53 zwqrD3n~qSw8!X#7>Sq(zu$5)w8rt++t~niBTShKoYy3%FW^Aj8YjHDn z)x@=Ei+wb4E!tv#O+4RrI9wCYw;kT6iT6xz9t^88=8kSa?tMhg(eQ#9lz1U zL3`jiO&qib{-TK!?TOAFYF}`oJ+Zcsnr|^VH!^ugPOR5E?7WH^jXQ|krN+u1?Ulg%cc#GRInCt=ep*JzUfCB@{JrGBz8cMYX;y5O{{ux}hK{!#na@hvq zbWL2g!C0z^%QhGnY2vC4!Dlpa)rQ~;HT|eEL$OK|S8XV6(!^C8hTDWpzrkf2hP$|_u)sHxN7&|5lvjR`|&GHT($f0TTNWGad=)6S8W_( zFRs%h$TjJ^lkpfOsERlqn+eT_Au&IC$KwJ`J)?ts4`F<7?nobSMAz|6#C4k9te4<> z1nI*?u{}dH1qW$*sb02kDsIqpOGF*tV@MBsiRYvUvyN{%-Xy4opNY3vbd7H&_80OS zi}Nbovv7o_6?qlLEPO!I=E6$%<2Xgrw!#YIaePwK?4nBd6Sz=Qc~OP&1g=zs^9!1p zz9;czZM=ytE3@%+O+D$dG8?yQ;&XQ??$pHR?o!+@q|%;a9eA9mO`NDroM@Tl$%&da za;9@FBWG%nlQQ+q!^1M*e9zeIR=)X`C#PL*5vOevr@g?kaoRRLL5VK3uYdC>(}kAn zOO)v%i(aElZCXeh@hQvp3~j`x@JK){7UM}>Cmv!key@o~Sd71F;t`gh>FLW`!Ef*o zOYka9Jj7B=(8NP5#S9@;?x(THqHBClV{7gCkL*hKGHkEuT+=sWHj*uR4Ttd(JX)ZZ>ght1TO+X45T{+8WDt7o}#?>4Zx6^Oo(` zgbL$%d|IV#a5698bA4rezroqOfa|o8lc~TBnmCyXd|MMI^CE87#L2vf?+dAgS&N62 z4SUlmX)R{o#>>mLDZaJX%%YjTmv9>q&EJog=vmx#xZrknodh9SOdIZC^5ZpeOxN{O z^i?*~XiYrCI($&mUV3tO9nRJCR3=l`JGtK^xUSwD-#YwSQ=8nyzL)V5lS#&`tQEdj zamrmXgp_7I&eFt{S&#EH?WN1g23(@)FkMzQ;3`c`qSyE~;#y55(Jv9L*OZ%Z3SY;! zG+moeX}pf_3eoj%L*#3|H*lXeR!43kI;g2>+E(8tJSH^N(;;m;(J5{Frrs&sjQ`ZO zU+YyGoAGCDt4HUOH!sdWF{^308?Fl>sBtaMjfwp6-@sK()XDJEy^^Zf(I zYFdzC&Ln);TA7)?cX5G`Ix4o~yF%)y*p4IRi#K&tY{$sj5BAo?N5vkzOA{~C zUL2~4muWAK(ZtKN4KfE@G_?4yZ;euDiqanM6J zToVU9g!gIUpoj5cO&s$uJ|?8n{uG~7HuMHnxCyw6VH z4VrkHoxpaQ_zZUvyK1_+D5SzTiG2kr@3Mo_GtGJlD|}z$ta~I0SeA;&! zFKKENzQT6~KI`YnEpZ0x=4K-yZF7|zgk7)`^JncJ&PY6wd)Z|L{57su}Y1$NQ z(mZYCdH!g*@;q(gdH!VCc%C-#JkMJ;z93lSd~A8PAu6%*;&S ziu`J|@yzH~F7m2&hLv@h**crg>MqAtHCws8a5;AAxsR!L+UIusBE&V`IxiYF9d29k4#1eV&hG{bQ*g z$3b18z;pxkC^y~FIpBsIc2&a}k^T;bK#yJ75mUz@6`eI&yRb9zuUbS4V`Bm;2NHzr5-9Evj4KSt0ODpmg4n zL2~A(IZvpT@^r55zl?AGYx5si1LyHI9UV0%D;}~&=QHW=Pe*^2gc)d1p#y^k&Nc8% z5ZEhFkB#6Y)ESUA z-j^>Z{~9&0fdAL}zuo`;%L)DG`~N>pNNwSKIhWim*H6{LSJWUd`H~u}Pb|uyPBKd0 zDHof|^_rvnVqIQuWmS4x*-2NXcwTNdu57Ps%8i#YC?|D&`vcbi&nvBeHn8$MMn@L? zzC`5j`^x_RebeQ8cu_L9yqLlAh}<2Gl`CE=x{-1~eYy`0g8tI7H;!AB{;y+N*8g_@ zUzyf%T2T5OJKbv5q-7086S!ReFZchQQWYf=Y4!+8z9W^$P2-k8U0DN?`2GGrCFkwA z**pVVM+j_D?SaMr^VQ|y)nFXqkK&m2Ff~K|_0Zj9)dOau2UG2VxAT9hHw$?4@TX1z zKK%AWy$K;%~?g~$?-okjK%*-zwPk&{H0l627n zL`PH8>4)86;loKfNREepCXJ;ZzGp{FC3!S;5sVVgu5i?(pVf4Q2XoevG;>~oV){2r zwm=IC5e6k#p0*Q`MeidW`p~a|g0T<1o2iX=%MVl6K%JaKTrSqTa_^g zz?q~>Tmx6d7m^SEq-7Yjw8k-##NG5WSF<}lM0pLwDH37|gc=h_cP30GxrClCm?hSS zq(eX49#M&d@nGRQcnmtEeu#_7Isq3#6YnW$IYW}4+!=+fbAlYj*rR9*aEn3DI`S`w zPQo;LAm}7?_bOS}Btw(rR0oF(qi^SqrnYwQj9WV<;Sb4e9V;cR66}??6IMb>L>aZb zo4UkN0i$!*k{pnC3a4Xyl#8sKdMUn=a?J4xv`(gf`~$y^xZv1C?Ngx?7v_Wny&_W@ z1^Xjof;Q1F9ukAhO3aT;B`0UXK-`G4!|Mla(?hO~*$Msdrl96QCAcB4bpMRR|OrWdVCf%7+dFs27gI$rouNQ7r|g0me8GAwg(Lg zF2NCb!$|+qQ5#E4+#58Eng(RyV7Y>aZkHf~ymT1uuuO3HLe2P@+>I1gdUc8tXF? zofmun*&>fd{z7_q0@eap8%e+2f|g0ONS?{5Loz)&O7u8OALB_T{S{9GlKb7+Bs;nb zNOsF?MDm`LCL~K@Sq>=TQ37@4)6Epud~q5oGSEq-qU1Kubrk5JgTwWWWBH57-Y(Xc z%3ve1SpUx8Y1|*h`lD$qub1{e>SeN7byFSG04l_p9DA;BC*DAw)6?6Nyp+|2WKBz7 zX}QyCSywQWbYC9NxLD-AtWlR)&*VHvEmTp{GE7gOMEa$y$4Fk;IWQGfc2(-YWxA)Z zl={Zxv%EoO|8_1X5!hanbh(Vxr50Vr1I@>!!}%*hT;A=EdIb)tbQMP>p{kOfx`YNk zA<2E6Ldlt+3;|7`oF0f=L9PR2b16$Wkt*5}*Gtr5 z-YT1JP7a%Wku3ky5dT#KQ?ht9j|cv!kmZ^pmZ1f_imEpM+PYBszAk-N$^5Qt`6ioV z?#`?t`FZ>sBvYkA-(<`F4>SxEgF~Ay@1_EIN4ep_q5rZ~SW`);3iy)SIp{CV{^Kbu_g`sx=xd%b1o9qS8R=&2p~kFkqp0=Dl&_xCW3{-0fh zFuS~c1V%gSUQM@^<%1(IHEi+3Un6!me5UzZiMj2^kLxtDd~pOmSfpFGn7Wl?85d7O wn{lPDO^zMfZy*Jzc}-$HsWdqXN0;9biL2Jvj>3yUj=5K_uM>-Bv9!SbKT)7XQ~&?~ delta 20006 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 new StressLogic(); + public static void ShowAnchorageField (IStrainMatrix strainMatrix, LimitStates limitState, CalcTerms calcTerm, IEnumerable primitives) + { + foreach (var item in primitives) + { + if (item is ReinforcementViewPrimitive) + { + var primitive = item as ReinforcementViewPrimitive; + var ndmPrimitive = primitive.GetNdmPrimitive() as ReinforcementPrimitive; + var inputData = new AnchorageInputData(); + inputData.ConcreteStrength = GetConcreteStrength(limitState, calcTerm, ndmPrimitive); + inputData.ReinforcementStrength = GetReinforcementStrength(limitState, calcTerm, ndmPrimitive); + inputData.CrossSectionArea = ndmPrimitive.Area; + var diameter = Math.Sqrt(ndmPrimitive.Area / Math.PI) * 2d; + inputData.CrossSectionPerimeter = Math.PI * diameter; + var material = ndmPrimitive.HeadMaterial.GetLoaderMaterial(limitState, calcTerm); + var ndm = ndmPrimitive.GetNdms(material).Single(); + inputData.ReinforcementStress = stressLogic.GetStress(strainMatrix, ndm); + inputData.LappedCountRate = 0.5d; + } + } + } + private static double GetConcreteStrength(LimitStates limitState, CalcTerms calcTerm, ReinforcementPrimitive primitive) + { + if (primitive.HostPrimitive is not null) + { + var host = primitive.HostPrimitive; + var hostMaterial = host.HeadMaterial.HelperMaterial; + if (hostMaterial is IConcreteLibMaterial) + { + var concreteMaterial = hostMaterial as IConcreteLibMaterial; + var concreteStrength = concreteMaterial.GetStrength(limitState, calcTerm).Tensile; + return concreteStrength; + } + } + throw new StructureHelperException(ErrorStrings.DataIsInCorrect + ": host's material is incorrect or null"); + } + + private static double GetReinforcementStrength(LimitStates limitState, CalcTerms calcTerm, ReinforcementPrimitive primitive) + { + if (primitive.HeadMaterial.HelperMaterial is IReinforcementLibMaterial) + { + var material = primitive.HeadMaterial.HelperMaterial as IReinforcementLibMaterial; + var strength = material.GetStrength(limitState, calcTerm).Tensile; + return strength; + } + throw new StructureHelperException(ErrorStrings.DataIsInCorrect + ": host's material is incorrect or null"); + } + } +} diff --git a/StructureHelper/Windows/CalculationWindows/CalculationResultWindow/CalculationResultView.xaml b/StructureHelper/Windows/CalculationWindows/CalculationResultWindow/CalculationResultView.xaml deleted file mode 100644 index add966a..0000000 --- a/StructureHelper/Windows/CalculationWindows/CalculationResultWindow/CalculationResultView.xaml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - -