در پست قبل در مورد بالانس تئوری یا نظریه توازن صحبت کردیم و نشون دادیم که به کمک یک مدل ساده و ابتدایی میتونیم به جوامع، متناسب با نوع رابطهی اعضا با همدیگه، انرژی نسبت بدیم و مقدار این انرژی به ما میگه که جامعه مد نظر در چه وضعیتی از توازن قرار داره.
بنابر بهنجارش، اگر انرژی جامعه ۱- بهدست بیاد، جامعه کاملا متوازن یا بالانس هست که این در صورتی رخ میده که همه اعضای جامعه دوست همدیگه باشند و یا اینکه جامعه دو قطبی بشه، یعنی جامعه به دو زیر مجموعه تقسیم بشه به نحوی که درون زیرمجوعهها اعضا دوست باشند اما هر عضوی از این زیرمجوعه با اعضای زیرمجوعهی مقابل دشمن باشه. همینطور اگر انرژی جامعه بیشتر از ۱- بهدست بیاد یعنی جامعه نامتوازن هست و هر چقدر که انرژی به ۱+ (کران بالای انرژی بنابر بهنجارش) نزدیکتر باشه جامعه نامتوازنتر هست که به معنی وجود امکان نزاع و درگیری در بین اعضاست.
طی این پست میخوایم ببینیم اگر به یک جامعه با شرایط اولیه مشخص (جمعیت و انرژی اولیه)، عضو جدیدی وارد بشه چه اتفاقی میافته. اما قبل از اون اجازه بدید که مدل باراباشی-آلبرت رو معرفی کنیم.
به عنوان مثال در بین تمام سایتها گوگل، ویکیپدیا و فیسبوک بیشترین بازدیدکنندهها و پیوندها رو دارند یا مثلا در جامعهی ما، محمدرضا شجریان، حسین علیزاده و کیهان کلهر جزو برجستهترین هنرمندان موسیقی سنتی هستند، در مقایسه با جمعیت هنرمندان موسیقی، این افراد تعدادشون کمه. با اینوجود شهرت و محبوبیشون از همه هنرمندان بیشتره. این شبکهها، شبکههای بیمقیاس (scale-free) هستند به این معنی که توزیع درجه در این شبکهها با تقریب خوبی از یک الگوی قانونتوانی(power law) پیروی میکنه. این چندتا جملهی سخت که گفتم یعنی اینکه وقتی ما این شبکهها رو با یک گراف نمایش میدیم، درجه رئوس متناسب با وارون فراوانی(تعداد) اون رئوس هست . یعنی هرچی راسی درجهش بیشتر باشه (تعداد یالهای بیشتری بهش متصل بشند) فراوانیش کمتره و هر چقدر درجه راسی کمتر باشه فراوانیش بیشتره! همونجوری که تعداد سایتهایی مثل گوگل تعدادشون خیلی کمه، چون درجهشون زیاده.
کار آلبرت باراباشی و رکا آلبرت معرفی الگوریتمی بود که قادره چنین شبکههایی رو مدلسازی کنه. این الگوریتم صرفنظر از تصادفی بودن باید گرافی رو تولید کنه که توزیع درجه رئوسش قانونتوانی باشه. برای همین اساس این مدل دو چیزه:
۱) رشد: در طی زمان رئوس جدیدی به شبکه اضافه میشند.
۲) اتصال ترجیحی:رئوس جدید ترجیح میدند به رئوسی وصل بشند که درجهی بالاتری دارند.
برای همین این الگوریتم ابتدا یک شبکه متصل (همبند) با راس ایجاد میکنه. بعد از اون، در هر مرحله، راسی اضافه میشه و به راس قبلی وصل میشه. این m راس بر اساس درجهشون انتخاب میشند: یعنی احتمال اینکه راس جدید به iامین راس موجود درگراف وصل بشه برابره با نسبت درجه راس iام به مجموع درجات کل رئوس. این سبب میشه که «هاب» در شبکه بهوجود بیاد. هابها رئوسی هستند که درجه شون از بقیه رئوس شبکه بیشتره. (صفحه شجریان در اینستاگرام یک هاب به حساب میاد در بین خوانندهها همونجوری که گوگل یک هابه در بین سایتها!). يادتون باشه که در مدل باراباشی-آلبرت وزن هر یال ۱ است!
این اولین پستیه که قراره در مورد چیزایی حرف بزنم که کسی در موردش زیاد نشنیده و نخونده. یک موضوع جدید و در حال توسعه که به نظرم به شدت جذابه. خب یک سری مشکلات هست توی این پست از جمله اینکه خیلی از عبارتها رو «من» ترجمه کردم و هنوز ترجمهی رسمی براشون ارائه نشده و یا اینکه لااقل هنوز عرف نشدند. ممکنه یک سری ایراد علمی هم وارد بشه که در آینده تصحیحشون میکنم. موضوع این پست Balance Theory هست، اما از اونجایی که اگر «نظریه تعادل» ترجمه بشه خیلیها ممکنه در نگاه اول یاد تعادل نش یا نظریه تعادل عمومی بیفتند من به جای واژهی «تعادل» از واژهی «توازن» استفاده میکنم تا اطلاع ثانوی! درضمن مدلی که در ادامه مطرح میشه یک مدل ساده و ابتدایی هست، بنابراین احتمالا بعضی از سوالهای شما رو در حوزهی علوم اجتماعی و/یا علوم سیاسی بیجواب میذاره!
خیلی خب، سه نفر رو فرض کنید که میتونند دوست یا دشمن همدیگه باشند. همینطور دوستی و دشمنی رو متقابل فرض کنید، یعنی اگر کسی رو دوست دارید، اونم شما رو دوست داره. حالا اگر این سه نفر دوست هم باشند، اون موقع همه چیز خوبه و تنشی پیش نمیاد؛ دوست دوست شما، دوست شماست! اصطلاحا میگیم این مجموعه سه نفری در توازن قرار داره و یا اینکه متوازن -balanced- هست. اما اگر از بین این سه نفر دو نفر رابطهی خوبی با همدیگه نداشته باشند اونموقع ممکنه تنش پیش بیاد. به عنوان مثال فرض کنید که شما، همسرتون و مادرتون رو دوست دارید با این وجود، متاسفانه، مادرتون و همسرتون رابطهی خوبی با همدیگه ندارند.
اجازه بدید ،از این به بعد، به خاطر راحتی بیشتر از واژههای دقیق «دوست» و «دشمن» برای نوع روابط استفاده کنیم و دوستی رو کاملا ۱+ و یا ۱- فرض کنیم. بنابراین شما و همسرتون دوست، شما و مادرتون دوست ولی همسر شما و مادر شما دشمن همدیگه هستند. اینجا توازن از بین میره، به عنوان مثال کافیه شما هدیهای برای مادرتون بخرید، در این صورت همسرتون شاکی میشه و مجبورید شب رو توی کوچه بخوابید! حالا فرض کنید که شما و آرش، همزمان از یکی از همکار/همکلاسیهاتون به اسم احسان متنفرید. خب طبق یه قاعدهی قدیمی، داشتن دشمن مشترک دوستی میاره و یا اینکه دشمن دشمن شما، دوست شماست. آرش دشمن احسان و احسان دشمن شماست پس طبق این قاعده شما و آرش دوست هستید. این مجموعه هم متوازنه. حالت دیگه که ممکنه پیش بیاد این هست که شما، میثم و سهیل هر سه دشمن همدیگه باشید، خب به وضوح مشخصه که این مجموعه نامتوازن هست؛ هر لحظه ممکنه کسی علیه کسی شورش کنه!
تا اینجا چارچوب بحث ما در مورد توازن مشخص شد. جذابیت این موضوع برای ما دانشمندان (!) زمانی شروع میشه که به فکر مدلسازی این چارچوب باشیم. ایدهی اصلی این کار توسط هایدر (۱۹۵۸) مطرح شد. مثلثی فرض کنید که هر راسش یکی از سه نفر بالا باشه و ضلعی که هر دو راس رو بهم متصل میکنه رو به عنوان رابطه اون دو راس(نفر) در نظر بگیرید. اگر دو نفر دوست هم باشند، به ضلعی که دو راس متناظر با اون دو نفر رو متصل میکنه، ۱+ نسبت میدیم و اگر دو نفر دشمن هم باشند به ضلع متصل کننده ۱-.
اجازه بدید از نظریهی گراف کمک بگیریم. مطابق شکل ما یک گراف کامل با ۳ راس و ۳ یال داریم که رئوس، نمایندهی اعضای مجموعه و یالها تعیین کننده نوع رابطه (دوستی یا دشمنی) بین رئوس هستند. با توجه به چارچوب بالا اگر تعداد یالهای منفی که با خط چین توی شکل زیر مشخص شدهند فرد باشند (یکی یا سهتا) اونموقع گراف ما و یا شبکه ما نامتوازن -unbalanced- خواهد شد.
بنابراین مدلی که به عنوان یک «شبکه اجتماعی» برای توصیف روابط بین انسانها و متوازن بودنشون مطرح میکنیم این جوری ساخته میشه:
با توجه به افراد،سازمانها، کشورها و هرچیزی که روابط دوستی یا دشمنی دارند ما یک گراف کامل از مرتبه تعداد اعضا مشخص میکنیم. گراف کامل هست چون که فرض بر اینه که همهی اعضا همدیگه رو میشناسند و رابطه دارند. به عنوان مثال به کشورهای عضو سازمان ملل فکر کنید که یا از هم خوششون میاد یا از هم بدشون میاد!
هر یال یا مثبته و یا منفی. هیچ حالت بینابینی وجود نداره.
یک مثلث متوازن (balanced) است اگر و تنها اگر حاصلضرب علامت یالهای آن مثبت باشه. (اگر تعداد یالهای منفی فرد باشه: (-,-,- یا -,+,+) اونموقع گراف ما و یا شبکه ما نامتوازن خواهد شد.)
خب حالا فرض کنید که ما یک شبکهی مشخص از اعضا و روابطشون داریم:
آیا میتونیم بگیم که اوضاع این شبکه چقدر متوزانه؟
آیا میتونیم با در نظر گرفتن شبکهی کشورهای دنیا و روابطشون بگیم آیا ممکنه بین دو کشور صلح برقرار بشه؟ یا اگه بین دو کشور صلح برقرار شد، اون موقع این صلح موضعی (منطقهای) چه اثراتی روی صلح جهانی داره؟ به عبارت دیگه اگه علامت یالی رو در یک شبکه عوض کنیم (رابطهی دو نفر رو از دوستی به دشمنی و یا عکس تبدیل کنیم) اون موقع میشه فهمید برای کل شبکه چه اتفاقی میافته؟
آیا میتونیم پیشبینی کنیم در چه شرایطی ممکنه بین هوادارهای دو تیم ورزشی توی ورزشگاه آزادی درگیری و نزاع پیش میاد؟
بله، با تقریب خوبی میتونیم همه اینکارها رو به لطف نظریهی توازن و یا بالانس تئوری انجام بدیم.
اجازه بدید کمی عمیقتر بشیم. خیلی راحت اثبات میشه که فقط دو راه برای یک شبکه بزرگ وجود داره که متوازن بشه، یا همه دوست هم بشند (جامعه بهشت بشه!) و یا اینکه شبکه قطبیده بشه، به این معنی که شبکه به دو بلوک تقسیم بشه جوری که داخل هر بلوک اعضا، دوست همدیگه حساب میشند و اعضای بلوک مقابل دشمن! درست مثل زمانی که دنیا به دو بلوک شرق و غرب تقسیم شده بود؛ یه سری این ور دوست هم بودند، یه سری هم اونور، بعد اینوریها نمیخواستند سر به تن اونوریها باشه!
خب پس وقتی ما یک شبکه داریم که در یکی از این دو حالت نیست یعنی متوازن یا بالانس نیست. سوال مهم اینه که خب اگر بخواهیم که شبکه رو بالانس یا متوازن کنیم چه کار باید انجام بدیم؟ یک راه پیشنهادی این هست که یک یال رو به صورت تصادفی انتخاب کنیم و علامتش رو عوض کنیم و بعدش ببینیم برای سیستم چه اتفاقی میافته. به عبارت دیگه اگر بعد از عوض کردن اون یال، تعداد مثلثهای متوازن در کل شبکه زیاد بشه یعنی اینکه ما تونستیم شبکه رو به یک حالت متوازنتر هدایت کنیم، ولی اگر با عوض کردن علامت یالی تعداد مثلثهای متوازن شبکه کم بشه یعنی عدمتوازن رو توی شبکه بالا بردیم.
از اونجایی که ما فیزیکپیشه هستیم، اجازه بدید با رویکرد انرژی به قضیه نگاه کنیم؛ با توجه به پیشفرضهای ما، انرژی شبکه باید متناسب باشه با تعداد مثلثهای نامتوازن منهای تعداد مثلثهای متوازن موجود درشبکه:
n تعداد کل رئوس است و به خاطر بهنجارش (Normalization) تفاضل انرژیها رو بر تعداد کل مثلثهای شبکه تقسیم کردیم تا انرژی هنجار به واحد بشه! بنابراین بیشترین مقدار انرژی ۱ و کمترین مقدار ۱- خواهد شد. وجود منفی هم به این خاطر هست که هرچی انرژی کمتر باشه (منفیتر) سیستم متوازنتره. خب بیاید با استفاده از این رابطه نمودار انرژی رو برای دو تا شبکهی کوچیک، یکی با ۳ راس و دیگری با ۴ راس بکشیم:
نمودار A انرژی یک شبکه یا ۳ راس رو نشون میده که سادهترین شبکه برای بررسی هست. بنابراین انرژی شبکه یا ۱ (نامتوزان) و یا ۱- (متوازن) هست. عددی که بالای هر مثلث نوشته شده فراوانی هر کدوم هست (مثلا اینکه یک یال خطچین باشه سه حالت داره، بدیهیه!)
نمودار B انرژی یک شبکهی با ۴ راس رو نشون میده. خب توی این شبکه علاوه بر حالات قبل، انرژی صفر هم مشاهده میشه. طبیعیه که ما توی این شبکه میتونیم از بالا به پایین بیایم و شبکه رو متوازن کنیم. برای این کار کافیه علامت یکی از یالها رو عوض کنیم و به وضعیت پایدارتر برسیم. خب این سوال مطرح میشه که:
آیا توی هر شبکهای ممکنه با عوض کردن علامت یک یال، به یک شبکهی متوازنتر رسید؟
متاسفانه در مورد شبکههای بزرگ(تعداد راس بیشتر) حالتهایی در سیستم وجود داره که به Jammed States و یا به قول استیون استروگاتز Strict Jammed States معروف هستند. این حالتها چیزی نیستند جزو کمینههای نسبی انرژی. به این معنی که انرژی اینحالتها از تمام حالتهای ممکن که با تغییر علامت یک یال در دسترس هستند، کمتر هست. بنابراین در حالتهای jammed یا مسدود، امکان اینکه تنها با تعویض علامت یک یال به یک حالت متوازنتر رفت، وجود نداره. به عبارت دیگه انرژی حالتهای مسدود کوچکتر یا مساوی انرژی حالتهای مجاور هست.
نکتهای که وجود داره اینه که حالتهای مسدود نمیتونند هر مقدار انرژی اختیار کنند. در حقیقت اینحالتها حداکثر میتونند انرژی صفر داشته باشند (کران بالای انرژی حالتهای مسدود صفر است). اثبات این موضوع خیلی سرراسته: هر یالی در یک حالت مسدود متعلق به مثلثهای متوازنی هست که تعدادشون برابر با تعداد مثلثهای نامتوازنه، چون در غیر این صورت علامت اون یال باید عوض بشه که این در تناقض با تعریف حالت مسدوده! بنابراین در شبکههای نسبتا بزرگ حالتهای مسدودی وجود که انرژی این حالتها حداکثر صفر هست.
ویژگی جالبی در مورد حالتهای مسدود با انرژی صفر وجود داره؛ یالهای مثبت در این حالتها عضو یالهای گراف Paley هستند. گراف Paley گرافی هست که تعداد رئوسش (q) یک عدد اول به شکل q=4k+1 هست. هر دو راس در این گراف درصورتی وصل هستند که تفاضل شماره اون دو راس یک عدد مربع کامل باشه به پیمانهی q. این گرافها خیلی خوشگل هستند و قیافهی متقارنی دارند. میتونید تعدادی از این گرافها رو اینجا ببینید.
اگر دوست دارید به یک حالت مسدود با انرژی U=0 برسید:
به یالهایی از شبکه که عضو گراف Paley هستند «+» نسبت دهید.به سایر یالها (یالهایی که عضو شبکه (گراف کامل) هستند ولی عضو گراف Paley نیستند) «-» نسبت دهید.
یک راس جدید به شبکه اضافه کنید (وسط شبکه!). هم اکنون شبکه شما q+1 راس دارد.
راس جدید را به q راس قبلی وصل کنید و به یالهای بین این راس و سایر رئوس «-» نسبت دهید.
با این روش شما میتونید یک حالت مسدود با انرژی صفر بسازید که q+1 راس داره.
یادمه زمانی بچههایی که میخواستند برند رشتهی هنر (دوم دبیرستان زمان ما، نظام یکمی قدیم!) معمولا از طرف خانواده نهی میشدند، چون که رشته ریاضی-فیزیک و علوم تجربی گزینههای نزدیکتری هستند برای «یه چیزی شدن» تا هنر. خونوادهها و مدارس کاملا مزدورانه سعی میکردند دانشآموز بیچاره رو متقاعد کنند که وارد رشتههای ریاضی و تجربی بشه چون که آینده بهتری در انتظارش خواهد بود! توجیه اکثر خونوادهها هم این بود: «درسته که به موسیقی علاقهداری ولی برای اینکه بتونی کار گیر بیاری بهتره بری درس مهندسی بخونی (مثلا!) و اینکه تو میتونی در کنار ریاضی و فیزیک خوندن (توی مدرسه و بعد دانشگاه) ، موسیقی هم یاد بگیری ولی نمیتونی بری رشتهی هنر و بعد در کنارش ریاضی یا فیزیک یاد بگیری که!» مسئله این بود که انگار با رفتن به موسسهای که موسیقی تدریس میکرد، یادگیری موسیقی امکانپذیر بود در حالی که خارج از محیط مدرسه و دانشگاه یادگیری ریاضی و فیزیک خیر. به نظر من این توجیهها یکی از بدترین انتقامهایی بود که نظام آموزشی بیمار ما از علم گرفت. امیدوارم این طرز تفکر امروز از بین رفته باشه چون که امروز واقعا میشه دانشگاه نرفت ولی ریاضی و فیزیک یادگرفت!
توی این پست قصد دارم نشون بدم که تمام دروسی که یک دانشجوی کارشناسی فیزیک میگذرونه رو بدون رفتن به دانشگاه میشه گذروند، حتی با کیفیت بالاتر! امروز با وجودآموزش آنلایناین امکان هست که شما توی خونتون، زیر کولر و با بیژامه بشیند و مکانیک کوانتومی یا الکترومغناطیس یادبگیرید، اون هم از بهترین اساتید بهترین دانشگاههای دنیا!
دروس دانشجوهای فیزیک به سه دستهی: ۱) دروس پایه ۲) دروس تخصصی ۳) دروس انتخابی تقسیم میشند که من سعی میکنم تا اونجایی که یادم هست لینک کورس(دوره)هایی که مرتبط با هر درس هست رو بذارم.
در ضمن، ممکنه من یکسری از درسها و کورسها رو از قلم انداخته باشم. شما به راحتی میتونید با جستجو(سرچ) هر چیزی رو که بخواید پیدا کنید. راستی ;کورسهای آموزشی موسسه پریمیتر رو از دست ندید! همینطور به لینکهای پیشنهادی سر بزنید.
سوالی که ممکنه براتون مطرح بشه اینه که: پس واقعا دانشگاه رفتن وقت آدم رو تلف میکنه؟ یا مثلا نریم دانشگاه دیگه؟ یا دانشگاه رفتنمون اشتباه بود؟
جواب این سوال منفیه! دانشگاه فقط محل ارائهی یک سری درس نیست! دانشگاهها پایه و اساس پژوهش هستند و نه صرفا محل برگزاری یکسری کلاس! دانشگاه محل اجتماعات علمی و تحقیقاتی هست و به هیچ وجه نباید در دانشگاه رو بست! در ضمن شما توی دانشگاه با انسانهای متفاوتی تعامل میکنید، انسانهایی که در بین وفور و پراکندگی منابع و راههای موجود برای رسیدن به سطح خوبی از علم میتونند شما رو راهنمایی و هدایت کنند. در حقیقت اینکه شما فقط انسان باهوشی باشید و یا اینکه مطالعهی زیادی داشته باشید، کافی نیست. شاید در مقاطع اولیه تحصیل این قضیه زیاد خودش رو نشون نده ولی زمانی که پای پژوهش به میون بیاد اون موقع هدایت علمی مناسب خودش رو به خوبی نشون میده. مهمترین تفاوت دانشگاهها و موسسات علمی تراز اول جهان با بقیه جاها در نوع کلاسهاشون و ساختمونهاشون نیست، بلکه وجود افراد به معنی واقعی متخصص هست که وظیفهی هدایت علمی رو درست ایفا میکنند. این بحث خیلی مفصلیه، امیدوارم بشه طی چندتا پادکست توی رادیوفیزیکبهش پرداخت.
در پایان، از همهی دوستانم توی سایر رشتهها درخواست میکنم که این لیست رو در مورد رشتهی خودشون منتشر کنند.
سالها بود که بشر به بسیاری از معادلات سخت ریاضی و ارتباط تنگاتنگشان با علومی مانند فیزیک رسیده بود. اما نکته خیلی مهمی وجود داشت و آن انجام این محاسبات و کشف و بررسی پدیدههای طبیعی مرتبط با آنها بود. در بسیاری از موارد، انجام یک عملیات ساده ریاضیاتی ساعتها و حتی روزها از دانشمندان وقت میگرفت و زمان مهمترین مساله به حساب میآمد. انسان آن روزها به این فکر افتاد که چگونه میتواند این حجم وسیع از محاسبات را در زمان کمتر انجام دهد! و از همان روزها، اولین جرقه براي ساخت وسیلهای که بعدا به آن کامپیوتر گفتند زده شد. در سال 1937 میلادي اولین نسل از رایانهها ساخته شد. البته قبل از این سال هم تلاشهای موفقی در زمینهی ساخت دستگاههای محاسباتی انجام شده بود. شاید کسی در آن زمان فکرش را نمیکرد رایانهها تا حد امروزی بتوانند پیشرفت کنند. طوری که امروزه نمیتوانیم نقش اساسی آن را در زندگی در نظر نگیریم. اما اگر از آن دوران بگذریم و برسیم به زمان خودمان، میبینیم بهطور تخصصی در زمینه فیزیک، کامپیوترها نقش و جایگاه ویژهای پیدا کردهاند که روز به روز در حال پررنگتر شدن میباشد. شبیه سازیهای گستردهای که در فیزیک انجام میشود، محاسبات فیزیکی، طراحی آزمایشهای متنوع فیزیکی و . . . نمونههای کوچکی از کاربردهای کامپیوتر در فیزیک به حساب میآید.
قصد دارم طی چند پست از کاربردهای مختلف کامپیوتر در فیزیک صحبت کنم و نمونههایی از شبیه سازیها، تحلیل دادهها و کمی هم پردازش تصویرهای انجام شده در فیزیک را مورد بررسی قرار دهم.
براي برنامهنویسی چهکار کنیم؟
خب با زبانهای مختلفی میتوانیم برنامهمان را بنویسیم. در اینجا براي نمونه از دو زبان برنامه نویسی استفاده میکنیم : ++C و Python و برنامههایمان را با هر دو زبان مینویسیم. البته هرجا که نیاز باشد از نرمافزارهای دیگر هم حتما استفاده میکنیم تا با طیف گستردهتری از برنامههای کاربردی آشنا شویم. درواقع ++c که پیشرفته شده زبان c هست، یک زبان همه منظوره است که امکان برنامه نویسی شئگرا جزو ویژگیهای اصلی آن به حساب میآید و یک زبان برنامه نویسی با سطح میانی به حساب میآید. براي نوشتن کدها به زبان ++C میتوان از نرم افزار هاي مختلفی استفاده کرد. در سیستم عامل ویندوز نرم افزارهایی مثل ++Code Blocks، Dev C و Visual studio را شاید بتوان به عنوان ساده ترین و پرکاربردترین نرمافزارهای برنامه نویسی به زبان سی پلاس پلاس معرفی کرد. در توزیعهای گنو/لینوکس به سادگی میتوان کدهای مورد نظر را در هر نرمافزار ویرایشگر متنی مانند gedit (در دسکتاپ گنوم) نوشت و در ترمینال اجرا کرد. (یا مثلا اینکه از نرم افزار geany استفاده کرد). اما در مورد پایتون باید گفت یکی از ساده ترین، پرکاربردترین و محبوبترین زبانهای برنامهنویسی به حساب میآید. دارای محیطی بسیار ساده و دلنشین است که ارتباط برقرار کردن با آن بسیار راحت میباشد. برای اطلاعات بیشتر بهوبسایت پایتونرجوع بفرمایید.
برویم سراغ یکی از سادهترین و تقریبا مهمترین مباحث موجود در فیزیک: حل معادله دیفرانسیل. در بسیاری از مسائل فیزیکی(کلاسیک و غیرکلاسیک)، به یک معادله دیفرانسیل برخورد میکنیم. اگر سري به کتابهای آموزشی معادلات دیفرانسیل بزنید، راههای تحلیلی زیادی براي حل این معادلات پیدا خواهید کرد. از راه حلهای ساده گرفته تا راههای پیچیده و دشوار. در اینجا میخواهیم به معرفی روشهایی که بتوان بهسادگی بسیاری از معادلات دیفرانسیل را به صورت عددی (با کامپیوتر و برنامه نویسی) حل کرد، بپردازیم. در ضمن نکته بسیار مهمی که باید ذکر کنیم این است که بسیاری از معادلههای دیفرانسیل جواب تحلیلی ندارند! و استفاده از روشهای عددی تنها راه حل به حساب میآید.
روش حل عددی چیست!؟
در روشهای عددی مساله را بجای اینکه پیوسته در نظر بگیریم(مانند حل تحلیلی)، گسسته فرض میکنیم سپس در بازههای زمانی کوچک جواب مساله را به دست میآوریم و مساله را با تقریب زدن ساده ترش میکنیم. اینکار را بارها تکرار میکنیم تا به جواب مورد نظرمان برسیم. براي انواع معادلات دیفرانسیل، انواع روشهای عددی وجود دارد مثل :روش اویلر ، روش اویلر-کرامر، روش هون ، روش تیلور،روش رانگ-کوتا ، روش آدامز-بشفورت-مولتون و … .
با یک مثال ساده فیزیکی شروع کنیم:
می خواهیم نیمه عمر یک ماده رادیواکتیو را بررسی کنیم. نیمه عمربه مدت زمانی میگویند که ماده پرتوزا به نصف مقدار اولیهی خود بر اثر واکنشهای پرتوزایی تقلیل پیدا میکند. معادله دیفرانسیل مربوط به نیمهعمر رادیو اکتیو را میتوان بصورت زیر نوشت:
در این معادله ${N(t)}$ تعداد ذرات ماده برحسب زمان و τ طول عمر متوسط مادهی پرتوزا است.${N(0)}$ مقدار اولیه مادهاست و τ برای اورانیوم ۲۳۵ برابر با ۷۰۰میلیون سال است. حل تحلیلی این معادله به صورت زیر میباشد:
$$N(t)=N_0 e^{-t/\tau }$$
حالا میخواهیم این معادله را گسسته کنیم و در بازههای زمانی کوچک حلش کنیم و در نهایت حل عددی آن را با جواب تحلیلی مقایسه کنیم. ابتدا بسط تیلور تابع${N(t)}$ را می نویسیم:
خب در بسط تیلور، هرچقدر t∆ کوچکتر باشد تقریب دقیقتری داریم (زیرا گسستگی کمتر میشود) و حتی میتوانیم جملات از مرتبه 2 به بعد را هم نادیده بگیریم.زیرا هرچقدر t∆ کوچکتر باشد، در عمل وقتی به توان میرسد قابل چشم پوشی است. در نتیجه به معادله زیر میرسیم:
این معادله در واقع مقدار تابع مورد نظر را در هر مرحله نسبت به مرحله قبل به ما میدهد (به اندیس ها توجه کنید).طبق معادله دیفرانسیل مربوط به نیمه عمر رادیواکتیو هم میدانیم${ \frac{\mathrm{d}N(t) }{\mathrm{d} t}=-\frac{N(t)}{\tau} }$ و در نهایت میرسیم به یک معادله تر و تمیز برای برنامه نویسی و محاسبه عددی:
به این روش گسستهسازی معادله دیفرانسیل، روش اویلرمیگویند.
خب تنها کاري که باید براي نوشتن برنامه انجام دهیم پیاده کردن الگوریتم اویلر است . خب اطلاعاتی که در اختیار داریم چیست؟ مقدار اولیه ماده (شرایط اولیه)، معادله دیفرانسیل مربوطه و گام گسستهسازی یا همان t∆ . کاري که باید بکنیم این است که${N_{i+1}}$ را نسبت به مرحله قبل حساب و مقدار آن را در هر مرحله ذخیره کنیم. پس در واقع ما به یک ساختار تکرار نیازمندیم که در هر مرحله زمان و ${N_{i+1}}$ را برایمان حساب و ذخیره کند. یک سری کارهای جانبی هم میماند مثل تعریف متغیرها ، اضافه کردن کتابخانه ها (در زبان ++c) و … که کارهای سادهای هستند.
در ++c:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
double N, dt = 0.01, T = 700, t = 0;
N = 100;
ofstream o;
o.open("Radioactive Decay.txt", ios::out);
o<<"Time"<<"\t"<<"Numerical"<<endl;
while(t <= 20)
{
o<<t<<"\t"<<N<<endl;
N = N - (N / T) * dt;
t = t + dt;
}
o.close();
}
و در پایتون:
t = 0
T = 700
N = 100
dt = 0.01
f = open("Radioactive Decay.txt", "w")
f.write("Time" + "\t" + "Numerical" + "\n")
while t <= 20 :
N = N - ( N / T ) * dt
t = t + dt
f.write(str(t) + "\t" + str(N) + "\n")f.close()
سعی کردیم برنامهها را در نهایت سادگی بنویسیم! در قسمت اول برنامه، متغیرهای مورد نیاز را تعریف کردیم و مقدارهاي اولیه را به آنها نسبت دادیم. سپس یک فایل ایجاد کردیم تا اعداد محاسبه شده را در آن ذخیره کنیم. قسمت بعد با استفاده از یک دستور تکرار، الگوریتم اویلر را پیاده و اعداد را در فایلی که قبلا ایجاد کرده بودیم، ذخیره کردیم . حالا ما از این اعداد استفاده میکنیم و نمودارهاي مساله مورد نظرمان را رسم میکنیم.
در نمودارهای زیر حل تحلیلی و عددی را با هم مقایسه و درصد اختلاف آنها را با توجه گام گسستهسازی مقایسه کردهام. به این نکته هم باید توجه کرد که شرایط اولیه مساله کاملا دلخواه است و میتوان مساله را به ازای شرایط اولیه مختلف حل و جوابها را مقایسه کرد.
میبینیم که طبق انتظارمان حل تحلیلی و حل عددی بسیار به هم نزدیک هستند و با کاهش گام گسسته سازی جواب تحلیلی و عددی بسیار بهم نزدیک میشوند. معادلههای دیفرانسیل زیادي را میتوان به همین سادگی حل کرد. میتوان از بخش گرافیکی خود محیط برنامهنویسی هم استفاده کرد و نمودارها را در همان محیط برنامهنویسی رسم کرد (به زودی در مورد آنها هم مینویسم). همچنین میتوان خروجی برنامه را برای تحلیلهای دقیقتر و کارهای جالب و هیجان انگیز دیگر، به نرمافزارهای ریاضیاتی پیشرفته مثل Methematica داد.
چند سوال باقی می ماند: آیا همه معادلات دیفرانسیل را میتوان با این روش حل کرد؟ اگر معادله دیفرانسیل مرتبه یک نباشد حل عددی آن چگونه میشود؟ حلهای عددی برای هر مقدار اولیه و هر گام گسسته سازی دارای جواب قابل قبول هستند؟ به امید خدا در پستهای بعدي این سوالات را بررسی خواهیم کرد.
پادکست شماره ۱/۰،«فیزیک پایه – سهل ممتنع»، گفتوگوی صمیمی بینعباس کریمی و امید مومنزاده در مورد مفاهیم ابتدایی فیزیک پایه است . مفاهیمی که به وفور از آنها استفاده میکنیم و ظاهرا بسیار بدیهی به نظر میرسند؛ در صورتی که اینگونه نیست! مفاهیمی مثل جرم لختی، انرژی، فضا، بینهایت و … . همچنین در این پادکستعباس کریمیبه این پرسش پاسخ میدهد که آیا قوانین فیزیک کشف و یا اختراع شدهاند و پس از آنامید مومنزاده به این سوال در مورد ریاضیات میپردازد.
برای کمی سرگرمی بیشتر، از این به بعد شمارهی پادکستها به این صورت خواهد بود که ارقام ثابت کاهش یافته پلانک ،با افزایش دقت، شماره برنامه میشوند. در هر پادکست جدید یک رقم بامعنی به رقم قبلی اضافه خواهد شد. این شماره ۱/۰ ، شماره بعد ۱/۰۵، شماره بعد از آن ۱/۰۵۴ و …
دانلود مستقیم از سایت رادیو فیزیک (ترجیحا از گزینههای بالا استفاده کنید): دانلود
این پادکست یک برداشت کاملا آزاد از یکی از برنامههای World Science U است. آهنگ پخش شده در ابتدا و انتهای این پادکست برگفته شده از وب سایت symphonyofscience.com هستند. شما میتوانیدسایر موزیکهای پخش شده در این پادکست را از سایت jamendo.com رایگان و آزاد تهیه کنید.
با تشکر از همهی شما. امیدواریم که از شنیدن این پادکست لذت ببرید 🙂
درصورت تمایل این کتاب را دانلود کنید و عنوان مطلبی که علاقمند به ترجمه آن هستید را در قسمت نظرات بنویسید و یا به نشانی abbascarimi در gmail ایمیل کنید!
ما توی اصفهان زندگی میکردیم برای همین با اینکه زایندهرود اونموقعها پر از آب بود ولی امکان مشاهدهی پدیده «جزر و مد» وجود نداشت. یادمه اولین باری که «جزر و مد» رو مشاهده کردم برمیگرده به ۱۲-۱۳ سال پیش (اوایل ابتدایی)، تویبندرگناوه! کنار ساحل آتش درست کرده بودیم که یکی از بومیهای اونجا اومد و به من گفت: «برید بالاتر آتش درست کنید، آب میاد زیرش و خاموشش میکنهها!». من فکر کردم منظورش این بوده که ممکنه یه موج بلندی بیاد و آتش ما رو خاموش کنه، ولی از اونجا که دریا واقعا آروم بود گفتم این بندهخدا فقط میخواست یه چیزی بگه و بره! تا اینکه همون اتفاق افتاد! برای من سوال شده بود که چی شد که سطح آب دریا بالا اومد و توی ساحل پیشروی کرد که بهم گفتند جزر و مد رخ داده و وقتی پرسیدم که چرا جزر و مد اتفاق افتاده، عموم به ماه اشاره کرد و گفت:
«جاذبهی ماه آب دریا رو بالا میکشه، فردا صبح آب دومرتبه برمیگرده سرجای اولش!». این توجیه یکم عجیب همراه من بود تا اینکه بعد از اون ماجرا فهمیدم ماه از خودش تابش نداره و علت دیدهشدنش توی شب بازتاب نورخورشیده، همینطور علت دیده نشدنش توی روز غلبهی شدت نور خورشید بر نوربازتابیده شده از اونه نه اینکه ماه رفته یک جای دیگه! فهمیدن این موضوع برای من منجر به این سوال شد که به اینترتیب ماه همیشه هست، پس چرا فقط شب، ماه، آب رو به سمت بالا میکشه؟! خلاصه با مرور زمان جواب سوال من پیدا شد ولی باز هم بعد از پیدا کردن اون جواب، یک سوال دیگه پیش اومد و این سیر پرسش و پاسخ اینقدر با من همراه بود که من رو وارد رشتهی فیزیک کرد، جایی که بتونم برای هر سوالی، لااقل یک جواب معقول پیدا کنم. البته کمکم فهمیدم که گاهی از اوقات پیدا کردن جواب اونقدرها هم ساده نیست! به هرحال بعد از گذشت چندین سال از اولین مشاهدهی من از جزر و مد، تصمیم گرفتم هر چیزی رو که تا به امروز در مورد این پدیدهی فوقالعاده زیبا یاد گرفتم، بنویسم، شاید پسر بچهای ۸-۹ ساله (یا بزرگتر!) با رجوع به اینجا بتونه جواب خوبی برای سوالی که براش مطرح شده پیدا کنه.
از نقطه نظر تاریخ علم:
ماجرا از اینجا شروع میشه که ارائه یکمدل ریاضیبراینظریه خورشید مرکزی با قدرت پیشبینی کامل، تا قرن ۱۶ میلادی طول کشید. درست زمانی کهنیکلاس کوپرنیک، با ارائه این مدل باعث بوجود اومدن انقلاب کوپرنیکی شد. البته كوپرنیک در كتاب «درباره گردش افلاك آسمانی» صادقانه بیان میكنه كه تحت تأثیر افكار «ابن شاطر» قرار داشته! بعد از کوپرنیک،یوهانس کپلر با اضافه کردن مواردی مثل اینکه مدار سیارات به دور خورشید بیضی است، این مدل رو تشریح و گسترش داد. این مدل توسط مشاهدات تجربیگالیلهبا استفاده ازتلسکوپتایید شد و بعد از اون جناب نیوتون با ارائهی نظریهی گرانش،مکانیک سماویرو بنا کرد، گوشهای از علم فیزیک که به کمکش میتونیم جزر و مد( کِشَند یا Tide) رو توجیه کنیم! از لحاظ تاریخی توجیه پدیدهی جزر و مد از مواردی بود که به شدت بر درستی نظریهی خورشید مرکزی صحه گذاشت.
به بیان ساده:
همهی ما میدونیم که زمین دور خورشید و ماه هم به دور زمین میچرخه و تمام این اجرام آسمانی میدان گرانشی ایجاد میکنند که متناسب با وارون مربع فاصله است ( ${۱/r^۲ }$). این میدانهای گرانشی به همراه چرخش زمین به دور خودش سبب جزر و مد میشند. نیروی گرانشی خورشید ۱۷۹برابر نیرویی هست که ماه به زمین وارد میکنه ولی از اونجایی که به طور متوسط خورشید ۳۸۹برابر ماه از زمین فاصله داره،گرادیان میدانش ضعیفتره.
برای همین معمولا در گفتگوهای عامیانه علت جزر و مد رو به جاذبهی ماه نسبت میدند که خب کافی نیست! (جاذبه کره ماه علاوهبر جزر و مد باعث باثبات موندن محور گردش زمین بهدور خودش هم میشه، یعنی اگر ماه وجود نداشت، انحراف محوری زمین مرتبا تغییر میکرد و باعث آشفته شدن آب و هوا و فصلها توی زمین میشد). اثر گرانشی ماه بر زمین جامد(صلب) بسیار ناچیز و از مرتبهی سانتیمتر است برای همین تغییر چشمگیری بر ساختار صلب زمین نداره، در عوض این اثر در مورد اقیانوسها که سیال هستند به وضوح دیده میشه. قسمتی از اقیانوسها که روبهروی ماه هستند به سمت ماه کشیده میشند و طرف دیگه (پشت زمین) به نظر میرسه که جا مونده. علتش هم اینه که اولا گرانش با فاصله رابطه عکس داره و از طرف دیگه آب یک سیاله و میتونه حرکت کنه!
«ساز و کار واقعی جزر و مد از این قراره که کشش ماه بر زمین و بر ماه در وسط متعادل است. اما آبی که نزدیکتر به ماهه، بیشتر از متوسط و آبی که دورتر از ماهه کمتر کشیده میشه. در حالیکه زمین جامد و صلبه، آب میتونه جریان داشته باشه. تصویرواقعی جزر و مد ترکیبی از این دو اتفاقه! خب منظور از تعادل چیه؟ چه چیزی تعادل پیدا میکنه؟ اگر ماه کل زمین رو به سمت خودش میکشه پس چرا زمین درست به سمت بالا (ماه) سقوط نمیکنه؟
علتش اینه که زمین هم، همین کلک رو میزنه، یعنی اینکه زمین بر روی دایرهای – که مرکزش در داخل حجم کرهی زمینه ولی با مرکز زمین خیلی فاصله داره – گردش میکنه. اوضاع صرفا به این سادگی نیست که ماه به دور زمین بچرخه، زمین و ماه هر دو حول یک مرکز مشترک میچرخند. یعنی هر دو دارند به طرف این مرکز مشترک که مرکز جرم این منظومهی دوتایی است سقوط میکنند. حرکت به دور مرکز مشترک همون چیزیه که سقوط اونها رو متعادل و متوازن میکنه! بنابراین زمین هم روی خط راست حرکت نمینکنه، روی یک دایره حرکت میکنه! آب طرف دورتر به ماه، متعادل نشده، چون که کشش ماه اونجا ضعیفتره تا در مرکز زمین که در اونجا نیروی کشش ماه درست با نیروی مرکزگریز متعادل (برابر) است. نتیجهی نبود این تعادل اینه که آب بالا میاد، یعنی از مرکز زمین فاصله میگیره. در طرف نزدیک به ماه، جاذبه ماه شدیدتره، بنابراین نیروی خالص ناشی از نبود تعادل، به سمت دیگر فضاست. ولی این بار هم در جهتی است که از مرکز زمین دور بشه. نتیجهی خالص همهی اینها اینه که دو تا مد، هر کدوم در یک طرف زمین داریم!»
ارتفاع یا دامنه جزرومد در روزهای مختلف یک ماه قمری متفاوته به این دلیل که علاوه بر ماه، خورشید هم تاثیرگذار هست. اگر ماه، خورشید و زمین روی یک خط واقع بشند، معروف به حالت «مهکشند- Spring Tide»، در حالت ماه نو یا ماه کامل، اون موقع بیشترین ارتفاع یا دامنه رو جزر و مد پیدا میکنه. واگر ماه عمود بر خط واصل خورشید و زمین قرار بگیره، معروف به حالت «کهکشند – neap tide»، کمینهی ارتفاع و یا دامنهی جزر و مد بهوجود میاد. تقریباً یک هفته بعد از ماه نو، از دید ناظر زمینی، ماه دقیقا از پهلو مورد تابش نور خورشید قرار میگیره. توی این حالت نصف ماه تاریک و نصفهی دیگه روشن دیده میشه؛ به این وضعیت «یکچهارم نخست» میگند. دوباره یک هفته بعد، ماه از دید این ناظر، دقیقا در مقابل خورشید قرار میگیره و ماه به صورت قرص کامل نورانی دیده میشه (بدر یا در اصطلاح عامیانه ماه شب چهارده). در هر سال اگر که حالت مهشکند مصادف با اعتدالین واقع بشه اونموقع بیشترین حد ممکنه برای جزر و مد اتفاق میافته. بنابراین به طور عادی، در هر شبانه روز دوبار جزر و دوبار مد اتفاق میافته که البته فاصلهی بین هر دو جزر یا مد حدود ۱۲ ساعت و ۲۴/۴ دقیقه است.
به بیان دقیقتر:
زمین با تقریب خوبی یک کرهی صلب هست که سطح زیادی از اون رو سیال(آب اقیانوسها و دریاها) فراگرفته. با در نظر نگرفتن جریانهای اقیانوسها میشه سطح اقیانوسها رو یک سطح همپتانسیل (معروف به زمینواره) در نظر گرفت. از اونجایی که نیروهای گرانشی، گرادیان پتانسیل هستند، هیچ نیروی مماسی بر این سطوح وجود نداره و سطح اقیانوسها در تعادل گرانشی قرار دارند. اجرام خارجی سنگین، مثل ماه و خورشید، به
خاطر اینکه میدانهای گرانشی متناسب با فاصله ایجاد میکنند، شکل این سطح همپتانسیل رو بههم میزنند (این تغییر شکل دارای جهتگیری فضایی ثابتی نسبت به اجسام اثرگذار هست). این وسط یک دفعه سر و کلهی نیروهای جزر و مدی یا نیروهای کشندی پیدا میشه! در حقیقت، نیروهای کشندی (Tidal Forces) از آثار ثانویه نیروی گرانش هستند که باعث بوجود اومدن جزر و مد میشند. نیروی کشندی به این دلیل بهوجود میاد که نیروی گرانشی وارد شده از یک جسم به یک جسم دیگه، در طول قطرش یکسان نیست و سطوحی از جسم که به جسم اول نزدیکترند با نیروی بیشتری از نقاط دورتر جسم کشیده میشند. برای درک بهتر، جاذبه گرانشی ماه بر روی اقیانوسهای نزدیک به ماه، زمین جامد(صلب) و اقیانوسهای دور از ماه را در نظر بگیرید. بین زمین جامد و ماه یک جاذبه دوجانبه وجود داره که بر گرانیگاه (مرکزثقل) وارد می شه. اما اقیانوسهای نزدیکتر با نیروی بیشتری جذب می شند و چون سیال هستند، کمی به سوی ماه کشیده و باعث مد میشند. برخلاف نیروهای گرانشی، با تقریب خوبی، نیروهای کشندی با وارون مکعب فاصله( ${۱/r^۳ }$) متناسب هستند. درحقیقت سطح اقیانوسها به خاطر تغییر همپتانسیلهای کشندی (tidal equipotentials) جابهجا میشند.
تشدیدهای کشندی (Tidal Resonances):
از لحاظ نظری، حداکثر دامنهی جزرومدی که توسط ماه ایجاد میشه حدود ۵۴ سانتیمتر و حداکثر دامنهای که توسط خورشید ایجاد میشه ۲۵ سانتیمتر (۴۶٪ ماه) است. در حالت مهکشند، این دو اثر با یکدیگر جمع شده و ارتفاع جزر و مد حدودا به ۷۹ سانتیمتر میرسه . در حالت کهکشند هم این مقدار به ۲۹ سانتیمتر کاهش پیدا میکنه. با این وجود در طبیعت بیشترین ارتفاعی که مشاهده شده ۱ یا ۲ متر بوده. همینطور در دریاچهها و دریاهای منزوی به علت اینکه آب جریان نداره و ارتباطش با بیرون قطعه، دامنه جزر و مد کمتر از اقیانوسهاست. با این وجود در بعضی جاها مثل خلیج فاندی، دامنه جزر و مد به ۱۵ متر هم میرسه! حقیقت اینه که همون جوری که ارتعاش هوا داخل لولههای صوتی تشدید ایجاد میکنه، نوسانات آب درون کانالها و خورها هم منجر به تشدید میشه. جزر و مدهای بزرگ هنگامی اتفاق میافتند که چرخهی جزر و مد رفتهرفته دامنهی مناسب یک موج ایستاده(ایستا) رو داخل کانال ایجاد کنه. آب داخل کانال زمانی در حال تعادله که سطحش صاف و افقی باشه، همینطور زمانی که دچار آشفتگی میشه، مثل فنر با نیروهای بازگرداننده مواجه میشه. عامل بهوجود اورندهی این نیروهای بازگرداننده گرانش هست. (این موجها به موج گرانش یا موج جاذبه معروف هستند – gravity waves. مواظب باشید که با موج گرانشی اشتباه نگیرید! موج گرانشی هم توسط میدان گرانشی تولید میشه، با این تفاوت که موج گرانشی به طور نظری انرژی تابش گرانشی رو منتقل میکنه). برای اینکه شهود بهتری نسبت به موج گرانش پیدا کنید کافیه زمانی که یک لیوان چای دستتونه و در حال راه رفتن هستید، لیوان رو به طور منظم عقب و جلو ببرید، اونموقع، موج گرانش رو مشاهده میکنید! اگر راه رفتنتون رو جوری تنظیم کنید که با فرکانس تشدید یک موج ایستاده همگام(synchronized) بشه اونموقع شما دامنهی یک موج بلند رو (با انتقال انرژی تشدید) ایجاد میکنید و احتمال زیاد بعد از اون مجبور میشید که لباستون رو عوض کنید! پس ترجیحا این آزمایش رو توی مهمونی انجام ندید!
امواج ایستاده سطح آب، مثل امواج ایستاده که روی سازهای زهی مثل ویولن تشکیل میشند، امواج عرضی هستند. جزر و مدهای بزرگی که در انتهای یک خور هستند در حقیقت شکم یک موج ایستاده هستند که بین قله و دره نوسان میکنند. اگر در یک تشت آب این رو آزمایش کنیم دورهی تناوب موجهای ما از مرتبهی ثانیه یا چند میلیثانیه میشه اما در مورد جزر و مدهای بزرگ، دورهی تناوب میتونه به چندین دقیقه و حتی ساعت هم برسه که به این دسته از امواج ایستاده سایش (Seiche) میگند! آب در خلیج فاندی داری سایش با دورهتناوب ۱۳/۳ ساعت است!
از جزر و مد برای تولید برق هم استفاده میکنند که بیشتر مهندسیه تا فیزیک، پس به راحتی از خیرش میگذرم! نگاه کنید بهاینجا!
اگر دوست دارید که این پدیده رو با دقت بیشتری بررسی کنید، پیشنهاد میکنم به فصل دوم از کتاب «مبانی ژئوفیزیک، نوشتهی ویلیام لوری –William Lowrie,Fundamentals of Geophysics» رجوع کنید. اونجا محاسبات دقیق رو میتونید پیدا کنید.