بالون بدون أبعاد. سحر تحليل البعد النفعي


لقد طُلب مني أن أكتب هذا المقال القصير من خلال المقالة المنشورة مؤخرًا عن Habré Dynamics للطيران العمودي لطائرة أخف من الهواء . كنت أرغب في كتابة تعليق ، لكنه سرعان ما أصبح شيئًا أكثر ، ويبدو أنه أكثر فائدة.

يقدم المقال الأصلي مثالا لحساب ديناميكيات البالون أو البالون في الغلاف الجوي. في هذه الحالة ، يتم أخذ كل من مقاومة الهواء وتدرجات كثافة ودرجة حرارة الغلاف الجوي في الاعتبار ، بحيث تقل المشكلة إلى معادلة تفاضلية غير بديهية ، والتي يمكن حلها بنجاح رقميًا بلغة Python. كل شيء على ما يرام في المقالة: انطلقت الكرة ، توقفت عند الضرورة ، حصلنا على أقصى ارتفاع ووقت الصعود. استغرق الأمر مني إطلاق كرة أخرى ، على سبيل المثال ، تحميلها بشكل أكثر شمولاً ، أو تغيير الهيدروجين إلى الهيليوم - لا توجد مشكلة - قم بتغيير المعلمات في البرنامج وحساب كل شيء مرة أخرى. البرنامج مفهوم ، خطي ، يعمل ، فما الذي يمكن تحسينه هنا إذا لم يكن النموذج معقدًا؟

يمكنك جعل النموذج والحسابات مفيدة بشكل عام ، ليس لأي كرة معينة ، ولكن لمجموعة واسعة من المهام. من الممكن ضمان الدقة الحسابية المثلى في التكامل العددي للمعادلة التفاضلية. يمكنك القضاء على الحاجة إلى تعيين حدود التكامل يدويًا والخطوة عند الحساب في مجموعة كبيرة من المعلمات. أخيرًا ، يمكنك أن تخبر الكثير عن ديناميكيات طيران الكرة دون حل رقمي. لكل هذا ، هناك خدعة قديمة ، حقيقية وموثوقة ، كانت إلزامية مرة واحدة لأي حسابات على أجهزة الكمبيوتر وقبل ظهورها ، وهي الآن اختيارية وغالبًا ما تتعلق بالسحر والفن - جلب المعادلات إلى شكل بلا أبعاد ومقاييسه الخاصة . سأستخدم مشكلة الملاحة الجوية كمثال وسأوضح كيف يصبح تحليل المشكلة أكثر معنى وأنيقة عند استخدام هذه التقنية. ثم سأشرح لماذا يمكن أن يكون هذا مهمًا للمبرمجين ، ولماذا انتهى هذا المقال في محور "البرمجة الوظيفية".

إن جوهر تقليل المعادلات إلى مقاييسها هو إيجاد وإدخال وحدات قياس الوقت والمسافات والكتل والتيارات ومتغيرات الأبعاد الأخرى التي تأخذ فيها المهمة الشكل الأكثر بساطة وأناقة. تسمى هذه الوحدات المقاييس المميزة أو المناسبة للمشكلة. في الوقت نفسه ، يتم تقليل عدد المعلمات التي تؤثر على حلها بشكل كبير ، وإذا كنت محظوظًا بالتعثر على حل مشابه ذاتيًا ، فقد تختفي المعلمات تمامًا!

عادة ، يتعرف المرء على هذه التقنية عندما يدرس ديناميكيات المذبذب التوافقي ، مما يجعل معادلة الحركة إلى شكل قانوني. في الواقع ، مهما كان المذبذب (كبير أو صغير ، منخفض أو عالي التردد ، ميكانيكي أو كهرومغناطيسي) ، إذا قمت بقياس الوقت ليس بالثواني ، ولكن في فترات التذبذبات الحرة ، والسعة ليست بالأمتار ، ولكن ، على سبيل المثال ، في حجم الانحراف الأولي ، فإن معادلة أي مذبذب خطي سيكون لها نفس الشكل:

x + 2 z e t a x + x = 0 

يكفي دراسة خصائص حلول هذه المعادلة لمعرفة كل شيء عن جميع مذبذبات الاحتكاك اللزج التوافقي. بدون احتكاك ، تختفي المعلمات تمامًا في المشكلة ، ونحصل ، كحل ، على جيبي مثالي. ومع ذلك ، فإن الجيوب الأنفية الأخرى ، حتى التغيير الخطي البسيط للإحداثيات ، متطابقة تمامًا ، لذلك لا فائدة من تحليلها بشكل فردي.

هذا هو الحال أيضًا عند تحليل منحنيات الدرجة الثانية. بعد فحص القطع المكافئ أو القطع الزائد أو القطع الناقص في شكله القانوني (الأكثر ضغطًا) ، تعلمنا جميع خصائصه الرائعة. بعد ذلك ، تمتد هذه المعرفة إلى أي تربيع غير تافه. علاوة على ذلك ، يتم استخدام نفس التقنية في تحليل معادلات الرياضيات من الدرجة الثانية (في المشتقات الجزئية).

إن إحضار المشكلة إلى شكل بلا أبعاد في مقاييسه الخاصة في الفيزياء يتوافق مع البحث عن الشكل القانوني أو بعض الأنماط في البرمجة. ولحسن الحظ ، يمكن التعبير عنها باستخدام خوارزمية رسمية تمامًا:
  1. نقدم عوامل مقياس رسمية للمتغيرات ؛
  2. نقسم المعادلة بأكملها بأي كمية لها أبعاد شروطها ؛
  3. من المعقدات الناتجة البعدية ، بما في ذلك عوامل المقياس ، نختار العديد من العوامل التي لدينا ، ونساويها بالوحدة ؛
  4. نقوم بحل المعادلات الناتجة عن طريق التعبير عن عوامل المقياس من حيث معلمات المشكلة ، واستخدام المجمعات المتبقية كمعايير تشابه.

ونتيجة لذلك ، نحصل على معادلات في الشكل الكنسي ، والقيم الذاتية للمشكلة ، وكذلك معايير التشابه لتعميم الحلول لأنظمة مماثلة ماديًا. كلما زاد عدد المقاييس التي يمكنك إدخالها (باستخدام ، على سبيل المثال ، التماثل) ، كلما كانت معادلة الحركة أكثر إيجازًا وستبقى معلمات التحكم الأقل في المشكلة. إن الكنز الحقيقي للباحث هو الموقف عندما يكون من الممكن استبعاد جميع معالم المشكلة وتقديم جميع حلولها الممكنة في منحنى واحد. تسمى هذه الحلول تشابهها الذاتي وتبسط الحياة إلى حد كبير ، وتحول المعادلات التفاضلية الجزئية إلى معادلات تفاضلية عادية ، أو حتى معادلات جبرية. تتطلب الخطوتان الثانية والثالثة من الخوارزمية أعلاه الاختيار والتفكير ، وهما الأقل رسمية ، ولكن حتى إذا كنت تستخدم طريقة القوة الغاشمة ، في هذه المرحلة يمكنك الحصول على فهم منهجي عميق للمشكلة.

دعونا ننتقل إلى معادلة الحركة الأصلية الواردة في المقالة الخاصة بالطائرة ، ونوضح بمثالها كيف يمكن تحويلها إلى شكل بلا أبعاد بمقاييسها الخاصة. المعادلة لها الشكل:

m fracd2hdt2=mg+gW rho0ebh frac12cS rho0ebh operatornameتسجيل يسار( fracdhdt right) left( fracdhdt right)2،

بشروط أولية

h(0)=h(0)=0.

هنا h - ارتفاع الكرة ، م - كتلة الطائرة بأكملها مع البضائع ، g - تسارع الجاذبية ، W - حجم الغاز في الكرة ، c - معامل السحب ، S - منطقة مقاومة مميزة ، ρ0 - كثافة الهواء عند ارتفاع صفري ، b - معامل توزيع بولتزمان.

الخطوة الأولى. نقدم المقاييس الرسمية للوقت والمسافات:

h=h0y، quadt=t0 tau qquad(1)

وإعادة كتابة معادلة الحركة باستخدام السكتات الدماغية للدلالة على المشتقات:

m frach0t20y=mg+gW rho0ebh0y left[1 fraccS2Wg frach20t20 operatornamesign(y)(y)2 right].

الشروط الأولية في حالتنا تافهة ، لذلك يمكن حذفها ، ولكن بشكل عام ، يجب علينا أيضًا إعادة كتابتها.

والخطوة الثانية ، في الواقع ، هي عدم قياس المعادلة. جميع المصطلحات فيها بُعد القوة ونحن أحرار في تقسيمها إلى أي قوة. عادةً ما يتم قسمة قوة القصور الذاتي - بعامل في المشتق الثاني للمسافة. في هذه الحالة ، كمعلمات للمشكلة ، يتم عادةً الحصول على معايير معروفة للتشابه الديناميكي ، مثل أرقام رينولدز أو أويلر. لكن في مهمتنا ، نعين جميع القوى المدرجة في المهمة إلى الجاذبية mg ولهذا السبب. نحن مهتمون بشكل أساسي بموقف التوازن الثابت - أقصى ارتفاع للكرة عند سعة تحميل معينة ووقت الانتقال إليها. والتوازن الساكن لا يعتمد على خصائص القصور الذاتي للنظام ، ولكنه يعتمد بشكل مباشر على الجاذبية. لذلك ، نقسم ونقلل ما هو ممكن:

 frach0gt20y=1+ fracW rho0mebh0y left[1 fraccS2Wg frach20t20 operatornamesign(y)(y)2 right].

كل شيء ، المعادلة بلا أبعاد ، الآن جميع المتغيرات وجميع المصطلحات فيها مجرد أرقام. والآن نحن أحرار في اختيار هذه المقاييس من الطول والوقت من أجل تقليل عدد معلمات المهمة. لدينا مجهولين h0 و t0 وأربعة مجمعات بلا أبعاد:

 frach0gt20، quad fracW rho0m، quadbh0، quad fraccS2Wg frach20t20

هذا يعني أنه يمكننا جعل اثنين منهم يختفون ببساطة عن طريق مساواتهم بالوحدة. علاوة على ذلك ، لا يعتمد المجمع الثاني على عوامل واسعة النطاق ، ونحن بحاجة إلى اختيار العاملين المتبقيين للتدمير. ومرة أخرى ، ننتقل إلى الجدل حول التوازن الثابت الذي يهمنا. يتم تحديد موضع التوازن من خلال معادلة التسارع الصفري ، أي أنه لن يكون مهمًا بالنسبة إلينا العامل الذي سيكون في المشتق الثاني للارتفاع ويمكننا تقليل عدد المعلمات على الجانب الأيمن من المعادلة. وبالتالي ، نصل إلى الحل التالي: نختار عوامل المقياس بحيث تختفي الثالثة والرابعة من المجمعات المدرجة من قبلنا من المعادلة. لهذا نفترض

bh0=1، quad fraccS2Wg frach20t20=1

ونحصل على مقياسنا الخاص للمشكلة:

h0= frac1b، quadt0= frac1b sqrt fraccS2Wg. qquad(2)

يشار إلى المعلمات المتبقية على النحو التالي:

 frach0gt20= frac1 gamma، quad fracW rho0m=B.

ربما تكون هذه هي المرحلة الأكثر سحرية من تحولاتنا ، وهي الأقرب إلى الفن. لكن الخبرة وبعض التفكير يساعد في اختيار المقياس الصحيح. ثم تسمح لنا هذه التجربة نفسها برؤية ظواهر مماثلة في مختلف مجالات العلوم وتخمين الخصائص المميزة للأنظمة المعقدة.

سأسمح لنفسي بتأجيل تحليل المعنى المادي للمقاييس والمعايير التي حصلنا عليها ، على الرغم من أن هذا أيضًا ممتع للغاية ومثير للاهتمام ، لكنني سأنتقل على الفور إلى أكثر اللذيذ - إلى المعادلة بلا أبعاد على مقاييسها الخاصة:

 frac1 gammay=Bey left(1 operatornamesign(y)(y)2 right)1، quady(0)=y(0)=0. qquad(3)

هنا! أنا مستعد لحل مثل هذه المعادلة وتحليلها ودمجها رقميًا. وعندما أقرر ، يمكنني بسهولة الانتقال من المقاييس الخاصة بي إلى الأمتار والثواني ، المشفرة بالنسب (1) و (2).

لذلك دعونا نبدأ. دعونا نجد ، في البداية ، حيث سيتوقف بالوننا المعمم. للقيام بذلك ، نحن نساوي صفر السرعة والتسارع في المعادلة (3):

0=Bey1،

من أين نحصل

y= lnB.

استنتج على الفور: من أجل أن يكون الحد الأقصى للارتفاع ، الشرط B>1 . بعد ذلك ، نقدر المدة التي ستصل بها الكرة إلى هذا الارتفاع. للقيام بذلك ، نساوي التسارع بالصفر ونحل مشكلة كوشي من الدرجة الأولى:

0=كنey left(1(y)2 right)1، quady(0)=y.

يتم حلها تحليليًا بطريقة فصل المتغيرات ، وتقلل إلى التكامل:

 tau= inty0 fracBdy sqrtBey=2 operatornamearth left( sqrt1 frac1B right).

انظروا ، ها هم - ثمار المقاييس المختارة بشكل صحيح! يتم التعبير عن كل من الحد الأقصى للارتفاع والوقت المميز لإنجازه فقط من خلال المعلمة B . هذا يعني أنه يمكننا إصلاح بعض القيمة B>1 ، قم ببناء سلسلة من الرسوم البيانية لحل المعادلة (3) لقيم مختلفة  gamma وبالتالي تصف على الفور جميع الخيارات لحل المشكلة لأي قيم B !

هذه مجموعة عالمية من الحلول ذات معلمة واحدة تم الحصول عليها عن طريق دمج المشكلة رقميًا (3) لقيم مختلفة  gamma :


بعد الوصول إلى ارتفاع التوازن ، يصنع البالون تذبذبات مبللة لبعض الوقت ، ومع ذلك ، يتم تقدير الوقت المميز للوصول إلى هذا الارتفاع بشكل صحيح. من المعيار  gamma تعتمد فقط فترة التذبذبات ووقت انحلالها. وكلما كانت هذه المعلمة أكبر ، كان نظامنا "أكثر صرامة".

يبقى ترجمة هذه المجموعة من الرسوم البيانية إلى عرض الأبعاد ، ببساطة عن طريق ضرب القيم على طول المحاور بعوامل المقياس المقابلة. والآن انتهت التجربة العددية واكتسبت نتائجها معنى عالميًا. يمكنك استبدال معلمات الأبعاد الحقيقية للمهمة ، والحصول على الفور على الأرقام على المحاور ، بالفعل بالأمتار والثواني! يمكن نشر هذه النتيجة بالفعل في كتيب جاد لمنطقي البالونات القاسيين أو في مقال علمي يصف الظاهرة بأكملها في رسم بياني واحد.

الآن دعونا نرى ما حصلنا عليه في شكل معلمات ومتغيرات. استبدل كتلة الكرة م إجمالي كتلة الغاز W rhog وكتل الحمولة M :

m=W rhog+M=W rhog(1+ alpha)،

أين  alpha= fracMW rhog - القدرة الاستيعابية النسبية للطائرة. بالإضافة إلى ذلك ، نأخذ الكرة كروية ونعبر عن مساحتها وحجمها من خلال نصف القطر R . في هذا التمثيل ، نحصل على معلمات المشكلة:

B= frac rho0 rhog(1+ alpha)، gamma= frac3cB8Rb.

الأول هو معامل الطفو ، والذي يعتمد على الغاز المستخدم والحمل الذي يتم رفعه ، وهي معلمة مهمة جدًا ، وتشمل جميع كميات الكتلة. يوضح الثاني كيف يرتبط حجم وشكل الكرة بتدرج الكثافة في الغلاف الجوي ، أي كيف أن التجانس في الغلاف الجوي كبير بالنسبة لحجم الكرة.

يتم التعبير عن المقياس كما يلي:

h0=1/b tau0= frac12b sqrt frac3cB2gR= sqrt frac gammagb

يتم تحديد مقياس المسافة فقط من خلال تدرج الكثافة. وهذا صحيح تمامًا ، لأنه بسبب هذا التدرج بالتحديد ، يتوقف صعود الكرة بشكل عام في مكان ما. تضمن الوقت المميز كميات ديناميكية - تسارع الجاذبية ونسب الكتلة ومقاومة الهواء.

الارتفاع المميز ووقت اقتراب الكرة

h=yh0= frac1b lnB،t= taut0=2 sqrt frac gammagb operatornamearth left( sqrt1 frac1B right)

كما تم التعبير عنها من حيث المعلمات الرئيسية ونطاق المهمة.

على سبيل المثال ، دعنا نرى ما يحدث للمعلمات المادية الواردة في المقالة الأصلية:

B=4.57 gamma=686h0=8000 m tau0=12.47 minh=12166.6 mt=13.72 min



لتلخيص. بعد أن عملنا قليلاً على الورق قبل توصيل المهمة إلى الآلة ، تمكنا من الحصول على نتيجة أكثر وضوحًا وشمولية ولاحظنا أهم خصائص الحل. في الوقت نفسه ، لم نفقد "نموذجية" الحل. هنا ما أعنيه. قمنا بصياغة المشكلة بأكثر العبارات العامة ، وبعد أن حصلنا بالفعل على حل ، بدأنا في إضافة "ميزات" جديدة ، على سبيل المثال ، شاركنا مفهوم الحمولة وكتلة الغاز الذي يرفعها. أثر هذا التعقيد على قيم المقياس ، لكنه لم يغير طبيعة الحل.

إذا كان من الضروري بعد ذلك إضافة تدرج درجة الحرارة ، سيصبح التعبير في الأس أكثر تعقيدًا ، ولكن جوهره ، والأهم من ذلك ، لن يتغير المقياس:

 exp left( fracbhT0T0ah right)

بعد البعد سيبدو كما يلي:

 exp left( fracy1 psiy right)،

أين المعلمة الجديدة  psi= fracabT0 يوضح مدى ارتباط تدرجات الكثافة ودرجة الحرارة. بما أن هذه معلمات الغلاف الجوي مستقلة عنا ،  psi هو ثابت يساوي 0.17 دولار . بالمناسبة ، فإن قيمة الثابت ، تظهر أهمية تأثير تدرج درجة الحرارة ، فهي ليست كبيرة ، ولكنها ليست ضئيلة. ستتغير عائلة الرسوم البيانية قليلاً ، ولكن الأهم من ذلك أنها ستبقى معلمة واحدة.

استخدام المقاييس الخاصة بالمشكلة للحسابات له ميزة أخرى مهمة: في هذه الحالة ، عادة ما تأخذ المتغيرات قيمًا "معتدلة" ، أي قريبة من الوحدة. هذا مفيد جدًا لحسابات النقطة العائمة: لا تضيع الدقة في العمليات ذات القيم التي تختلف اختلافًا كبيرًا من حيث الحجم. بالإضافة إلى ذلك ، يصبح من الممكن مقارنة أدوار التأثيرات الفردية بشكل صحيح في مهمة من خلال مقارنة قيم معايير التشابه أو قيم المتغيرات. على سبيل المثال ، القيمة B=4.5 يشير إلى عدد المرات التي تكون فيها قوى التفاعل مع الغلاف الجوي أكبر من الجاذبية. ومربع سرعة الارتفاع المميزة بلا أبعاد (y/ tau)2 sim0.3 يوضح درجة أهمية مقاومة الهواء في الحركة العمودية للطائرة مقارنة بالطفو الذي يعبر عنه بوحدة بين قوسين.

وأخيرًا ، فإن الحسابات في المتغيرات والمعلمات التي لا أبعاد لها لها اتساق داخلي معين مع حقيقة أن حلول المعادلات التفاضلية تكون دائمًا تقريبًا وظائف متجاوزة ، ولا يمكن إلا أن تكون الكميات بلا أبعاد حججها ونتائجها. يعمل الكمبيوتر أيضًا حصريًا بأرقام - بكميات لا أبعاد لها. تسمح لك الكتابة الثابتة ، من حيث المبدأ ، بإدخال أبعاد الكميات المادية على مستوى النوع والتحقق من صحة البرامج أثناء التجميع ، ولكن في المرحلة العددية ما زلنا نعمل فقط مع الكميات نفسها. يتم فقدان أي أخطاء مرتبطة بالوحدات والأبعاد في هذه الحسابات. من المعقول أن تعد المهمة للحسابات ، باستثناء ما هو غير ضروري ، وتترك فقط الأكثر أهمية وطبيعية للحل.

وماذا سيحدث إذا اخترنا مجمعات أخرى ، أو نسبنا جميع القوى إلى عدم الجاذبية ، ولكن ، على سبيل المثال ، إلى الجمود؟ ستبقى معلمتان في المعادلة ، لكن عائلة المنحنيات ستصبح معلمتين ، ولا يمكن عرضها في رسم بياني واحد. أعترف ، في البداية ، حدث ذلك لي ، حيث أن مقياس الطول الذي حصلت عليه نصف قطر الكرة. ولكن بعد اللعب بهذه المنحنيات ، رأيت تشابهها الهندسي (ترى واحدًا في جميع القطع المكافئة) ، وأدى التحليل السريع للمعايير والمعادلات التي تم الحصول عليها إلى تناظر مخفي واقترح ما يجب أن يكون عليه "الشكل القانوني" لمعادلاتنا. هذا ، مع ذلك ، مهنة جميلة! تبدأ المهمة نفسها في الحديث عن نفسها. أشعر بمثل هذا السعادة في بناء نظام من أنواع وهياكل البيانات في برنامج في Haskell أو C #: عندما تتوافق بنية البرنامج مع الهيكل الداخلي للمهمة ، يصبح كل شيء طبيعيًا بشكل مدهش ، وأنيق ، يتم التعامل مع حالات خاصة "تلقائيًا" وينخفض ​​عدد طبقات التجريد.

أبعاد الكميات المادية في حد ذاتها مثيرة للاهتمام للغاية. إنها تشكل مساحة خطية ، ويمكن اختزال البحث عن معايير التشابه إلى مشكلة إيجاد نواة في مساحة الأبعاد ، وبالتالي إضفاء الطابع الرسمي على هذه العملية. إنهم ، إلى حد ما ، يلعبون دور الأنواع في الحوسبة المادية. كما يستخدم المترجم الكتابة الثابتة للتحقق من صحة البرنامج ، لذلك يستخدم الفيزيائي الأبعاد للتحقق من حساباته ونتائجه.كما هو الحال في اللغة الوظيفية البحتة المكتوبة بدقة (على سبيل المثال ، في Haskell) ، يمكن اشتقاق رمز الوظيفة من نوعه ، بنفس الطريقة ، استنادًا إلى بُعد الكميات المادية ، يمكن للمرء بناء مجمعات بدون أبعاد ، وكميات مميزة في الأنظمة المادية والحصول على نتائج مفيدة وعالمية للغاية. هناك العديد من الأمثلة على ذلك في الميكانيكا والغاز والديناميكا الحرارية وميكانيكا الكم ، إلخ. أوصي بأن تتعرف على عمل رائع ، يوفر مجموعة من الأمثلة الجميلة لتطبيق التحليل البعدي للمشكلات من نظرية فيثاغورس ، إلى تذبذبات النجوم وتناثر رايلي في السماء. يقتبس هذا العمل كلمات جون ويلر ، المعلم ريتشارد فاينمان ، الذي حصل على اسم "قواعد ويلر":
« , . : (! ! !) , ; . : , . , . . ».

هذه النصيحة للمبرمجين تبدو مألوفة للغاية: لا تبدأ في كتابة رمز الوظيفة دون تحديد توقيعها (النوع) وسلوكها (الاختبارات) ؛ قبل كتابة التعليمات البرمجية ، يجب مراعاة الأنواع وهياكل البيانات وعلاقاتها. هذا هو بالضبط ما هو قوي OOP والبرمجة الوظيفية القوية - هذه المبادئ لا تعمل فقط هناك ، عندما يستخدمونها بمهارة ، يقترحون أنفسهم أكثر الحلول الطبيعية والأنيقة ، وفي حالة FP ، يقومون بذلك على مستوى رياضي عميق ، مما يجعل من الممكن إثبات خصائص البرامج وشحن بعض العمل على إخراج خصائص البرنامج للمترجم.

تعلم الرياضيات والبرمجة الجميلة واستمتع!

Source: https://habr.com/ru/post/ar416151/


All Articles