Kenar ayak, köprü başlangıç ve bitişinde konumlanan, köprü tabliyesini zemine bağlayan yapı elemanıdır. Kısa ve tek açıklıklı köprülerde köprü mesnetleri sadece kenar ayakta bulunur. Köprünün açıklığına göre kenarayaklar arasında köprü ayakları yerleştirilebilir.
Kullanıcı Parametreleri
<O N="GeometricParameters" T="Group">
<P N="Direction" V="1" D="Kenar Ayak Yönü[İleri=1/Geri=2]" Role="Input" Category="Geometri" />
<P N="Alignment_" V="A1" T="KBYS_Aliynman" D="Ait Oldugu Aliyman" Role="Input" Category="Geometri" />
<O T="ParamInfo" Min="1" Max="1" Required="1" Param="Alignment_" Pick="1" List="1" />
<P N="LocX" V="20000" D="Kilometre" Role="Input" Category="Geometri" UT="Length" UC="M_KN" />
<P N="LocY" V="0" D="Yol Eksenine Dik Uzaklık" Role="Input" Category="Geometri" UT="Length" UC="M_KN" />
<P N="LocZ" V="-20000" D="Temel Üst Kotu" Role="Input" Category="Geometri" UT="Length" UC="M_KN" />
<P N="OD_w" V="14000" D="Ön Duvar Dik Genişliği" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="OD_t" V="1000" D="Ön Duvar Kalınlığı" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="AD_t" V="300" D="Alın(Kalkan) Duvar Kalınlığı" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="YD_t" V="1000" D="Yan Duvar(Ricat) Kalınlığı " Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="YD_w_left" V="10000" D="Sol Yan Duvar Uzunluğu " Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="YD_w_right" V="10000" D="Sağ Yan Duvar Uzunluğu" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="KL_t" V="500" D="Kulak Kalınlığı " Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="KL_w" V="3000" D="Kulak Uzunluğu " Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="KL_h" V="1250" D="Kulak Yüksekliği " Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="KL_h2" V="750" D="Kulak Yüksekliği2" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
<P N="s" V="0" D="Verevlik Açısı" Role="Input" Category="Geometri" />
<P N="LeftAngle" V="0" D="Sol Ricat Duvar Açısı" Role="Input" Category="Geometri" UT="Angle" UC="CM_KGF" />
<P N="RightAngle" V="0" D="Sağ Ricat Duvar Açısı" Role="Input" Category="Geometri" UT="Angle" UC="CM_KGF" />
</O>
<O N="FEMParameters" T="Group">
<P N="SubSecMat" V="NULL" T="Material" D="Malzeme Özelliği" Role="Input" Category="FEM" />
<P N="MeshSize" V="2000" D="Mesh Büyüklüğü" Role="Input" Category="FEM" />
<P N="runMesh" V="2" D="Sonlu Eleman Modeli[Olustur=1/Olusturma=2]" Role="Input" Category="FEM" />
</O>
Kenar ayak yönü (Direction)
Kenarayağın başlangıç veya bitiş kenarayağı olduğunu belirler. "Description" kısmında yer alan "İleri" ve "Geri" niteleyicileri ise:
Yol güzergahına göre kenarayağın: (1) "İleri" ise yol güzergahı yönünde, (2) "Geri" ise yol güzergahının tersi yönünde konumlanmasıdır.
Güzergah seçimi (Alignment_)
Kenar ayak objesinin hangi güzergah üzerine oturacağının seçimidir. (Sistemde birden fazla güzergah varsa)
Örnek olarak, aşağıda rastgele ölçülendirilmiş OpenBrIM güzergah (Alignment) objesi gösterilmiştir. Güzergah ölçülendirme işleminde kullanılacak input parametreler ve parametre değişimi sonucu oluşacak obje davranışı için:
bkz.Güzergah
Kenar ayak objesinin yol güzergahı üzerinde bulunduğu kilometre anlamını taşımaktadır. Bu input parametrenin değişimi kenar ayağın güzergah doğrultusu üzerinde konumunu belirlemektedir. Ayrıca verilen input değeri koordinat olarak kenar ayağın ön duvarının orta noktasıdır. Yani, verilen input değeri ön duvar orta noktasının (merkezinin) konumunu belirlerken diğer koordinatlar kendini bu noktaya göre ayarlamaktadır.
Yol eksenine dik uzaklık (LocY) (m)
Kenar ayak objesinin yol eksenine olan dik uzaklığı anlamını taşımaktadır. Verilen input değerine göre kenar ayak, merkez koordinatı ön duvar orta noktası olmak şartı ile yol güzergahının sağına veya soluna doğru hareket etmektedir. Verilen input değeri pozitif ise yol güzergahına göre sola, negatif ise yol güzergahına göre sağa hareket edecektir. Aşağıdaki resimde verilen input değeri pozitif olduğundan dolayı kenar ayak yol güzergahına göre solda konumlanmıştır.
Temel üst kotu (LocZ) (m)
Temel üst kotu, kenar ayağın -Z yönündeki konumunu ayarlamaktadır. Kenar ayak +Z yönünde yol güzergahı ile her zaman aynı kottadır. Bu kota kenar ayak alın duvarının merkez koordinatı ile bağlanmaktadır. Yani, kenarayağın alın duvarı merkezi güzergah ile aynı kota kendini sabitler ve diğer koordinatlar kendi konumunu buna göre belirler. Temel üst kotu parametresi ise kenar ayağın tabanının Z koordinatını belirlemektedir. Bu noktadan itibaren temel objesi başlayacağından ismine temel üst kotu denilmiştir.
Ön duvar dik genişliği (OD_w) (cm)
Ön duvarın yol eksenine dik boyutunu ayarlayan input parametredir.
Ön duvar kalınlığı (OD_t) (cm)
Ön duvarın kalınlığını ayarlayan input parametredir.
Alın(Kalkan) duvar kalınlığı (AD_t) (cm)
Alın duvarının kalınlığını ayarlayan input parametredir.
Yan duvar (Ricat) kalınlığı (YD_t) (cm)
Yan duvarın kalınlığını ayarlayan input parametredir.
Sol yan duvar uzunluğu (YD_w_left) (cm)
Sol yan duvarın yol doğrultusundaki uzunluğunu ayarlayan input parametredir. (Yan duvarların solda ya da sağda olması yol güzergah yönüne göredir. Kenar ayak yönü ileri yönde de olsa geri yönde de olsa durum farklılık göstermemektedir.)
Sağ yan duvar uzunluğu (YD_w_right) (cm)
Sağ yan duvarın yol doğrultusundaki uzunluğunu ayarlayan input parametredir.
Kulak kalınlığı (KL_t) (cm)
Kulak kalınlığını ayarlayan input parametredir.
Kulak uzunluğu (KL_w) (cm)
Kulağın yol doğrultusundaki boyutunu ayarlayan input parametredir.
Kulak yüksekliği (KL_h) (cm)
Kenar ayak yan duvarı tepe noktası ile kulağın dış kısmının tabanı arasındaki boyutu ayarlayan input parametredir.
Kulak yüksekliği 2 (KL_h2) (cm)
Kulağın dış kısmının tabanı ile kulağın iç kısmının tabanı arasındaki boyutu ayarlayan input parametredir.
Verevlik açısı (s) (Derece)
Köprüler eksenel olarak iki grupta incelenmektedir. Bunlar:
1) Dik köprü: Köprü ekseni ile nehir veya yol ekseni birbirini dik kesiyorsa bu köprülere dik köprüler denir. ( s=0° )
2) Verev köprü: Köprü ekseni nehir veya yol eksenini eğik olarak kesiyorsa bu köprülere verev köprü denir. Verev köprüler ikiye ayrılır:
a) Sağa verev köprüler: Yol ekseni üzerinde durup yüzümüzü köprüye çevirdiğimiz zaman tabliyenin sağ ana kirişi ilerde olan köprülere sağa verev köprü denir. ( s<0° )
b) Sola verev köprüler: Yol ekseni üzerinde durup yüzümüzü köprüye çevirdiğimiz zaman tabliyenin sol ana kirişi ilerde olan köprülere sola verev köprü denir. ( s>0° )
Kenar ayak objesindeki verevlik açısı da yukarıda belirtilen özellikleri oluşturmaya yarayan input parametredir. Verevlik açısı pozitif değerde ise sola verev köprü, negatif değerde ise sağa verev köprü durumundadır.
Sol ricat duvar açısı (LeftAngle) (Derece)
Kenar ayak ön duvarının sol yan duvarı ile yaptığı açıyı ayarlayan input parametredir. Verilen açı değeri pozitif ise yan duvar yol güzergahına göre açılmakta, negatif ise kapanmaktadır.
Sağ ricat duvar açısı (RightAngle) (Derece)
Kenar ayak ön duvarının sağ yan duvarı ile yaptığı açıyı ayarlayan input parametredir. Verilen açı değeri pozitif ise yan duvar yol güzergahına göre açılmakta, negatif ise kapanmaktadır.
- Malzeme Özelliği (SubSecMat)
Malzeme özelliği input parametresi finite element hesabı yapılırken kullanılan sectiona atanan özelliklerdir.
Kenar ayakta oluşacak mesh miktarını belirlemeye yarayan input parametredir.
"runMesh" input parametresi kenar ayakta kodlanmış olan finite modelin görünüp görünmemesini sağlayan parametredir.
3D Geometri
<O N="Geometry" T="Group">
<O N="AngleCalculations" T="Group">
<O N="SideWallLeft" T="Group">
<P N="Gusepnt23_ext" V="online([Point23,Point24],-10000)" />
<P N="Point23_end" V="intersect([Point6_new,Point5_ext],[Point24,Gusepnt23_ext])" />
<P N="Point7_new" V="[Point4[0]-(YD_w_left)*cos(-LeftAngle)*Variable,Point4[1]-(YD_w_left)*sin(-LeftAngle)]" />
</O>
<O N="SideWallRight" T="Group">
<P N="Gussetpnt24_ext" V="online([Point24,Point23],-10000)" />
<P N="Point24_end" V="intersect([Point10_new,Point8_ext],[Point23,Gussetpnt24_ext])" />
<P N="Point9_new" V="[Point3[0]-(YD_w_right)*cos(RightAngle)*Variable,Point3[1]-(YD_w_right)*sin(RightAngle)]" />
</O>
<O N="WingWallLeft" T="Group">
<P N="Point11_new" V="[Point4[0]-(YD_w_left)*cos(-LeftAngle)*Variable+(YD_t-KL_t)*sin(-LeftAngle)*Variable,Point4[1]-(YD_w_left)*sin(-LeftAngle)-(YD_t-KL_t)*cos(-LeftAngle)]" />
<P N="Point12_new" V="[Point4[0]-(YD_w_left+KL_w)*cos(-LeftAngle)*Variable+(YD_t-KL_t)*sin(-LeftAngle)*Variable,Point4[1]-(YD_w_left+KL_w)*sin(-LeftAngle)-(YD_t-KL_t)*cos(-LeftAngle)]" />
<P N="Point13_new" V="[Point4[0]-(YD_w_left+KL_w)*cos(-LeftAngle)*Variable,Point4[1]-(YD_w_left+KL_w)*sin(-LeftAngle)]" />
</O>
<O N="WingWallRight" T="Group">
<P N="Point14_new" V="[Point3[0]-(YD_w_right)*cos(RightAngle)*Variable-(KL_t)*sin(RightAngle)*Variable,Point3[1]-(YD_w_right)*sin(RightAngle)+(KL_t)*cos(RightAngle)]" />
<P N="Point15_new" V="[Point3[0]-(YD_w_right+KL_w)*cos(RightAngle)*Variable,Point3[1]-(YD_w_right+KL_w)*sin(RightAngle)]" />
<P N="Point16_new" V="[Point3[0]-(YD_w_right+KL_w)*cos(RightAngle)*Variable-(KL_t)*sin(RightAngle)*Variable,Point3[1]-(YD_w_right+KL_w)*sin(RightAngle)+(KL_t)*cos(RightAngle)]" />
</O>
<O N="Gusset" T="Group">
<P N="Point24_new" V="[Point8[0]-(G_t)*cos(RightAngle)*Variable,Point8[1]-(G_t)*sin(RightAngle)]" />
<P N="Point23_new" V="[Point5[0]-(G_t)*cos(-LeftAngle)*Variable,Point5[1]-(G_t)*sin(-LeftAngle)]" />
</O>
<O N="GeometryPoints" T="Group">
<P N="Point6" V="[Point5[0]-YD_w_left*Variable,Point5[1]]" />
<P N="Point10" V="[Point8[0]-YD_w_right*Variable,Point8[1]]" />
<P N="Point11" V="[Point7[0]+(KL_t*tan(sRad))*Variable,Point7[1]-KL_t]" />
<P N="Point12" V="[Point11[0]-(KL_w)*Variable,Point11[1]]" />
<P N="Point13" V="[Point7[0]-(KL_w)*Variable,Point7[1]]" />
<P N="Point14" V="[Point9[0]-(KL_t*tan(sRad))*Variable,Point9[1]+KL_t]" />
<P N="Point15" V="[Point9[0]-(KL_w)*Variable,Point9[1]]" />
<P N="Point16" V="[Point14[0]-(KL_w)*Variable,Point14[1]]" />
</O>
</O>
<O N="FrontWall" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Surface">
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="-AD_h" />
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="-AD_h" />
</O>
<O T="Surface">
<O T="Point" X="Point1[0]" Y="Point1[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point2[0]" Y="Point2[1]" Z="LocZ " AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point2[0]" Y="Point2[1]" Z="-AD_h" />
<O T="Point" X="Point1[0]" Y="Point1[1]" Z="-AD_h" />
</O>
</O>
<O N="EavesWall" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Alin duvarinin dusey kurp durumunda kaybettiği değerler burada delta altında hesaplanmıştır.
Değer isimlerinin farklı olması her nokta için farklı hesap yapılmasındandır.-->
<P N="AD_Delvz1" V="alignV(Alignment_.YolAliynmani,Point17[0]+LocX,Point17[1]+LocY)" />
<P N="AD_Delvz2" V="alignV(Alignment_.YolAliynmani,Point4[0]+LocX,Point4[1]+LocY)" />
<P N="AD_Delvz" V="-AD_Delvz1+AD_Delvz2" />
<P N="AD_Delvz3" V="alignV(Alignment_.YolAliynmani,Point18[0]+LocX,Point18[1]+LocY)" />
<P N="AD_Delvz4" V="alignV(Alignment_.YolAliynmani,Point3[0]+LocX,Point3[1]+LocY)" />
<P N="AD_Delvz5" V="-AD_Delvz3+AD_Delvz4" />
<P N="AD_Delvz6" V="alignV(Alignment_.YolAliynmani,Point17[0]+LocX,Point17[1]+LocY)" />
<P N="AD_Delvz7" V="alignV(Alignment_.YolAliynmani,StartRefline[0],StartRefline[1])" />
<P N="AD_Delvz8" V="-AD_Delvz6+AD_Delvz7" />
</O>
<O T="Surface">
<O T="Point" X="Point17[0]" Y="Point17[1]" Z="-AD_h+AD_Delvz1+AD_Delvz8" AlignV="Fixed" />
<O T="Point" X="Point18[0]" Y="Point18[1]" Z="-AD_h+AD_Delvz3+AD_Delvz8" AlignV="Fixed" />
<O T="Point" X="Point18[0]" Y="Point18[1]" Z="0" />
<O T="Point" X="Point17[0]" Y="Point17[1]" Z="0" />
</O>
<O T="Surface">
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="-AD_h+AD_Delvz2-AD_Delvz+AD_Delvz8" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="-AD_h+AD_Delvz4-AD_Delvz5+AD_Delvz8" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="0" />
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="0" />
</O>
</O>
<O N="SideWallLeft" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Yan Duvarin transverse durumda kaybettiği değer hesaplanmıştır. -->
<P N="YDL_Delz1" V="alignT(Alignment_.YolAliynmani,Point4[0]+LocX,Point4[1]+LocY)" />
<P N="YDL_Delz2" V="alignT(Alignment_.YolAliynmani,Point5[0]+LocX,Point5[1]+LocY)" />
<P N="YDL_Delz" V="-YDL_Delz1+YDL_Delz2" />
</O>
<P N="Opacity" V="1" />
<O T="Surface">
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point5_end[0]" Y="Point5_end[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point5_end[0]" Y="Point5_end[1]" Z="-YDL_Delz" AlignTB="0" />
<O T="Point" X="Point4[0]" Y="Point4[1]" Z="0" AlignTB="0" />
</O>
<O T="Surface">
<O T="Point" X="Point7_new[0]" Y="Point7_new[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point6_new[0]" Y="Point6_new[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point6_new[0]" Y="Point6_new[1]" Z="-YDL_Delz" AlignTB="0" />
<O T="Point" X="Point7_new[0]" Y="Point7_new[1]" Z="0" AlignTB="0" />
</O>
</O>
<O N="SideWallRight" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Yan Duvarin transverse durumda kaybettiği değer hesaplanmıştır. -->
<P N="YDR_Delz1" V="alignT(Alignment_.YolAliynmani,Point8[0]+LocX,Point8[1]+LocY)" />
<P N="YDR_Delz2" V="alignT(Alignment_.YolAliynmani,Point3[0]+LocX,Point3[1]+LocY)" />
<P N="YDR_Delz" V="-YDR_Delz1+YDR_Delz2" />
</O>
<P N="Opacity" V="1" />
<O T="Surface">
<O T="Point" X="Point8_end[0]" Y="Point8_end[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point3[0]" Y="Point3[1]" Z="0" AlignTB="0" />
<O T="Point" X="Point8_end[0]" Y="Point8_end[1]" Z="YDR_Delz" AlignTB="0" />
</O>
<O T="Surface">
<O T="Point" X="Point10_new[0]" Y="Point10_new[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point9_new[0]" Y="Point9_new[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Point9_new[0]" Y="Point9_new[1]" Z="0" AlignTB="0" />
<O T="Point" X="Point10_new[0]" Y="Point10_new[1]" Z="YDR_Delz" AlignTB="0" />
</O>
</O>
<O N="WingWallLeft" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Kulak bölgesinin transverse durumda kaybettiği değer hesaplanmıştır. -->
<P N="KL_Delz1" V="alignT(Alignment_.YolAliynmani,Point7[0]+LocX,Point7[1]+LocY)" />
<P N="KL_Delz2" V="alignT(Alignment_.YolAliynmani,Point11[0]+LocX,Point11[1]+LocY)" />
<P N="KL_Delz" V="-KL_Delz1+KL_Delz2" />
</O>
<O T="Group">
<!-- Kulak bölgesinin dusey kurp durumunda kaybettiği değerler burada delta altında hesaplanmıştır.
Değer isimlerinin farklı olması her nokta için farklı hesap yapılmasındandır.-->
<P N="KL_DelVz1" V="alignV(Alignment_.YolAliynmani,Point7[0]+LocX,Point7[1]+LocY)" />
<P N="KL_DelVz2" V="alignV(Alignment_.YolAliynmani,Point13[0]+LocX,Point13[1]+LocY)" />
<P N="KL_DelVz" V="(-KL_DelVz1+KL_DelVz2)*Variable" />
<P N="KL_DelVz3" V="alignV(Alignment_.YolAliynmani,Point11[0]+LocX,Point11[1]+LocY)" />
<P N="KL_DelVz4" V="alignV(Alignment_.YolAliynmani,Point12[0]+LocX,Point12[1]+LocY)" />
<P N="KL_DelVz5" V="(-KL_DelVz3+KL_DelVz4)*Variable" />
</O>
<O T="Surface">
<O T="Point" X="Point7_new[0]" Y="Point7_new[1]" Z="-KL_h-KL_h2" AlignTB="0" />
<O T="Point" X="Point11_new[0]" Y="Point11_new[1]" Z="-KL_h-KL_h2-KL_Delz" AlignTB="0" />
<O T="Point" X="Point11_new[0]" Y="Point11_new[1]" Z="-KL_Delz" AlignTB="0" />
<O T="Point" X="Point7_new[0]" Y="Point7_new[1]" Z="0" AlignTB="0" />
</O>
<O T="Surface">
<O T="Point" X="Point13_new[0]" Y="Point13_new[1]" Z="-KL_h-KL_DelVz" AlignTB="0" />
<O T="Point" X="Point12_new[0]" Y="Point12_new[1]" Z="-KL_h-KL_Delz-KL_DelVz5" AlignTB="0" />
<O T="Point" X="Point12_new[0]" Y="Point12_new[1]" Z="-KL_Delz" AlignTB="0" />
<O T="Point" X="Point13_new[0]" Y="Point13_new[1]" Z="0" AlignTB="0" />
</O>
</O>
<O N="WingWallRight" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Kulak bölgesinin transverse durumda kaybettiği değer hesaplanmıştır. -->
<P N="KR_Delz1" V="alignT(Alignment_.YolAliynmani,Point9[0]+LocX,Point9[1]+LocY)" />
<P N="KR_Delz2" V="alignT(Alignment_.YolAliynmani,Point14[0]+LocX,Point14[1]+LocY)" />
<P N="KR_Delz" V="-KR_Delz1+KR_Delz2" />
</O>
<O T="Group">
<!-- Kulak bölgesinin dusey kurp durumunda kaybettiği değerler burada delta altında hesaplanmıştır.
Değer isimlerinin farklı olması her nokta için farklı hesap yapılmasındandır.-->
<P N="KR_DelVz1" V="alignV(Alignment_.YolAliynmani,Point14[0]+LocX,Point14[1]+LocY)" />
<P N="KR_DelVz2" V="alignV(Alignment_.YolAliynmani,Point16[0]+LocX,Point16[1]+LocY)" />
<P N="KR_DelVz" V="(-KR_DelVz1+KR_DelVz2)*Variable" />
<P N="KR_DelVz3" V="alignV(Alignment_.YolAliynmani,Point9[0]+LocX,Point9[1]+LocY)" />
<P N="KR_DelVz4" V="alignV(Alignment_.YolAliynmani,Point15[0]+LocX,Point15[1]+LocY)" />
<P N="KR_DelVz5" V="(-KR_DelVz3+KR_DelVz4)*Variable" />
</O>
<O T="Surface">
<O T="Point" X="Point14_new[0]" Y="Point14_new[1]" Z="-KL_h-KL_h2-KR_Delz" AlignTB="0" />
<O T="Point" X="Point9_new[0]" Y="Point9_new[1]" Z="-KL_h-KL_h2" AlignTB="0" />
<O T="Point" X="Point9_new[0]" Y="Point9_new[1]" Z="0" AlignTB="0" />
<O T="Point" X="Point14_new[0]" Y="Point14_new[1]" Z="-KR_Delz" AlignTB="0" />
</O>
<O T="Surface">
<O T="Point" X="Point16_new[0]" Y="Point16_new[1]" Z="-KL_h-KR_Delz-KR_DelVz" AlignTB="0" />
<O T="Point" X="Point15_new[0]" Y="Point15_new[1]" Z="-KL_h-KR_DelVz5" AlignTB="0" />
<O T="Point" X="Point15_new[0]" Y="Point15_new[1]" Z="0" AlignTB="0" />
<O T="Point" X="Point16_new[0]" Y="Point16_new[1]" Z="-KR_Delz" AlignTB="0" />
</O>
</O>
<O N="Gusset" T="Volume" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O T="Group">
<!-- Guse bölgesinin dusey kurp durumunda kaybettiği değerler burada delta altında hesaplanmıştır.
Değer isimlerinin farklı olması her nokta için farklı hesap yapılmasındandır.-->
<P N="G_DelVz1" V="alignV(Alignment_.YolAliynmani,Point5[0]+LocX,Point5[1]+LocY)" />
<P N="G_DelVz2" V="alignV(Alignment_.YolAliynmani,Point23[0]+LocX,Point23[1]+LocY)" />
<P N="G_DelVz" V="-G_DelVz1+G_DelVz2" />
<P N="G_DelVz3" V="alignV(Alignment_.YolAliynmani,Point8[0]+LocX,Point8[1]+LocY)" />
<P N="G_DelVz4" V="alignV(Alignment_.YolAliynmani,Point24[0]+LocX,Point24[1]+LocY)" />
<P N="G_DelVz5" V="-G_DelVz3+G_DelVz4" />
</O>
<O T="Surface" Z="-AD_h">
<O T="Point" X="Point5_end[0]" Y="Point5_end[1]" Z="-G_h+iif(G_Delz.LT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point8_end[0]" Y="Point8_end[1]" Z="-G_h-iif(G_Delz.GT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point8_end[0]" Y="Point8_end[1]" Z="-iif(G_Delz.GT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point5_end[0]" Y="Point5_end[1]" Z="iif(G_Delz.LT.0,G_Delz,0)" AlignTB="0" />
</O>
<O T="Surface" Z="-AD_h">
<O T="Point" X="Point23_end[0]" Y="Point23_end[1]" Z="-G_h/2-G_DelVz+iif(G_Delz.LT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point24_end[0]" Y="Point24_end[1]" Z="-G_h/2-G_DelVz5-iif(G_Delz.GT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point24_end[0]" Y="Point24_end[1]" Z="-G_DelVz5-iif(G_Delz.GT.0,G_Delz,0)" AlignTB="0" />
<O T="Point" X="Point23_end[0]" Y="Point23_end[1]" Z="-G_DelVz+iif(G_Delz.LT.0,G_Delz,0)" AlignTB="0" />
</O>
</O>
</O>
Kenar ayak objesi oluşturulurken, detaylı bir obje olmasından ötürü geometrik nokta hesaplarının düzgün yapılabilmesi adına her bir koordinat "point" olarak sisteme işlenmiştir. Aşağıda kenar ayak üzerinde hangi "point" in hangi noktayı ifade ettiği gösterilmiştir. Bu doğrultuda:
1) Ön Duvar Koordinatları: (Point 1, Point 2, Point 3, Point 4)
2) Alın Duvarı Koordinatları: (Point 3, Point 4, Point 17, Point 18)
3) Sol Ricat Duvar Koordinatları: (Point 4, Point 5 End, Point 6 New, Point 7 New)
4) Sağ Ricat Duvar Koordinatları: (Point 3, Point 8 End, Point 9 New, Point 10 New)
5) Sol Kulak Koordinatları: (Point 7 New, Point 11 New, Point 12 New, Point 13 New)
6) Sağ Kulak Koordinatları: (Point 9 New, Point 14 New, Point 15 New, Point 16 New)
7) Guse Koordinatları: (Point 5 End, Point 8 End, Point 23 End, Point 24 End)
Kenar ayak "Geometry" kod segmenti detaylı incelendiğinde bazı "point"lerin isimlerinde "new", "ext" ve "end" ibareleri görülmektedir. Bu isimler kenar ayak sol ve sağ ricat duvarlarının açı aldığında ölçü kaybı olmadan doğru bir şekilde geometrinin oluşması için hesaplanmıştır. Aşağıda kenar ayak plan görüntüsünde "point"lerin hangi koordinatların karşılığı olduğu görülmektedir.
Kenar ayakta yan duvarların açı alması durumundaki hesaplar şu şekilde yapılmıştır; öncelikle sonunda "new" ibaresi bulunan "point"ler, sağ ve sol ricat duvarlarının köşe koordinatı olan point 3 ve point 4 etrafında ölçü kaybı olmadan dönmesi için yapılan işlemler sonucu oluşan "point"lerdir. Bu "point"lerin oluşması için 2 boyutlu döndürme (2D Rotation) işlemi uygulanmıştır. Bu işlem bilgisayar grafiklerinde şekil değiştirme işlemlerinden birisidir. Bu işlemin amacı bir şekli mevcut konumunu ve şekli bozulmadan bir eksen etrafında döndürmektir. Bu işlem merkez etrafında ya da herhangi bir nokta etrafında yapılabilir. Aşağıda merkez etrafında yapılan döndürme işleminin formülü verilmiştir.
Kenar ayakta "point" hesaplarken bir nokta etrafında döndürme işlemi yaptığımız için aşağıda hesaplama yöntemlerinin nasıl yapıldığı anlatılmıştır. Bu doğrultuda yeni "point"lerin x koordinatları x' olarak, y koordinatları y' hesaplanmıştır. Kod detaylı bir şekilde incelendiğinde karmaşık görünebilir; ancak burada yapılan işlem, aşağıda verilen formüle dayanan basit bir matematiksel hesaptan ibarettir. Örneğin Point 7 new incelendiğinde,
<P N="Point7_new" V="[Point4[0]-(YD_w_left)*cos(-LeftAngle)*Variable,Point4[1]-(YD_w_left)*sin(-LeftAngle)]" />
Point 4 ile aynı Y koordinatında bulunduğundan hesaplamalar X koordinatı doğrultusundaki ölçü farkı olan "YD_w_ left" ile yapıldı. Yeni X koordinatı için , Point 4 ile Point 7 arasındaki X kooordinatı farkının, sol ricat duvarı üzerinde bulunduğu için ilgili açı değerinin cosinüsü ile çarpılıp yeni noktanın X koordinatı bulunmuş oldu. Y değeri de aynı değerin sinüs açısıyla çarpılıp hesaplanmıştır. "Variable" değeriyle çarpılmasının sebebi ise kenar ayak yönünün "İleri" ya da "Geri" olmasına, "point"lerin "Variable" parametresinin değerine göre karar vermesidir. "Variable" parametresi input bir değer olmayıp kenar ayak yönü seçildiğinde otomatik olarak değeri getiriyor.
"new" koordinatlarının hesaplanmasından sonra "point" etrafında dönen yan duvarlar ile ön duvar arasında bir boşluk oluşacaktır; buradaki mesafenin hesaplanması sonucunda da "ext" ibareli "point"ler bulunmuştur.
Bu "point"ler bulunurken, öncelikle online fonksiyonu kullanılarak (bkz. online(line,Uzaklık)) yan duvar kenar uzunluğu ve ön duvar uzunluğu ölçü olarak arttırıldı; yukarıdaki resimde görülen 1 ve 2 nolu doğru haline dönüştürüldü. Sonrasında bu iki doğrunun kesişim noktası intersect (bkz. intersect(Line1,Line2,Düzlem)) fonksiyonu ile hesaplandı. Bu hesaplamadan sonra kesişim noktası yan duvarın yeni köşe koordinatı oldu.
- Kenar ayak "Alignment" hesapları
Kenar ayak objesi farklı segmentlerden oluşan bir obje olduğu için (alın duvarı, ön duvar, yan duvarlar,...) kenar ayak objesinin "Alignment" hesaplamaları, her segment için ayrı ayrı olarak detaylı bir şekilde ele alınacak ve elde edilen davranışlar incelenecektir. "Alignment" ile ilgili genel bir bilgi olarak; eğer "Alignment" kodu "Volume" satırına eklendiğinde koda herhangi bir ek müdahale yapılmaz ise bütün "Volume" objesi ağırlık merkezinden "Alignment"a girer. Ancak herhangi bir nokta üzerinden objenin "Alignment"a girmesini istersek AlignX ve AlignY fonksiyonları sisteme eklenerek, AlignX değerine "Alignment"a girmesini istediğimiz koordinatın X koordinatını, AlignY değerine ise Y koordinatını yazarız. Kenar ayak objesi de aşağıda gösterilecek olan koda bakılacak olursa ön duvarın merkez noktası olan "LocX" ve "LocY" değerleri ile "Alignment"a sokulmuştur.
1) Ön duvar
Ön duvarın Alignment ile ilgili kodu yukarıda bulunan "Geometry" kodunda gösterilmiştir. Öncelikle Alignment parametresi içerisine objenin hangi Alignment üzerinde durması gerektiği belirtilmiştir. AlignX ve AlignY parametreleri de yukarıda bahsedildiği üzere "Alignment"a objenin o nokta merkez alınarak girmesi sağlanmıştır. AlignH değerinin "Orient" olması ön duvarı güzergahta istenilen noktaya taşıyacak ve yatay kurb durumuna göre dönerek Alignment rotasına kendini eşitleyecek kadar dönecektir. AlignV değerinin "None" olması objeyi sadece "Alignment"a sokması ve herhangi bir düşey kurb durumunda müdahale etmesi için yazılmıştır. Görevi düşey kurp durumunda ön duvar alt kotunun sabit kalıp, ön duvar üst kotunun "Alignment"a göre hareket etmesini; ayrıca, ön duvar üst yüzeyi ve alt yüzeyinin düşey kurb durumunda düz bir şekilde kalmasını sağlamaktır. AlignT değerinin "Warp" olma sebebi ise köprü enine yönde (transverse) "Alignment"a eğim verilirse ön duvarın yüzeyleri "transverse" yönde "Alignment" ile aynı davranışı sergilemesi içindir. Ön duvardan "transverse" yöndeki davranışsal beklenti, üst yüzeyin "transverse" yönde eğim alması; ancak aynı zamanda alt yüzeyin de düz kalmasıdır. Bu sebeple alt yüzey ile ilgili "point"lerin yanına AlignT= "Fixed" parametresi eklenmiştir.
2) Alın Duvarı
Alın duvarının "Alignment" ile ilgili kodu yukarıda bulunan "Geometry" kodunda gösterilmiştir. Öncelikle Alignment parametresi içerisine objenin hangi "Alignment" üzerinde durması gerektiği belirtilmiştir. AlignX ve AlignY parametreleri de yukarıda bahsedildiği üzere "Alignment"a objenin o nokta merkez alınarak girmesi sağlanmıştır. AlignH değerinin "Orient" olması, ön duvarı güzergahta istenilen noktaya taşıyacak ve yatay kurb durumuna göre dönerek "Alignment" rotasına kendi eşitleyecek kadar dönecektir. AlignV değerinin "Warp" olması, objeyi "Alignment"ın düşey kurbda görülen bütün davranışlarının alın duvarında görülmesini istemekten kaynaklıdır. Kodda görüldüğü üzere alın duvarı taban koordinatları AlignV= "Fixed" durumuna getirilmiştir. Sebebi düşey kurb durumunda alın duvarı taban koordinatlarının sabit olarak kalmasının istenmesidir. Bu doğrultuda "Fixed" yapılan koordinatlara delta hesapları eklenmiştir. "Fixed" olan koordinatlar düşey kurbdan kaynaklı oluşan Z yönündeki değişimden haberdar olmadığı için bu değerler fonksiyonlar ile kodda görüldüğü üzere hesaplanıp ilgili noktalara eklenmiştir (delta hesabından kasıt budur). AlignT değerinin "Warp" olma sebebi ise "transverse" yönde "Alignment"a eğim verilirse alın duvarın yüzeyleri "transverse" yönde "Alignment" ile aynı davranışı sergilemesi içindir. Alın duvarından "transverse" yöndeki davranışsal beklenti, üst ve alt yüzeyin "transverse" yönde eğim alması yönündedir.
3) Ricat Duvarlar
Ricat duvarlar da açıklanan siğer duvarlar gibi aynı şekilde "LocX" ve "LocY" noktalarından "Alignment"a girmiş ve kendi koordinatlarını ona göre revize etmiştir. Yatay kurb durumunda obje "Orient" davranış gösterecek, yani yan duvarları "Alignment"ta ilgili noktaya taşıyacak ve yatay kurba göre dönecektir. Bunun haricinde ricat duvarlar, açı input parametreleri ile sağa sola hareket sağlayabildiğinden gerektiğinde yatay kurba göre ayarlayabilir. Düsey kurb ve "transverse" eğim karşısında her iki ricat duvar da aynı davranışı sergilemektedir. Taban koordinatları AlignT ve AlignV "Fixed" olarak ayarlanmış olup ön duvarda anlatıldığı üzere ön duvarla birlikte davranış sergilemektedir. "Alignment" "Warp" durumda olduğundan kaybedilen kot miktarı "Alignment" fonksiyonları ile hesaplanmış olup koordinatların Z koordinatına eklenmiştir. Tavan koordinatları "Fixed" yapılmamıştır, çünkü davranışsal olarak "Alignment" ile birlikte hareket etmesi istenmektedir. Ancak tavan kısmının düz olması istendiği için tavan koordinatlarına delta hesabı ile gereken değerler hesaplanmış ve eklenmiştir. Düz durumda olduğunu koda bildirmek amacıyla AlignTB= "0" koda eklenmiştir.
4) Kulaklar
Kulak kısımları yan duvarlarla birlikte hareket etmektedir. Dolayısı ile yan duvarlarda olduğu gibi AlignH= "Orient" , AlignV= "Warp" ve AlignT= "Warp" durumdadır. Kulakların alt ve üst yüzeyleri düz durumdadır, bu koordinat ayarlamaları AlignTB= "0" ve delta hesapları ile yapılmıştır.
5) Guse
Guse objesi yaklaşım plağının üstüne oturduğu bir kenar ayak parçasıdır. Dolayısı ile hem düşey kurbda hem de "transverse" yönde eğim durumunda düz olmak durumundadır. "Alignment" hesapları bu doğrultuda yapılmıştır. "Transverse" yönde düzlük delta hesapları ve AlignTB ile sağlanmıştır. Düşey kurpta düz olma durumu da delta hesapları ile sağlanmıştır.
"Alignment" hesabında kullanılan fonksiyonların detaylı bilgisi için bkz.Alignment Fonksiyonları
Finite Element Model
<O N="FiniteElement" T="Group">
<P N="Guard" V="runMesh.EQ.1" />
<O N="FinitePoints" T="Group">
<P N="FEPoint1" V="online([FEPoint3,FEPoint5],-(OD_t/2)/cos(-LeftAngle))" />
<P N="FEPoint2" V="online([FEPoint4,FEPoint6],-(OD_t/2)/cos(RightAngle))" />
<P N="FEPoint3" V="onliner([Point4,Point5_end],0.5)" />
<P N="FEPoint4" V="onliner([Point8_end,Point3],0.5)" />
<P N="FEPoint5" V="onliner([Point7_new,Point6_new],0.5)" />
<P N="FEPoint6" V="onliner([Point9_new,Point10_new],0.5)" />
<P N="FEPoint7" V="online([FEPoint5,FEPoint3],-KL_w)" />
<P N="FEPoint8" V="online([FEPoint6,FEPoint4],-KL_w)" />
</O>
<O N="SkewCoordinateCalculations" T="Group">
<P N="MidPt14" V="onliner([Point1,Point4],0.5)" />
<P N="MidPt23" V="onliner([Point2,Point3],0.5)" />
<P N="LinePt1423" V="[MidPt14,MidPt23]" />
<P N="MidPt45" V="onliner([Point4,Point5_end],0.5)" />
<P N="MidPt76" V="onliner([Point6_new,Point7_new],0.5)" />
<P N="OnlinePt4576" V="online([MidPt45,MidPt76],-10000)" />
<P N="LinePt4576" V="[MidPt76,OnlinePt4576]" />
<P N="Intsect_Pnt_Left" V="intersect(LinePt1423,LinePt4576)" />
<P N="MidPt83" V="onliner([Point3,Point8_end],0.5)" />
<P N="MidPt109" V="onliner([Point10_new,Point9_new],0.5)" />
<P N="OnlinePt83109" V="online([MidPt83,MidPt109],-10000)" />
<P N="LinePt83109" V="[MidPt109,OnlinePt83109]" />
<P N="Intsect_Pnt_Right" V="intersect(LinePt1423,LinePt83109)" />
</O>
<P N="mTol" V="1" />
<O N="FrontWall_AND_Support" T="Group">
<P N="Guard" V="length(InfrastructureBearings) .GT. 0 " />
<P N="SupportCoordinates" V="map( InfrastructureBearings, x.ElastomerPozisyonu)" />
<P N="SupportOrderedList" V="sort(SupportCoordinates, x[1])" />
<!-- SupportOrderedList[i][1] degerini cekip skew degerine gore X degeri hesaplanmali
SupportOrderedList[i][1] degerini cekip -AD_h+FE_ZoffsetLeft ile -AD_h+FE_ZoffsetRight degerine gore
linear interpolation yapilip Z degeri hesaplanmali
-->
<O N="Loop1" T="Repeat" S="0" E="length(SupportOrderedList)-1" I="1" CTRL="i" i="0">
<P N="revisemeslist" V="[LocX+Point4[0]-OD_t/2,SupportOrderedList[i][1],-AD_h+FE_ZoffsetLeft]" />
</O>
<P N="Last_revise" V="map( Loop1, x.revisemeslist)" />
<P N="Last_revise_list" V="[Last_revise]" />
<O N="FE_Frontwall1" T="FEMesh" CX="MeshSize" CY="MeshSize" ConstraintPts="Last_revise_list" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="OD_t" LocalZOffset="0">
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="-AD_h+FE_ZoffsetRight" />
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="-AD_h+FE_ZoffsetLeft" />
</O>
</O>
</O>
<O N="FrontWall_Not_Support" T="Group">
<P N="Guard" V="length(InfrastructureBearings) .EQ. 0 " />
<O N="FE_Frontwall" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="OD_t" LocalZOffset="0">
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="-AD_h+FE_ZoffsetRight" />
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="-AD_h+FE_ZoffsetLeft" />
</O>
</O>
</O>
<O N="FE_EavesWall" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="AD_t" LocalZOffset="0">
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="-AD_h+FE_ZoffsetLeft" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="-AD_h+FE_ZoffsetRight" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="FE_ZoffsetRight" />
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="FE_ZoffsetLeft" />
</O>
</O>
<O N="FE_SideWallLeft" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="YD_t" LocalZOffset="0">
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="FEPoint5[0]" Y="FEPoint5[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="FEPoint5[0]" Y="FEPoint5[1]" Z="FE_ZoffsetLeft" />
<O T="Point" X="Intsect_Pnt_Left[0]" Y="Intsect_Pnt_Left[1]" Z="FE_ZoffsetLeft" />
</O>
</O>
<O N="FE_WingWallLeft" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="KL_t" LocalZOffset="0" Z="FE_ZoffsetLeft">
<O T="Point" X="FEPoint5[0]" Y="FEPoint5[1]" Z="-KL_h-KL_h2" />
<O T="Point" X="FEPoint7[0]" Y="FEPoint7[1]" Z="-KL_h" />
<O T="Point" X="FEPoint7[0]" Y="FEPoint7[1]" Z="0" />
<O T="Point" X="FEPoint5[0]" Y="FEPoint5[1]" Z="0" />
</O>
</O>
<O N="FE_SideWallRight" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="YD_t" LocalZOffset="0">
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="FEPoint6[0]" Y="FEPoint6[1]" Z="LocZ" AlignT="Fixed" AlignV="Fixed" />
<O T="Point" X="FEPoint6[0]" Y="FEPoint6[1]" Z="FE_ZoffsetRight" />
<O T="Point" X="Intsect_Pnt_Right[0]" Y="Intsect_Pnt_Right[1]" Z="FE_ZoffsetRight" />
</O>
</O>
<O N="FE_WingWallRight" T="FEMesh" CX="MeshSize" CY="MeshSize" X="LocX" Y="LocY" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="None" AlignT="None" AlignX="LocX" AlignY="LocY">
<P N="Material" V="SubSecMat" T="Material" />
<O T="Surface" Thickness="KL_t" LocalZOffset="0" Z="FE_ZoffsetRight">
<O T="Point" X="FEPoint6[0]" Y="FEPoint6[1]" Z="-KL_h-KL_h2" />
<O T="Point" X="FEPoint8[0]" Y="FEPoint8[1]" Z="-KL_h" />
<O T="Point" X="FEPoint8[0]" Y="FEPoint8[1]" Z="0" />
<O T="Point" X="FEPoint6[0]" Y="FEPoint6[1]" Z="0" />
</O>
</O>
</O>
- Finite Element Koordinatları
Bu kısımda kenar ayak sonlu elemanlar ("finite") modelinde yapılan koordinat hesapları detaylı bir şekilde açıklanacaktır.
Öncelikle "FinitePoints" grubunda bulunan koordinatlar daha önce açıklaması yapılan kenar ayak noktalarının kullanılması ile oluşan yeni koordinatlardır. Bu koordinatlar finite element modelde oluşan "node"ların kenar ayak duvarlarının ortasından geçmesi gerektiği için hesaplanmıştır. Bu hesaplarda onliner fonksiyonu kullanılarak (bkz. onliner(line,GöreceliUzaklık)) yapılanlar duvarın orta noktasını belirlemek amaçlıdır. online fonksiyonu kullanılanlardan (bkz. online(line,Uzaklık)) FEPoint1 ve FEPoint2 koordinatları yan duvarlar açı aldığında "node"lar hala yan duvar ortasında oluşabilsin diye yapılmış hesaplamalardır. FEPoint7 ve FEPoint8 ise kulak kısımları yan duvar kalınlıkları ile aynı ölçülerde olmadığı için ayarlama yapmak için hesaplanan koordinatlardır.
"SkewCoordinateCalculations" grubundaki hesaplamalar ise kenar ayak verev haline dönerse ölçü kaybı olmadan ön duvar "node"larını doğru yerde gösterebilmek için yapılmış koordinat hesaplarıdır. Yapılan hesaplardan bahsetmek gerekirse, ön duvarın köşe noktalarının orta noktaları bulundu (MidPt isimli hesaplamalar). Sonrasında karşılıklı olan koordinatlardan "line" elde edildi (LinePt isimli hesaplamalar). Sonrasında online fonksiyonu ile (bkz. online(line,Uzaklık)) bu linelar uzatıldı (OnlinePt isimli hesaplamalar) ve intersect fonksiyonu ile (bkz. intersect(Line1,Line2,Düzlem)) ön duvarın sağ ve sol kenarlarında kesişim koordinatları bulundu (Intsect_Pnt hesaplamaları).
Kenar ayağın finite modeli T= "FeMesh" ile ayarlanmıştır. CX ve CY parametreleri, "MeshSize" input parametresine girilen değer miktarında X ve Y yönünde "plate" (plak) elemanlar oluşturmaktadır. Verilen X ve Y değeri ise kenar ayak lokasyonu muhtemel değişimi durumunda finite modelin de obje ile beraber hareket etmesi içindir.
NOT : Kenar ayak ön duvarı finite kodunda iki adet ön duvar kodu görünmektedir. Sebebi kenar ayak üzerine elastomer mesnet geldiğinde mesnet ile kenar ayak arasındaki birleşimi düzgün bir şekilde yapma amaçlıdır. "Frontwall_not_support" adıyla görünen kod grubu ise mesnet hiç yokmuş gibi objeyi oluşturmaktadır. Kod elastomer mesnet olup olmamasını otomatik olarak algılayıp ilgili objelerden sadece birini açık tutmaktadır. Bunu "InfrastructureBearings" parametresi ile algılamaktadır. Bu parametre, kenar ayak sonrasında gelecek mesnet objesine referans vermektedir. Projeye elastomer mesnet geldiği andan itibaren mesnet bağlantılı kenar ayağı sisteme getirmektedir.
Finite modeli fonksiyonları detaylı bilgi için bkz.Sonlu Elemanlar Geometrisi
Export
<O T="Export">
<P N="G_h" V="600" D="Guse Yüksekliği" />
<P N="AD_h" V="Z1+Z2+Z3" />
<P N="OD_h" V="LocZ-AD_h" D="Ön Duvar Yüksekliği" />
<P N="InfrastructureBearings" V="refs('KBYS_ElastomerMesnet')" T="KBYS_ElastomerMesnet" D="Bu objeye referans veren tum mesnetler" />
<P N="HeightCalcBearing" V="InfrastructureBearings[0]" />
<P N="Z1" V="iif(HeightCalcBearing.EQ.NULL,220,(HeightCalcBearing.BearingsThickness))" />
<P N="BearingsBeams" V="refs('KBYS_OngerilmeliIKiris')" T="KBYS_OngerilmeliIKiris" D="Bu objeye referans veren tum kirisler" />
<P N="HeightCalcBeam" V="iif( HeightCalcBearing .EQ. NULL , NULL , HeightCalcBearing.BearingsBeams[0])" />
<P N="Z2" V="iif(HeightCalcBeam.EQ.NULL,650,HeightCalcBeam.K_HBeams) " />
<P N="BeamsSlab" V="refs('KBYS_Doseme')" T="KBYS_Doseme" D="Bu objeye referans veren tum dosemeler" />
<P N="HeightCalcSlab" V="iif( HeightCalcBeam .EQ. NULL , NULL , HeightCalcBeam.BeamsSlab[0])" />
<P N="Z3" V="iif(HeightCalcSlab.EQ.NULL,30,HeightCalcSlab.SlabThickness)" />
<P N="SubStructureType" V="1" />
<O N="CriticalPoints" T="Group">
<P N="Point1" V="[(-OD_w/2*tan(sRad)+(OD_t/2-AD_t/2)/cos(sRad))*Variable,OD_w/2]" />
<P N="Point2" V="[(OD_w/2*tan(sRad)+(OD_t/2-AD_t/2)/cos(sRad))*Variable,-OD_w/2]" />
<P N="Point3" V="[(OD_w/2*tan(sRad)-(OD_t/2+AD_t/2)/cos(sRad))*Variable,Point2[1]]" />
<P N="Point4" V="[(-OD_w/2*tan(sRad)-(OD_t/2+AD_t/2)/cos(sRad))*Variable,Point1[1]]" />
<P N="Point5" V="[Point4[0]+(YD_t*tan(sRad))*Variable,Point1[1]-YD_t]" />
<P N="Point8" V="[Point3[0]-(YD_t*tan(sRad))*Variable,Point2[1]+YD_t]" />
<P N="Point17" V="[Point4[0]+(AD_t/cos(sRad))*Variable,Point4[1]]" />
<P N="Point18" V="[Point3[0]+(AD_t/cos(sRad))*Variable,Point3[1]]" />
<P N="Point23" V="[Point5[0]-(G_t/cos(sRad))*Variable,Point5[1]]" />
<P N="Point24" V="[Point8[0]-(G_t/cos(sRad))*Variable,Point8[1]]" />
<P N="Point26" V="onliner([Point1,Point17],0.5)" />
<P N="Point27" V="onliner([Point2,Point18],0.5)" />
<P N="Point28" V="onliner([Point5,Point23],0.5)" />
<P N="Point29" V="onliner([Point8,Point24],0.5)" />
<P N="Point5_ext" V="online([Point5_new,Point6_new],-10000)" />
<P N="Gussetpnt28_ext" V="online([Point28,Point29],-10000)" />
<P N="Point28_end" V="intersect([Point6_new,Point5_ext],[Point29,Gussetpnt28_ext])" />
<P N="Point5_new" V="[Point4[0]+(YD_t)*sin(-LeftAngle)*Variable,Point4[1]-(YD_t)*cos(-LeftAngle)]" />
<P N="Point6_new" V="[Point4[0]-(YD_w_left)*cos(-LeftAngle)*Variable+(YD_t)*sin(-LeftAngle)*Variable,Point4[1]-(YD_w_left)*sin(-LeftAngle)-(YD_t)*cos(-LeftAngle)]" />
<P N="Point8_ext" V="online([Point8_new,Point10_new],-10000)" />
<P N="Gussetpnt29_ext" V="online([Point29,Point28],-10000)" />
<P N="Point29_end" V="intersect([Point10_new,Point8_ext],[Point28,Gussetpnt29_ext])" />
<P N="Point8_new" V="[Point3[0]-(YD_t)*sin(RightAngle)*Variable,Point3[1]+(YD_t)*cos(RightAngle)]" />
<P N="Point10_new" V="[Point3[0]-(YD_w_right)*cos(RightAngle)*Variable-(YD_t)*sin(RightAngle)*Variable,Point3[1]-(YD_w_right)*sin(RightAngle)+(YD_t)*cos(RightAngle)]" />
<!-- Aşağıdaki 4 koordinat yaklaşım plağının kenarayak açı aldığında,yapılan koordinat hesaplarında kullanıldığı için exportlanmıştır. -->
<P N="Gussetpnt5_ext" V="online([Point5,Point8],-10000)" />
<P N="Point5_end" V="intersect([Point6_new,Point5_ext],[Point8,Gussetpnt5_ext])" />
<P N="Gussetpnt8_ext" V="online([Point8,Point5],-10000)" />
<P N="Point8_end" V="intersect([Point10_new,Point8_ext],[Point5,Gussetpnt8_ext])" />
<P N="sRad" V="s*Variable/180*PI" />
<P N="G_t" V="300" D="Guse Kalınlığı" />
<P N="Variable" V="iif(Direction.EQ.1,1,-1)" />
<!-- Point7 ve Point9 kazıklı temel için exportlandı. -->
<P N="Point7" V="[Point4[0]-(YD_w_left)*Variable,Point1[1]]" />
<P N="Point9" V="[Point3[0]-(YD_w_right)*Variable,Point2[1]]" />
</O>
<P N="CantileverLength" V="OD_t-AD_t" />
<P N="Refline3Coordinates" V="[Point28_end,Point29_end]" />
<P N="ReflineCoordinates" V="[Point26,Point27]" />
<P N="StartRefline" V="toglobal(refline)[0]" />
<P N="EndRefline" V="toglobal(refline)[1]" />
<P N="StartRefline3" V="toglobal(refline3)[0]" />
<P N="EndRefline3" V="toglobal(refline3)[1]" />
<P N="G_Delz1" V="alignT(Alignment_.YolAliynmani,Point5[0]+LocX,Point5[1]+LocY)" />
<P N="G_Delz2" V="alignT(Alignment_.YolAliynmani,Point8[0]+LocX,Point8[1]+LocY)" />
<P N="G_Delz" V="-G_Delz1+G_Delz2" />
<P N="FE_ZoffsetLeft" V="alignT(Alignment_.YolAliynmani,Point4[0]+LocX,Point4[1]+LocY)" />
<P N="FE_ZoffsetRight" V="alignT(Alignment_.YolAliynmani,Point3[0]+LocX,Point3[1]+LocY)" />
<O N="refline" T="Volume" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O N="PT1" T="Point" X="LocX+ReflineCoordinates[0][0]" Y="LocY+ReflineCoordinates[0][1]" Z="ReflineCoordinates[0][2]-AD_h" />
<O N="PT2" T="Point" X="LocX+ReflineCoordinates[1][0]" Y="LocY+ReflineCoordinates[1][1]" Z="ReflineCoordinates[1][2]-AD_h" />
</O>
<O N="refline3" T="Volume" SegmentsAlong="1" SegmentsAround="1" Alignment="Alignment_.YolAliynmani" AlignH="Orient" AlignV="Warp" AlignT="Warp" AlignX="LocX" AlignY="LocY">
<O N="PT1" T="Point" X="LocX+Refline3Coordinates[0][0]" Y="LocY+Refline3Coordinates[0][1]" Z="Refline3Coordinates[0][2]-AD_h+iif(G_Delz.LT.0,G_Delz,0)" AlignTB="0" />
<O N="PT2" T="Point" X="LocX+Refline3Coordinates[1][0]" Y="LocY+Refline3Coordinates[1][1]" Z="Refline3Coordinates[1][2]-AD_h-iif(G_Delz.GT.0,G_Delz,0)" AlignTB="0" />
</O>
</O>
Bu kısımda kenar ayak içerisinde parametrelerin neden "export"landığı (dışa aktarıldığı) açılanacaktır. "Export" konusunda detaylı bilgi için bkz. Export Objesi
- "G_h" "parametresi kenar ayak ile alakalı yapılan cad çizimlerinde ihtiyaç duyulduğu için "export"lanmıştır.
- "AD_h" tan başlayıp "SubStructureType" a kadar olan parametrelerin tamamı akıllı köprü mantığını kurmak için "export"lanmıştır. Akıllı köprü mantığı, köprü projesi kurulurken kenar ayak alın duvarı tepe noktası tam olarak güzergaha değmektedir yani 0 noktasıdır. Köprülerimiz de tam olarak 0 noktasından yani güzergahtan kurulmaya başlanmaktadır. Alın duvarı yüksekliği ("AD_h") kodda belirtildiği üzere "Z1", "Z2" ve "Z3" ölçülerinin toplamına eşittir. "Z1" kenar ayak üzerine gelen mesnet ve mesnet kaidesinin toplam yüksekliğine referans vermektedir. "Z1" koduna bakıldığında projeye mesnet çağrıldığında mesnetle alakalı yükseklikleri alırken, mesnet olmadığı zaman "default" bir değer almıştır. "Z2", mesnet üzerine gelecek öngerilmeli I kirişin yüksekliğine referans vermektedir, "Z1" de olduğu gibi projede eğer kiriş yok ise "default" değer alarak hesaplamaya dahil olmaktadır. "Z3" ise kiriş üzerine gelecek döşemenin kalınlığına referans vermektedir. Kısaca özetlemek gerekirse alın duvarı yüksekliği; mesnet, mesnet kaidesi, kiriş ,döşeme yüksekliklerinin toplamına eşittir. 0 noktası belli, "AD_h" yüksekliği belirlendi, "LocZ" parametresi yani temel üst kotu input parametresi belirlendiğinde ön duvar yüksekliği ("OD_h") otomatik olarak bulunmuş oldu. Akıllı köprü mantığı ile mesnet, kiriş ve döşemenizi belirlediğinizde kenar ayak yüksekliği otomatik olarak kendini hesaplayacaktır.
- "SubStructureType" parametresi yüzeysel temel objesi için "export"lanmıştır. Yüzeysel temel objesi altına geleceği objenin kenar ayak mı kolon mu olduğunu bu parametreye göre algılamaktadır.
- "CriticalPoints" içinde "export"lanan "point"ler kenar ayak refline hesaplarında gereken "point"ler ve değer okuduğu diğer "point"ler ile beraber ilgili parametreleri içermektedir. "Gussetpnt5_ext" "point"i ile "Point8_end"dahil olmak üzere bu iki "point" arasında "export"lanan 4 "point" yaklaşım plağı açı aldığında yapılan koordinat hesaplarında gerekli olduğu için "export"lanmıştır. "Point7" ve "Point9" kazıklı temel hesaplarında kullanıldığı için "export"landı.
- "CantileverLength" parametresi deprem takozu objesinde hesaplamalarda kullanıldığı için "export"landı.
- toglobal fonksiyonu kullanılan parametreler, "Refline3Coordinates" ve "ReflineCoordinates" parametreleri kenar ayak sonrasında kenar ayak "refline"nından değer okuyacak objeler için "export"landı.
- "G_Del" ismi ile başlayan üç parametre 'refline3' objesinde kullanıldığı için "export"lanmıştır.
"FE_ZoffsetLeft" ve "FE_ZoffsetRight" parametreleri kenar ayak "transverse" yönünde eğim aldığında objelerin finite modelde ölçü kaybetmemesi için "export"lanmıştır.
- refline objesi , elastomer objesinin kenar ayak üzerine oturacağı ve doğru yerde oluşması için değer okuyacağı ön duvar üst kotudur. Bu sebeple "export"lanmıştır.
- refline3 objesi, yaklaşım plağı objesinin kenar ayak üzerine oturacağı ve değer okuyacağı guse duvarı üst kotudur. Bu sebeple "export"lanmıştır.
Export ile ilgili detaylı bilgi için bkz. Export Objesi
Private
Private objesi, bir objenin oluşması için değer okuması gereken herhangi bir obje ya da veri tabanı var ise, libraryde objeyi düzgün modellemek adına kod içerisinde çağırdığımız kısımdır. Detaylı bilgi için bkz. Private Objesi
Kenar ayak için gerekli private objeler :
- Güzergah (Alignment) objesi