منوی اصلی
مهندسی مکانیک و هوافضا
www.Aeros.ir
  • حسین اتحادی پنجشنبه 17 اسفند 1396 07:32 ب.ظ نظرات ()
    با سلام ، کلیه دانشجویان اینجانب جهت مشاهده تمارین روی درس مربوط به خودشان کلیک کنند :

    درس مکانیک سیالات

    درس ترمودینامیک

    درس آیرودینامیک 1

    درس آیرودینامیک 2

    درس مقدمه ای بر هوافضا

    درس انتقال حرارت
    آخرین ویرایش: پنجشنبه 17 اسفند 1396 07:36 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی دوشنبه 20 آبان 1398 08:45 ب.ظ نظرات ()

    برازش منحنی به عملی گفته می‌شود که با کمک آن می‌توان منحنی‌های مختلف را از مجموعه‌ای از نقاط عبور داد. مثلاً شما تعدادی داده‌ی آزمایشگاهی دارید و می‌خواهید بهترین منحنی با معادله مشخص و یا نامشخص را از این نقاط عبور دهید، به این کار برازش منحنی می‌گویند. در ادامه مطلب با ترفندها همراه باشید تا نرم افزارهایی جهت برازش منحنی به شما معرفی کنیم.

    نرم افزار های مورد استفاده جهت برازش منحنی بسته به نوع داده‌ها (تعداد متغییرهای وابسته و مستقل) به دو دسته‌ زیر تقسیم می‌شوند.

    الف) نرم افزارهای برازش منحنی برای داده‌های با ۱ متغیر وابسته و ۱ متغییر مستقل (2D)

    ۱) نرم افزار اکسل

    برای این کار می‌توانید از قابلیت Trend Line موجود در نرم افزار اکسل که قبلا در این مطلب شرح داده شده است استفاده کنید.

    ۲) نرم افزار CurveExpert Basic

    این نرم افزار دارای تعداد زیادی مدل رگرسیون خطی و غیر خطی و روش‌های مختلف درونیابی می‌باشد. همچنین امکان تعریف مدل‌های رگرسیون توسط کاربر پیش بینی شده است. تعداد نقاط داده‌ای قابل تعریف در این نرم افزار نامحدود می باشد. نقاط داده‌ای را می توان مستقیماً وارد نمود. علاوه بر این امکانات ویژه‌ای برای وارد نمودن داده‌ها از انواع فایلهای مختلف در نظر گرفته شده است که بطور هوشمند می‌تواند توضیحات و متون را از نقاط داده‌ای تشخیص دهد. علاوه بر امکانات گرافیکی مناسب، قابلیتهای تحلیلی از جمله محاسبه مشتق و انتگرال در نظر گرفته شده است.

    راهنمای استفاده از این نرم افزار را از اینجا دانلود کنید. همچنین ویدئوی آموزشی زیر را نیز می‌توانید مشاهده کنید.

                                                   
     

    دریافت
    مدت زمان: 4 دقیقه 48 ثانیه

    منبع: tebyan.net

    ۳) نرم افزار Table Curve 2D. ver 5.01   (لینک کمکی نسخه 30 روزه)

    این نرم افزار نیز برای برازش دو بعدی کاربرد دارد. راهنمای استفاده از این نرم افزار را از اینجا دانلود کنید.

    راهنمای فعال سازی:

    پس از نصب و اجرای نرم افزار در پنجره License information بر روی گزینه Update کلیک نموده و سپس شماره سریال 45DA09CE-FBFB1907 وارد کنید.

    نکته: اگر در ابتدای اجرای برنامه پنجره ی مورد به هر دلیلی نمایش داده نشد می توانید پس از وارد شده به محیط برنامه از مسیر Tools-->chose update product license به پنجره لایسنس دسترسی پیدا کنید.

     

    ۴) نرم افزار تخصصی متلب (Matlab)

    نرم‌افزار متلب به شما اجازه‌ی انتخاب هر نوع معادله‌ای را می‌دهد و شما با انتخاب نوع معادله و ورود داده‌ها به نرم‌افزار می‌توانید ضرایب معادله مورد نظر خود را بدست آورید. در اینجا به صورت تصویری، چگونگی برازش منحنی یا کرو فیتینگ (Curve Fitting) در نرم‌افزار متلب را توضیح داده‌ شده است.


    ب) نرم افزارهای برازش منحنی برای داده‌های با ۱ متغیر وابسته و ۲ یا چند متغییر مستقل (3D)

    ۱) نرم افزار CurveExpert Professional

     

    ۲) نرم افزار Table Curve 3D. ver 4.0   (لینک کمکی نسخه 30 روزه)

    راهنمای فعال سازی:

    پس از نصب و اجرای نرم افزار در پنجره License information بر روی گزینه Update کلیک نموده و سپس شماره سریال 2A7CF6F8-FBFB1907 وارد کنید.

    نکته: اگر در ابتدای اجرای برنامه پنجره ی مورد به هر دلیلی نمایش داده نشد می توانید پس از وارد شده به محیط برنامه از مسیر Tools-->chose update product license به پنجره لایسنس دسترسی پیدا کنید.

    نرم افزارهای دیگری نیز برای برازش منحنی وجود دارد از جمله:

    ۱- DataFit

    ۲-EasyFit

    و ...

    آخرین ویرایش: دوشنبه 20 آبان 1398 08:46 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی چهارشنبه 15 آبان 1398 02:04 ب.ظ نظرات ()

    فنون و کلیدهای کارآمدی زیادی برای بالا بردن بهره وری وجود دارند. با استفاده از این کلیدهای میانبر می توانید با انرژی بیشتری به کدزنی مشغول شوید.

    1- مرتب کردن کدها امری بسار مهم اما وقت گیر می باشد که بوسیله CRTL + K + D این کار به آسانی انجام می گیرد.

    2- هنگام خطایابی و یا تست کدها کامنت کردن کدها استفاده زیادی دارد و با استفاده از CTRL+K+C/CTRL+K+U می توانید کدها را کامنت کرده و یا از کامنت درآورید.

    3- با رفتن روی یک قسمت از کد و با استفاده از ALT+up/down می توانید آن خط کد را بالا و پایین ببرید.

    4-با زدن کلید F12 به کلاس مورد نظر رفته و با استفاده از  - CTRL به محل قبلی بازگردید.

    5-با نگه داشتن CTRL + کلیک موس به کلاس مورد نظر می روید.

    6-از این پس برای عملیات Refactor کردن یا کلاس کردن می توان از کلید میانبر CTRL+R+M استفاده کنید.

    7-برای پیدا کردن تمامی رفرنس ها کافی است از کلید میانبر Shift + F12 استفاده نمایید.

    8-هنگامی که می خواهید یک تکه کد را داخل Try بیندازید می توانید از Ctrl + K + S استفاده نمایید.

    9-برای انتخاب یک مربع از کد می توانیید ابتدا Alt را نگه داشته و با نگاه داشتن کلیک موس یک مربع دلخواه ترسیم نمایید.

    10-با استفاده از کلید میانبر CTRL + M + O کدها را جمع کرده و و برای باز کردن آن از CTRL + M + X استفاده می نماییم.

    11-کدهای زیادی بدون گروه بندی وجود دارند. می توانید از CTRL+M+H/CTRL+M+U استفاده نمایید.

    12-برای بستن پنجره از ALT+F4 استفاده نمایید.

    آخرین ویرایش: چهارشنبه 15 آبان 1398 02:08 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی سه شنبه 14 آبان 1398 06:31 ب.ظ نظرات ()
    30

    In C you can easily initialize an array using the curly braces syntax, if I remember correctly:

    int* a = new int[] { 1, 2, 3, 4 };
    

    How can you do the same in Fortran for two-dimensional arrays when you wish to initialize a matrix with specific test values for mathematical purposes? (Without having to doubly index every element on separate statements)

    The array is either defined by

    real, dimension(3, 3) :: a
    

    or

    real, dimension(:), allocatable :: a You can do that using reshape and shape intrinsics. Something like:
    INTEGER, DIMENSION(3, 3) :: array
    array = reshape((/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), shape(array))
    

    But remember the column-major order. The array will be

    1   4   7
    2   5   8
    3   6   9
    

    after reshaping.

    So to get:

    1   2   3
    4   5   6
    7   8   9
    

    you also need transpose intrinsic:

    array = transpose(reshape((/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), shape(array)))
    آخرین ویرایش: - -
    ارسال دیدگاه
  • حسین اتحادی سه شنبه 14 آبان 1398 06:06 ب.ظ نظرات ()

    توابع یک خطی Statement Functions

    وقتی توابعی که بکار می برید، آنچنان کوتاه هستند که در یک خط تمام می شوند، می توانید از این ساختار استفاده کنید.

    Function_name({list of parameters}) = expression

    مثلاً تابع نیوتن که در بالا تعریف شد را می توان با این ساختار به شکل زیر نوشت.

    Newton(m1, m2, r) = -6.672E-11*m1*m2/r**2

    زیربرنامه های خارجی External Subroutines

    ساختار زیر برنامه ها به شکل زیر است.

    
    SUBROUTINE name {dummy argument list}
       local variables declaration
       body of subroutine…
    END SUBROUTINE name

    در فرترن تمام متغیرها با آدرس فرستاده می شوند “call by reference” (مانند VAR arg در Pascal یا &arg در C++)، یعنی آدرس متغیر در حافظه به زیربرنامه فرستاده می شود، و زیربرنامه می تواند متغیر را مستقیماً تغییر دهد. در توابع نیز چنین است، اما فرض می گردد که توابع متغیرهای ورودی را تغییر نمی دهند.

    دستورات RETURN, SAVE, EXTERNAL, INTERNAL

    همه روالهای خوب باید یک نقطه ورود و یک نقطه خروج داشته باشند، اما گاهی لازم است که زیربرنامه در نقطه ای دیگر پایان یابد (برای مثال هنگام ایجاد خطا). برای اینکار از دستور RETURN استفاده می گردد. این دستور اجرای زیر برنامه را متوقف کرده و برنامه را به روال فراخوانی کننده این زیر برنامه باز می گرداند.

    پس از پایان یک زیربرنامه، مقدار همه متغیرهای محلی از بین می رود. اگر بخواهیم این مقادیر در اجرای بعدی زیربرنامه موجود باشد(STATIC ALLOCATION)، باید این موضوع را برای مترجم مشخص کنیم تا مترجم بداند که باید مقدار متغیرها را ذخیره کند. این موضوع را با دستور SAVE به مترجم اصلاع می دهیم. ساختار این دستور به این شکل است:

     SAVE [{list of local variables to be saved}]

    وقتی یک تابع بعنوان متغیر به یک روال دیگر فرستاده می شود، نوع تابع باید قبل از ارسال بعنوان داخلی یا خارجی تعریف گردد. این تعریف با دستورات زیر صورت می گیرد.

    INTRINSIC {list of function names} EXTERNAL {list of function names}

    برای مثال

    PROGRAM func
    EXTERNAL CTN
    INTRINSIC SIN, COS
    REAL::angle=0.785 !...pi/4
    REAL::sine,cosine,tangent
    CALL TRIG(angle,SIN,sine)
    WRITE(*,*) 'SIN(0.785)=',sine
    CALL TRIG(angle,COS,cosine)
    WRITE(*,*) 'COS(0.785)=',cosine
    CALL TRIG(angle,CTN,cotangent)
    WRITE(*,*) 'COTAN(0.785)=',cotangent
    PAUSE
    END PROGRAM func
    SUBROUTINE TRIG(X,F,Y)
    Y = F(X)
    RETURN
    END SUBROUTINE TRIG
    FUNCTION CTN(X)
    CTN = COS(X)/SIN(X)
    RETURN
    END FUNCTION CTN

    آخرین ویرایش: سه شنبه 14 آبان 1398 06:08 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی سه شنبه 14 آبان 1398 06:05 ب.ظ نظرات ()

    مثال برنامه‌نویسی:

    شاید از آموختن تئوری کمی خسته شده باشید، حال وقت آن است که آنچه را که آموخته ایم استفاده کنیم. می خواهیم برنامه ای بنویسیم که ریشه های حقیقی یک معادله درجه 2 را پیدا کند. ضرایب معادله درجه 2 را از ورودی خواهیم خواند.

    ریاضیات مسئله:
    می دانیم که هر معادله درجه 2 به شکل دارای دو ریشه است. در صورتی این ریشه ها حقیقی هستند که باشد. در اینصورت ریشه های حقیقی معادله از رابطه زیر بدست می آیند.

    دیاگرام برنامه:

    1. شروع
    2. ضرایب ورودی
    3. معادله را بخوان
    4. دلتا را محاسبه کن
    5. اگر دلتا بزرگتر یا مساوی صفر است
      1. ریشه ها را محاسبه کن
      2. ریشه ها را چاپ کن
    6. در غیر اینصورت
      1. چاپ کن “معادله ریشه حقیقی ندارد”
    7. پایان

    برنامه:

    PROGRAM Equation_solver_fortran
    ! This is program calculate the real roots of second order equation
    IMPLICIT NONE ! this is important to get used to this statment
    ! Variable decleration
    REAL::a,b,c
    REAL::Delta, x1, x2
    ! Main Porgram
    WRITE(*,*) "Please enter the equation coefficients a*x^2+b*x+c"
    WRITE(*,*) "a: ?"
    READ(*,*) a
    WRITE(*,*) "b: ?"
    READ(*,*) b
    WRITE(*,*) "c: ?"
    READ(*,*) c
    Delta=b**2-4*a*c
    IF (Delta >= 0) THEN
    x1=(b+SQRT(Delta))/(2*a)
    x2=(b-SQRT(Delta))/(2*a)
    WRITE(*,*) " The real roots are : ", x1, x2
    ELSE
    WRITE(*,*) " This equation has no real root!"
    ENDIF
    PAUSE
    END PROGRAM Equation_solver_fortran

    اگر در نوشتن برنامه اشتباهی نکرده باشید، برنامه اجرا خواهد شد. تبریک می گویم، شما اولین برنامه مهندسی خود را نوشته اید. در خواندن برنامه بالا نباید مشکلی داشته باشید. فقط ممکن است ساختار IF..THEN..ELSE و تابع SQRT() برایتان تازگی داشته باشد و همانطور که حدس زده اید، ساختار IF..THEN..ELSE ساختار تصمیم گیری و تابع SQRT() تابع جذر می باشد که در بخشهای بعدی در مورد آن بحث خواهیم کرد.   برنامه نویسی شما فقط محدود به تفکر شما در مورد برنامه هاست. هر آنچه که فکر کنید را می توانید بنویسید. حتی برنامه های پیچیده هوش مصنوعی نیز با همین دستورات ساده قابل نوشتن است. در هر حال اگر بدانید چه می خواهید برنامه نویسی بسیار لذت بخش خواهد بود. آموختن یک زبان برنامه نویسی مانند یادگرفتن استفاده از یک ابزار است. هر چه ابزار قویتری داشته باشید کارها ساده تر انجام خواهد گرفت، زبان فرترن یک ابزار برنامه نویسی مهندسی بسیار کارآمد است.

    ورودی و خروجی فایل

    کار کردن با فایلها در فرترن بسیار ساده است. ورودی وخروجی فایل هم مانند ورودی از صفحه کلید یا خروجی به نمایشگر با دستور READ و WRITE صورت می گیرد. در این حالت بخش UNIT در این دستورات مشخص کننده نوع ورودی و خروجی است. برای ورودی از صفحه کلید و خروجی به صفحه نمایش، بخش UNIT در این دستورات برابر * قرار می گیرد. برای ورودی و خروجی از فایل، ابتدا فایل را باز می کنیم، این کار یک عدد (UNIT) به فایل اختصاص می دهد.

    دستور OPEN

    این دستور یک فایل را باز می کند و یک عدد به فایل اختصاص می دهد. این امکان وجود دارد که فایل را ایجاد کرد. ساختار این دستور به این شکل است:

    OPEN(UNIT= number, FILE= ’Name of file’, STATUS= status, ACCESS= access…)

    number عددی است که شما به فایل اختصاص می دهید (این عدد را بین 0 تا 255 انتخاب کنید – یعنی شما می توانید با خیال راحت تا 255 فایل مجزا را باز کنید!)، این عدد شناسه فایل است.   status وضعیت فایل را مشخص می کند و می تواند برای ایجاد فایل جدید ‘NEW’ باشد، یا ‘OLD’ برای باز کردن فایل موجود و اگر مطمئن نیستید ‘UNKNOWN’ بکار می رود و ‘SCRATCH’ برای ایجاد فایلهای موقت که با پایان برنامه یا بسته شدن فایل، فایل از بین می رود! وضعیت ‘REPLACE’ برای جایگزاری فایل جدید است. اگر فایل موجود باشد، پاک شده و فایل جدید جایگزین آن می گردد و اگر فایل موجود نباشد، فایل جدید ایجاد می گردد.   access نوع دسترسی به فایل را مشخص می کند که ممکن است، ‘DIRECT’ یا ‘SEQUENTAL’ باشد. نوع دسترسی به فایل بسیار مهم است، اما دسترسی ترتیبی ‘SEQUENTAL’ بسیار ساده است. در این فایلها داده ها بترتیب خط به خط خوانده و نوشته می شوند. پیش فرض دسترسی ترتیبی است.

    آخرین ویرایش: - -
    ارسال دیدگاه
  • حسین اتحادی سه شنبه 14 آبان 1398 06:01 ب.ظ نظرات ()

    متغیرها

    پیشنهاد می گردد که همه متغیرهای برنامه در ابتدای برنامه تعریف (تعیین نوع) گردند. برای اینکه هیچ متغیری از قلم نیفتد، از دستور IMPLICIT NONE در ابتدای برنامه استفاده کنید. این دستور به مترجم برنامه خواهد گفت که اگر در برنامه به متغیر تعریف نشده ای برخورد، اعلام خطا کند. البته فرترن به تعیین نوع نیازی ندارد! اما این کار خطاهای برنامه نویسی شما را کاهش خواند داد. زبانهای برنامه نویسی زیادی در اولین استفاده از متغیر برای آن متغیر نوعی در نظر می گیرند و نیازی نیست که برنامه نویس نوع متغیرها را مشخص کند زبان فرترن نیز چنین است. تعریف متغیر توسط برنامه نویس یا مترجم برنامه در برنامه نویسی حرفه ای برای مدت زیادی مورد بحث بود تا اینکه ناسا یکی از سنسورهای سفینه فضایی ونوس را بعلت یک تعریف متغیر اشتباه توسط مترجم برنامه (مترجم نوع دیگری را برای متغیر در نظر گرفته بود) از دست داد. بنابراین تعریف متغیر توسط برنامه نویس بعنوان یک روش مناسب انتخاب شد. خوشبختانه در بسیاری از زبانهای برنامه نویسی مدرن تعریف متغیر توسط برنامه نویس اجباری است. فرترن برای داشتن سازگاری از تعریف داخلی متغیر توسط مترجم پشتیبانی می کند.

    نام گذاری متغیرها

    قوانین نامگذاری متغیرها عبارتند از :

    • حداکثر طول نام متغیرها 34 کاراکتر است.
    • فقط امکان استفاده از حروف کوچک و بزرگ انگلیسی (a…z A…Z,)، اعداد(0,1,..,9) و کاراکتر زیر-خط ( _ ) وجود دارد.
    • توجه داشته باشید که بزرگی یا کوچکی حروف برای فرترن فرقی ندارد.
    • اولین کاراکتر یک اسم باید حرف باشد.
    • از کلمات کلیدی در نامگذاری استفاده نکنید.

    انواع داده ها

    شما در برنامه متغیرها را برای انواع مختلفی از داده ها بکار می برید. انواعی از داده ها که در فرترن 77 پیشتیبانی می گردند به شرح زیر است:

    • نوع INTEGER برای اعداد صحیح
    • نوع REAL برای اعداد اعشاری (تقریباً 8 رقم)
    • نوع DOUBLE برای اعداد اعشاری با دقت بیشتر (تقریباً 16 رقم معنی دار) [این اعداد را دقت مضاعف می نامیم]
    • نوع CHARACTER برای یک کاراکتر یا رشته ای از کاراکترها
    • نوع LOGICAL برای مقادیر منطقی
    • نوع COMPLEX برای اعداد مختلط به عنوان یک جفت با دقت REAL، اغلب توابع فرترن 77 بر روی اعداد مختلط قابل استفاده هستند.

    ثابت های هم به همین شکل بکار می روند مثلاً 1234 یک عدد ثابت صحیح است، 1234.0 یا 1.234E3 یک ثابت اعشار و 1.234D3 عدد اعشار با دقت مضاعف است. اعداد مختلط به شکل (3.14,-1E5) نمایش داده می شوند و کاراکترها بین دو کوتیشن قرار می گیرند “AbBa” یا “S”. ثابتهای منطقی فقط می توانند دو مقدار .TRUE. و .FALSE. را داشته باشند (به نقاط ابتدایی و انتهایی هر یک توجه کنید). اگر اعداد بسیار کوچک یا بسیار بزرگ باشند، ممکن است سیستم آنها را صفر در نظر گرفته و مشکل تقسیم بر صفر در محاسبات پیش آید یا اینکه سیستم دچار سر ریز گردد. این خطاها بسیار رایج هستند و اشکال گزارش شده به سیستم بستگی خواهد داشت.

    تعریف متغیرها

    برای تخصیص حافظه لازم به متغیرها، مترجم برنامه (Compiler) باید نام، نوع و اندازه هر متغیر را بداند. اگر از دستور IMPILICIT NONE استفاده گردد، لازم است که تمام متغیرها تعریف گردند. در غیر اینصورت نوع متغیر با حرف اول آن مشخص می گردد.

    • a..h و o..z برای متغیرهای اعشار
    • i,j,k,l,m,n برای متغیرهای صحیح

    تعریف متغیر با دستور زیر صورت می گیرد (این تعریف در برنامه نویسی بسیار پسندیده است):

    REAL:: alpha, beta, c=10.0
    INTEGER:: count, hours, minutes=36
    view rawvar2.f90 hosted with ❤ by GitHub

    اگر بخواهید مقدار ثابتی را تعریف کنید از دستور PARAMETER استفاده می گردد PARAMETER ({list of names=value})
    PARAMETER (pi=3.141592)
    view rawpar.f90 hosted with ❤ by GitHub

    عبارات ساده (عبارات و عملیات محاسباتی)

    عملگرهایی مانند + ، – ، / (همان ÷ است) و * (همان × است) را می شناسید. عملگر توان در فرترن به شکل ** است.

    اولویت محاسبه در عبارات

    این موضوع که ابتدا کدام محاسبات انجام خواهد شد در پاسخ یک عبارت ریاضی بسیار موثر است. ترتیب محاسبه و اولویت آنها به شکل زیر است:

    • پرانتز – اگر در عبارات، پرانتز وجود داشته باشد. اول داخلی ترین پرانتز محاسبه خواهد شد و به همین ترتیب عبارات داخل پرانتز اولویت اول را دارند.
    • توان
    • رب و تقسیم
    • جمع و منها

    برای مثال عبارت A*B**n-C/D و (A*(B**n))-(C/D) یکسان هستند. اگر دو عبارت از اولویت یکسانی برخوردار باشند، محاسبه از چپ به راست خواهد بود. برای مثال عبارت A/B*C و (A*B)/C یکسان هستند. لازم است بدانید که حاصل عملیات بین دو اعشار، اعشار است و حاصل عملیات بین دو عدد صحیح، عدد صحیح است؛ حاصل عملیات بین عدد اعشار و عدد صحیح، عدد اعشار است. به عنوان مثال حاصل 1/5 برابر 0 صحیح است، حاصل 1./5. برابر 0.2 اعشار است و حاصل 1d0/1d5 برابر 0.2 مضاعف است. بطور کلی می توان گفت که در محاسبه عبارات اگر تبدیل نوع لازم باشد، متغیرها به متغیر با بالاترین دقت تبدیل می گردند. در استفاده از اعداد دقت کنید، عدد 4 صحیح است، عدد 4. اعشار و عدد 4d0 مضاعف است. برابر قرار دادن مقدار یک متغیر با یک عبارت یکی از ساده ترین عبارات هر زبان برنامه نویسی است.

    variable = expression

    برای مثال عبارت ریاضی در فرترن بصورت نوشته می شود و کامپیوتر بعد از محاسبه عبارت سمت راست، مقدار آنرا در متغیر a قرار می دهد. کاربرد پرانتز در عبارات ریاضی به خوانایی بیشتر برنامه و جلوگیری از اشتباه کمک می کند.

    مقایسه متغیرها

    مقایسه متغیرها به کامپیوتر قدرت تصمیم گیری داده است. متأسفانه فرترن 77 عباراتی مانند <, > و … را به این شکل پشتیبانی نمی کند و بجای آنها مقایسه را با عباراتی چون .EQ. انجام می دهد.

    • .EQ. equal to
    • .GE. greater or equal to
    • .GT. greater than
    • .LE. less than or equal to
    • .LT. less than
    • .NE. not equal to

    این مشکل در فرترن 90 حل شده است و فرترن 90 علامتهای <، >، >=، <=، == و != را هم پشتیبانی می کند. برای مثال عبارت (A .EQ. B) معادل (A==B) و یک عبارت منطقی است، این عبارت در صورتی صحیح است که مقدار متغیرها با هم برابر باشد. در هر حال حاصل یک عبارت مقایسه ای یک مقدار منطقی خواهد بود که می تواند درست یا اشتباه باشد.

    آخرین ویرایش: سه شنبه 14 آبان 1398 06:03 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی چهارشنبه 1 آبان 1398 04:43 ب.ظ نظرات ()

    دانلود برنامه GetData Graph Digitizer

    دانلود برنامه GetData Graph Digitizer –  برنامه GetDataبرای رقومی کردن نمودارها و قطعه ها است. در بیشتر مواقع لازم است که دادههای اصلی (x، y) از نمودارها بدست بیایند، برای مثال مقادیر علمی اسکن شده یا زمانی که مقادیر داده ها در دسترس نیست. GetData Graph Digitizer اجازه می دهد تا به راحتی اعداد در چنین مواردی را بدست بیاورید. خودم از این برنامه برای انجام پایان نامه ام استفاده کردم باید بگم بی نظیره

    رقومی کردن نمودارها دانلود برنامه GetData Graph Digitizer
    دانلود برنامه GetData Graph Digitizer

    رقومی کردن یک فرآیند چهار مرحله ای است:

    ۱_باز کردن یک نمودار
    ۲_مجموعه مقیاس (سیستم مختصات)،
    ۳_رقومی کردن (به صورت خودکار یا دستی) و
    ۴_کپی داده ها به کلیپ بورد، و ذخیره داده با فرمت های  TXT، XLS، XML، DXF یا EPS .

    دانلود برنامه با لینک مستقیم

    دانلود نسخه کرک شده برنامه

    دانلود از سایت سازنده

    :Main features of GetData Graph Digitizer are

    supported graphics formats are TIFF, JPEG, BMP and PCX

    two algorithms for automatic digitizing

    convenient manual digitizing

    reorder tool for easy points reordering

    save/open workspace, which allows to save the work and return to it later

    obtained data can be copied to the clipboard

    export to the formats: TXT (text file), XLS (MS Excel), XML, DXF (AutoCAD) and EPS (PostScript)

    آموزش ویدیویی

    ∗تصویر پنل بالا مربوط به پایان نامه خانم مهندس خوشنود از دانشگاه علوم و فنون دریایی خرمشهر می باشد.

    آخرین ویرایش: چهارشنبه 1 آبان 1398 05:08 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی شنبه 6 مهر 1398 10:43 ب.ظ نظرات ()

    تبدیل کاما در اعداد اعشاری فارسی به ممیز در ورد

    30124

    یکی از دوستان سوال پرسیدند که چگونگی تبدیل کاما در اعداد اعشاری فارسی به ممیز را توضیح دهیم. برای حل این مشکل و همچنین اگر مشکل برعکس تایپ شدن اعداد ممیز دار را دارید گام های زیر را طی کنید:

    ابتدا تصویر زیر را مشاهده کنید؛ همانطور که میبینید در تصویر به جای ممیز، با کاما قسمت صحیح و اعشاری اعداد جدا شده است. میخواهیم کاما را به ممیز تبدیل کنیم:

    تبدیل کاما در اعداد اعشاری فارسی به ممیز در ورد

    1- به تب home میرویم و از قسمت editing، بر روی گزینه replace کلیک میکنیم:

    تبدیل کاما در اعداد اعشاری فارسی به ممیز در ورد2- در پنجره باز شده، از قسمت find گزینه more کلیک کنید.

    تبدیل کاما در اعداد اعشاری فارسی به ممیز در ورد

    آخرین ویرایش: شنبه 6 مهر 1398 10:44 ب.ظ
    ارسال دیدگاه
  • حسین اتحادی سه شنبه 26 تیر 1397 10:38 ب.ظ نظرات ()

    روش شبکه بولتزمن در واقع یک روش محاسباتی است که بر پایه‏‌ی تئوری انرژی جنبشی استوار بوده و ابتدا برای شبیه‌سازی جریان سیال مورد استفاده قرار گرفته است. در واقع انواع مدل‏‏‌های این روش محاسباتی از تکنیک روش شبکه سلول‌های گازی(LGCA) الگوبرداری شده‌اند. ایده اصلی روش LGCA این است که تعاریف متفاوت در سطح میکروسکوپی می‌‏توانند در سطوح ماکروسکوپی نیز مورد استفاده قرار گیرند. با استفاده از‏ یک مدل سلولی ساده که تنها از قوانین بقای جرم و اندازه حرکت در سطح میکروسکوپی پیروی می‌‏کند و با قرار دادن آن در‏ یک شبکه مناسب، می‌­توان نشان داد که با استفاده از تحلیل چند سطحی چپمن-انسکوگ، معادلات ناویر استوکس مربوط به سیال با تراکم‌پذیری کم از یک شبکه‌‏ی میکروسکوپی به دست می‌آیند.

    روش LGCA از دیدگاه محاسباتی مزایای مهم زیادی دارد. اول اینکه کاراکتر بولین برای قوانین برخورد به این معنا خواهد بود که این مدل می‏‌تواند از منطق بولین بدون و بدون مشکلات مرتبط با خطاهای گرد کردن استفاده کند. دوم اینکه در این روش مرحله برخورد کاملاً منطقه‌­ای است و بنابراین، استفاده از این روش در سیستم‌هایی باقابلیت پردازش موازی بسیار مناسب است.

    اولین روش LBM مربوط به مکنامارا و زانتی است و با هدف کاهش پیچیدگی­‌های روش LGCA توسعه داده شد. اولین مدل‌های LBM از شبکه و قوانین برخورد مشابه با LGCA استفاده می­‌کردند و فقط اعداد بولین روش LGCA با توابع توزیع ذرات LBM  جایگزین شده­ بودند.

     هر دو روش LBM و LGCA مثال‌‏هایی برای دیدگاه پایین به بالا برای مدلسازی هستند که در آن‌ها ‏یک مدل گسسته میکروسکوپی بر محاسبات حاکم است. روش LGCA بدون شرط پایدار بوده و روش LBM پایداری مناسبی دارد. به دست آوردن خواص ماکروسکوپی از مدل میکروسکوپی نیازمند ‏یک دسته تحلیل دقیق چند سطحی می­باشد که لازمه آن داشتن دقت و تجربه بالایی می­‌باشد.

     به‌طور کلی الگوریتم روش شبکه بولتزمن دارای ویژگی‌هایی است که آن را از روش‌های عددی سنتی مربوط به حل میدان جریان متمایز می‌نماید. برخی از آن‌ها به شرح زیر می‌باشد:

    1-    1- جمله جاب­جایی درروش شبکه بولتزمن خطی می­‌باشد که این موضوع متفاوت با معادلات ناویر استوکس است.

    2-    2- فشار درروش شبکه بولتزمن توسط معادله حالت به دست می­‌آید درحالی‌که در حل معادلات ناویر استوکس فشار با تبدیل معادله پیوستگی به رابطه­‌ای برای تصحیح فشار استخراج می­‌گردد که این امر مستلزم استفاده از الگوریتم‌های تکرار و اعمال ضرایب زیر تخفیف می باشد.

    3- در مقایسه با روش‌هایی نظیر DSMC، روش شبکه بولتزمن از جهت‌های حرکت محدودتری استفاده می­‌نماید که باعث کد نویسی و هزینه محاسباتی کمتر می­‌شود.

    با وجود مزایای زیاد، این روش دارای نقاط ضعف نیز می‌باشد که از جمله می­‌توان به موارد زیر اشاره نمود:

    1-    1- ضعف در مدل‌سازی جریان‌های چند فازی گاز-مایع با اختلاف چگالی و یا اختلاف گرانروی زیاد بین فازها.

    2-    2- ضعف در شبیه‌سازی جریان‌هایی با اعداد ماخ بالا.

    3-    3- ضعف در مدل نمودن هندسه با مرزهای منحنی.

    با این وجود در سال‌های اخیر گام‌های ارزشمندی جهت رفع نواقص فوق انجام شده است که دستاوردهای چشمگیری را به همراه داشته است. 

    آخرین ویرایش: سه شنبه 26 تیر 1397 10:44 ب.ظ
    ارسال دیدگاه
تعداد صفحات : 29 1 2 3 4 5 6 7 ...