پارامترهای منحنی عمودی را برای طراحی جاده و راهآهن محاسبه کنید. ارتفاعات، مقادیر K، نقاط بالا/پایین و موارد دیگر را برای منحنیهای قله و گود در پروژههای حمل و نقل پیدا کنید.
یک ماشین حساب قوس عمودی ابزاری ضروری در مهندسی عمران است که به مهندسان کمک میکند تا انتقالات نرم بین شیبهای مختلف جاده را طراحی کنند. قوسهای عمودی، قوسهای پارابولیک هستند که در طراحی جادهها و راهآهنها برای ایجاد تغییر تدریجی بین دو شیب یا گرادیان مختلف استفاده میشوند و شرایط رانندگی راحت و تخلیه مناسب را تضمین میکنند. این ماشین حساب محاسبات ریاضی پیچیدهای را که برای طراحی قوسهای عمودی لازم است، ساده میکند و به مهندسان عمران، طراحان جاده و حرفهایهای ساخت و ساز این امکان را میدهد که به سرعت پارامترهای کلیدی مانند ارتفاعات قوس، نقاط بالا و پایین و مقادیر K را تعیین کنند.
چه شما در حال طراحی یک بزرگراه، جاده محلی یا راهآهن باشید، قوسهای عمودی برای ایمنی، راحتی راننده و مدیریت مناسب آبهای باران حیاتی هستند. این ماشین حساب جامع هم قوسهای قله (جایی که جاده بالا میرود و سپس پایین میآید) و هم قوسهای فرورفتگی (جایی که جاده پایین میرود و سپس بالا میآید) را مدیریت میکند و تمام اطلاعات ضروری مورد نیاز برای طراحی صحیح تراز عمودی در پروژههای مهندسی حمل و نقل را فراهم میآورد.
قوس عمودی یک قوس پارابولیک است که در تراز عمودی جادهها، بزرگراهها، راهآهنها و سایر زیرساختهای حمل و نقل استفاده میشود. این قوس انتقالی نرم بین دو شیب یا گرادی مختلف فراهم میکند و تغییر ناگهانی را که اگر شیبها در یک نقطه ملاقات کنند، از بین میبرد. این انتقال نرم برای:
قوسهای عمودی معمولاً به شکل پارابولا هستند زیرا یک پارابولا نرخ تغییر ثابت در شیب را فراهم میکند و منجر به انتقال نرم میشود که نیروهای وارد بر وسیله نقلیه و مسافران را به حداقل میرساند.
دو نوع اصلی قوسهای عمودی که در مهندسی عمران استفاده میشوند عبارتند از:
قوسهای قله: این قوسها زمانی رخ میدهند که شیب اولیه بیشتر از شیب نهایی باشد (به عنوان مثال، از +3% به -2%). قوس شکل یک تپه یا نقطه بالایی را تشکیل میدهد. قوسهای قله عمدتاً بر اساس نیازهای فاصله دید توقف طراحی میشوند.
قوسهای فرورفتگی: این قوسها زمانی رخ میدهند که شیب اولیه کمتر از شیب نهایی باشد (به عنوان مثال، از -2% به +3%). قوس شکل یک دره یا نقطه پایینی را تشکیل میدهد. قوسهای فرورفتگی معمولاً بر اساس فاصله دید چراغهای جلو و ملاحظات تخلیه طراحی میشوند.
برای تعریف کامل یک قوس عمودی، چندین پارامتر کلیدی باید تعیین شوند:
ارتفاع در هر نقطهای در طول یک قوس عمودی میتواند با استفاده از معادله درجه دو محاسبه شود:
که در آن:
مقدار K معیاری از مسطح بودن قوس است و به صورت زیر محاسبه میشود:
که در آن:
مقدارهای K بالاتر نشاندهنده قوسهای مسطحتر هستند. استانداردهای طراحی معمولاً حداقل مقادیر K را بر اساس سرعت طراحی و نوع قوس مشخص میکنند.
برای قوسهای قله که و هستند، یا قوسهای فرورفتگی که و هستند، یک نقطه بالا یا پایین درون قوس وجود خواهد داشت. ایستگاه این نقطه را میتوان به صورت زیر محاسبه کرد:
ارتفاع در این نقطه بالا/پایین سپس با استفاده از معادله پایه قوس عمودی محاسبه میشود.
با توجه به ایستگاه و ارتفاع PVI، میتوان PVC و PVT را به صورت زیر محاسبه کرد:
توجه: تقسیم بر 200 در فرمولهای ارتفاع به تبدیل شیب از درصد به فرم اعشاری و نیمه طول قوس مربوط میشود.
شیبهای مساوی (g₁ = g₂): زمانی که شیب اولیه و نهایی برابر باشند، نیازی به قوس عمودی نیست. مقدار K بینهایت میشود و "قوس" در واقع یک خط مستقیم است.
تفاوتهای شیب بسیار کوچک: زمانی که تفاوت بین شیبها بسیار کوچک باشد، مقدار K بسیار بزرگ میشود. این ممکن است نیاز به تنظیمات طول قوس برای پیادهسازی عملی داشته باشد.
قوسهای با طول صفر: یک قوس عمودی با طول صفر از نظر ریاضی معتبر نیست و باید در طراحی اجتناب شود.
ماشین حساب قوس عمودی ما این محاسبات پیچیده را ساده میکند و به شما این امکان را میدهد که به سرعت همه پارامترهای کلیدی را برای طراحی قوس عمودی خود تعیین کنید. در اینجا نحوه استفاده از آن آمده است:
پس از وارد کردن پارامترهای مورد نیاز، ماشین حساب به طور خودکار محاسبه و نمایش میدهد:
شما همچنین میتوانید ارتفاع در هر ایستگاه خاصی در طول قوس را پرسش کنید:
ماشین حساب یک نمای بصری از قوس عمودی فراهم میکند که نشان میدهد:
این تجسم به شما کمک میکند تا شکل قوس را درک کرده و تأیید کنید که با الزامات طراحی شما مطابقت دارد.
محاسبات قوس عمودی در بسیاری از کاربردهای مهندسی عمران ضروری هستند:
قوسهای عمودی اجزای بنیادی طراحی جاده هستند که شرایط رانندگی ایمن و راحت را تضمین میکنند. آنها برای:
به عنوان مثال، هنگام طراحی یک بزرگراه که باید از زمینهای تپهای عبور کند، مهندسان باید به دقت قوسهای عمودی را محاسبه کنند تا اطمینان حاصل کنند که رانندگان فاصله دید کافی برای توقف ایمن در صورت بروز مانع در جاده دارند.
در مهندسی راهآهن، قوسهای عمودی برای:
قوسهای عمودی راهآهن معمولاً دارای مقادیر K بزرگتری نسبت به جادهها هستند به دلیل محدودیت توانایی قطارها در گذر از تغییرات شیب تند.
قوسهای عمودی در طراحی باند فرودگاه برای:
هنگام توسعه زمین برای پروژههای ساختمانی، قوسهای عمودی کمک میکنند:
قوسهای عمودی در طراحی:
طراحی مناسب قوس عمودی تضمین میکند که آب با سرعتهای مناسب جریان یابد و از رسوبگذاری یا فرسایش جلوگیری شود.
در حالی که قوسهای عمودی پارابولیک استاندارد در اکثر کاربردهای مهندسی عمران هستند، گزینههای دیگری نیز وجود دارد:
قوسهای دایرهای عمودی: در برخی طراحیهای قدیمی و در برخی استانداردهای بینالمللی استفاده میشوند. آنها نرخ تغییر متغیری در شیب فراهم میکنند که ممکن است برای رانندگان راحتتر نباشد.
قوسهای کلاچوئید یا مارپیچ: گاهی اوقات در کاربردهای خاصی که نیاز به نرخ تغییر تدریجی بیشتری دارند، استفاده میشوند.
پارابولاهای مکعبی: گاهی اوقات برای موقعیتهای خاصی که خواص قوس پیچیدهتری نیاز دارند، استفاده میشوند.
تقریبهای خطی مستقیم: در طراحیهای بسیار اولیه یا برای زمینهای بسیار مسطح، ممکن است به جای قوسهای واقعی از اتصالات خط مستقیم ساده استفاده شود.
قوس عمودی پارابولیک به دلیل سادگی، نرخ تغییر ثابت و رویههای طراحی خوب مستقر، استاندارد برای اکثر کاربردها باقی مانده است.
توسعه روشهای طراحی قوس عمودی همزمان با مهندسی حمل و نقل تکامل یافته است:
در ساخت و ساز جادههای اولیه، ترازهای عمودی غالباً توسط زمین طبیعی با حداقل خاکبرداری تعیین میشدند. با افزایش سرعت و فراوانی وسایل نقلیه، نیاز به رویکردهای علمیتر در طراحی جادهها آشکار شد.
قوس عمودی پارابولیک به استانداردی در اوایل قرن بیستم تبدیل شد زیرا مهندسان مزایای آن را شناسایی کردند:
تا اواسط قرن بیستم، آژانسهای حمل و نقل شروع به توسعه رویکردهای استاندارد برای طراحی قوسهای عمودی کردند:
با ظهور کامپیوترها، طراحی قوس عمودی پیچیدهتر شد:
امروزه طراحی قوس عمودی همچنان با تحقیقات جدید در مورد رفتار راننده، دینامیک وسیله نقلیه و ملاحظات زیستمحیطی تکامل مییابد.
مقدار K نمایانگر فاصله افقی مورد نیاز برای دستیابی به تغییر 1% در شیب است. این مقدار با تقسیم طول قوس عمودی بر تفاوت مطلق بین شیبهای اولیه و نهایی محاسبه میشود. مقادیر K بالاتر قوسهای مسطحتر را نشان میدهند. استانداردهای طراحی معمولاً حداقل مقادیر K را بر اساس سرعت طراحی و نوع قوس مشخص میکنند.
نوع قوس به رابطه بین شیبهای اولیه و نهایی بستگی دارد:
حداقل مقادیر K به سرعت طراحی، نوع قوس و استانداردهای قابل اجرا بستگی دارد. به عنوان مثال، AASHTO جداولی از حداقل مقادیر K را بر اساس فاصله دید توقف برای قوسهای قله و فاصله دید چراغهای جلو برای قوسهای فرورفتگی ارائه میدهد. سرعتهای طراحی بالاتر نیاز به مقادیر K بزرگتری برای تضمین ایمنی دارند.
نقطه بالا (برای قوسهای قله) یا نقطه پایین (برای قوسهای فرورفتگی) در جایی رخ میدهد که شیب در طول قوس برابر با صفر باشد. این میتواند با استفاده از فرمول زیر محاسبه شود:
نقطه بالا/پایین فقط در صورتی درون قوس وجود دارد که این ایستگاه بین PVC و PVT قرار گیرد.
اگر شیبهای اولیه و نهایی برابر باشند، نیازی به قوس عمودی نیست. نتیجه یک خط مستقیم با شیب ثابت است. در این حالت، مقدار K به طور نظری بینهایت خواهد بود.
قوسهای عمودی بر جهت و سرعت جریان آب در جادهها تأثیر میگذارند. قوسهای قله معمولاً تخلیه را تسهیل میکنند و آب را از نقطه بالایی دور میکنند. قوسهای فرورفتگی ممکن است در نقطه پایینی مشکلات تخلیه ایجاد کنند و معمولاً نیاز به ساختارهای تخلیه اضافی مانند ورودیها یا لولهها دارند.
در یک قوس عمودی متقارن استاندارد، PVC در نیمه طول قوس قبل از PVI قرار دارد و PVT در نیمه طول قوس بعد از PVI قرار دارد.
محاسبات مدرن قوس عمودی میتوانند در صورت انجام صحیح بسیار دقیق باشند. با این حال، تحملهای ساخت، شرایط میدانی و گرد کردن در محاسبات میتوانند تغییرات کوچکی را وارد کنند. برای اکثر مقاصد عملی، محاسبات تا نزدیکترین سانتیمتر یا صدم فوت برای ارتفاعات کافی هستند.
در اینجا مثالهایی از نحوه محاسبه پارامترهای قوس عمودی در زبانهای برنامهنویسی مختلف آورده شده است:
1' تابع VBA اکسل برای محاسبه ارتفاع در هر نقطهای از یک قوس عمودی
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' تبدیل شیبها از درصد به اعشاری
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' محاسبه تفاوت جبری در شیبها
10 Dim A As Double
11 A = g2 - g1
12
13 ' محاسبه فاصله از PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' بررسی اینکه آیا ایستگاه در محدودیتهای قوس قرار دارد
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "خارج از محدودیتهای قوس"
20 Exit Function
21 End If
22
23 ' محاسبه ارتفاع با استفاده از معادله قوس عمودی
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' تابع برای محاسبه مقدار K
31Function KValue(curveLength, initialGrade, finalGrade)
32 KValue = curveLength / Abs(finalGrade - initialGrade)
33End Function
34
1import math
2
3def calculate_k_value(curve_length, initial_grade, final_grade):
4 """محاسبه مقدار K یک قوس عمودی."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # جلوگیری از تقسیم بر صفر
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """تعیین اینکه آیا قوس یک قوس قله، فرورفتگی یا هیچکدام است."""
12 if initial_grade > final_grade:
13 return "قله"
14 elif initial_grade < final_grade:
15 return "فرورفتگی"
16 else:
17 return "هیچکدام"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """محاسبه ارتفاع در هر ایستگاه در طول یک قوس عمودی."""
22 # محاسبه ایستگاههای PVC و PVT
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # بررسی اینکه آیا ایستگاه در محدودیتهای قوس قرار دارد
27 if station < pvc_station or station > pvt_station:
28 return None # خارج از محدودیتهای قوس
29
30 # محاسبه ارتفاع PVC
31 g1 = initial_grade / 100 # تبدیل به اعشاری
32 g2 = final_grade / 100 # تبدیل به اعشاری
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # محاسبه فاصله از PVC
36 x = station - pvc_station
37
38 # محاسبه تفاوت جبری در شیبها
39 A = g2 - g1
40
41 # محاسبه ارتفاع با استفاده از معادله قوس عمودی
42 elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
43
44 return elevation
45
46def calculate_high_low_point(initial_grade, final_grade, pvi_station,
47 pvi_elevation, curve_length):
48 """محاسبه نقطه بالا یا پایین قوس عمودی در صورت وجود."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # نقطه بالا/پایین فقط در صورتی وجود دارد که شیبها علامتهای مخالف داشته باشند
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # محاسبه فاصله از PVC به نقطه بالا/پایین
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # بررسی اینکه آیا نقطه بالا/پایین در محدودیتهای قوس قرار دارد
61 if x < 0 or x > curve_length:
62 return None
63
64 # محاسبه ایستگاه نقطه بالا/پایین
65 hl_station = pvc_station + x
66
67 # محاسبه ارتفاع PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # محاسبه ارتفاع در نقطه بالا/پایین
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"station": hl_station, "elevation": hl_elevation}
75
1/**
2 * محاسبه مقدار K برای یک قوس عمودی
3 * @param {number} curveLength - طول قوس عمودی به متر
4 * @param {number} initialGrade - شیب اولیه به درصد
5 * @param {number} finalGrade - شیب نهایی به درصد
6 * @returns {number} مقدار K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // برای شیبهای مساوی
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * تعیین نوع قوس عمودی
18 * @param {number} initialGrade - شیب اولیه به درصد
19 * @param {number} finalGrade - شیب نهایی به درصد
20 * @returns {string} نوع قوس: "قله"، "فرورفتگی" یا "هیچکدام"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "قله";
25 } else if (initialGrade < finalGrade) {
26 return "فرورفتگی";
27 } else {
28 return "هیچکدام";
29 }
30}
31
32/**
33 * محاسبه ارتفاع در هر ایستگاه در طول یک قوس عمودی
34 * @param {number} station - ایستگاه پرسشی
35 * @param {number} initialGrade - شیب اولیه به درصد
36 * @param {number} finalGrade - شیب نهایی به درصد
37 * @param {number} pviStation - ایستگاه PVI
38 * @param {number} pviElevation - ارتفاع PVI به متر
39 * @param {number} curveLength - طول قوس عمودی به متر
40 * @returns {number|null} ارتفاع در ایستگاه یا null اگر خارج از محدودیتهای قوس باشد
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // محاسبه ایستگاههای PVC و PVT
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // بررسی اینکه آیا ایستگاه در محدودیتهای قوس قرار دارد
55 if (station < pvcStation || station > pvtStation) {
56 return null; // خارج از محدودیتهای قوس
57 }
58
59 // تبدیل شیبها به اعشاری
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // محاسبه ارتفاع PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // محاسبه فاصله از PVC
67 const x = station - pvcStation;
68
69 // محاسبه تفاوت جبری در شیبها
70 const A = g2 - g1;
71
72 // محاسبه ارتفاع با استفاده از معادله قوس عمودی
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * محاسبه مقدار K برای یک قوس عمودی
4 * @param curveLength طول قوس عمودی به متر
5 * @param initialGrade شیب اولیه به درصد
6 * @param finalGrade شیب نهایی به درصد
7 * @return مقدار K
8 */
9 public static double calculateKValue(double curveLength, double initialGrade, double finalGrade) {
10 double gradeChange = Math.abs(finalGrade - initialGrade);
11 if (gradeChange < 0.0001) {
12 return Double.POSITIVE_INFINITY; // برای شیبهای مساوی
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * تعیین نوع قوس عمودی
19 * @param initialGrade شیب اولیه به درصد
20 * @param finalGrade شیب نهایی به درصد
21 * @return نوع قوس: "قله"، "فرورفتگی" یا "هیچکدام"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "قله";
26 } else if (initialGrade < finalGrade) {
27 return "فرورفتگی";
28 } else {
29 return "هیچکدام";
30 }
31 }
32
33 /**
34 * محاسبه ایستگاه و ارتفاع PVC
35 * @param pviStation ایستگاه PVI
36 * @param pviElevation ارتفاع PVI به متر
37 * @param initialGrade شیب اولیه به درصد
38 * @param curveLength طول قوس عمودی به متر
39 * @return شیء حاوی ایستگاه و ارتفاع PVC
40 */
41 public static Point calculatePVC(double pviStation, double pviElevation,
42 double initialGrade, double curveLength) {
43 double station = pviStation - curveLength / 2;
44 double elevation = pviElevation - (initialGrade / 100) * (curveLength / 2);
45 return new Point(station, elevation);
46 }
47
48 /**
49 * محاسبه ایستگاه و ارتفاع PVT
50 * @param pviStation ایستگاه PVI
51 * @param pviElevation ارتفاع PVI به متر
52 * @param finalGrade شیب نهایی به درصد
53 * @param curveLength طول قوس عمودی به متر
54 * @return شیء حاوی ایستگاه و ارتفاع PVT
55 */
56 public static Point calculatePVT(double pviStation, double pviElevation,
57 double finalGrade, double curveLength) {
58 double station = pviStation + curveLength / 2;
59 double elevation = pviElevation + (finalGrade / 100) * (curveLength / 2);
60 return new Point(station, elevation);
61 }
62
63 /**
64 * کلاس داخلی برای نمایش یک نقطه با ایستگاه و ارتفاع
65 */
66 public static class Point {
67 public final double station;
68 public final double elevation;
69
70 public Point(double station, double elevation) {
71 this.station = station;
72 this.elevation = elevation;
73 }
74 }
75}
76
طراحی یک بزرگراه نیاز به یک قوس عمودی دارد تا از شیب +3% به شیب -2% منتقل شود. PVI در ایستگاه 1000+00 با ارتفاع 150.00 متر قرار دارد. سرعت طراحی 100 کیلومتر در ساعت است که نیاز به حداقل مقدار K برابر با 80 دارد طبق استانداردهای طراحی.
مرحله 1: محاسبه حداقل طول قوس
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند