نحوه نصب swak4Foam

در ابتدا باید بابت طولانی شدن نوشتن پست های جدید عذرخواهی کنم. امیدوارم روزی برسه بتونم سایت رو هرچه سریع تر آپلود بکنم. فکر های خوبی در سر داریم!
و اما پکیج دوست داشتنی Swak4FOAM …!
Swak4Foam مجموعه ای از ابزارهاست که قابلیت های بسیار خوبی رو به اپنفوم اضافه می کنه. این ابزار توسط یکی از خدایان اپنفوم به نام Bernhard Gschaider نوشته شده. از جمله این ابزارها میشه به شرط مرزی groovyBC و Function Object های جدید و بسیار بسیار به درد بخور و خفن (!) و ابزار دوست داشتنی funkySetFields اشاره کرد. در پست های بعدی شاید در مورد اینها بیشتر صحبت کنیم. اما شاید لازم باشه تا ابتدا در مورد نحوه نصب swak4Foam کمی صحبت کنیم. نحوه نصب خیلی سخت نیست. کافیه پکیج نرم افزار رو دانلود بکنید، از وجود پکیج های لازم در لینوکس خودتون مطمئن بشید و سپس Lets Compile !
صفحه رسمی این ابزار رو می تونید در اینجا ببینید. در قسمت Downloading انواع روش های دانلود این پکیج با SVN و Tarball و Zip گذاشته شده. ما فایل Zip رو از اینجا دانلود می کنیم و اون رو در پوشه $HOME/OpenFOAM قرار میدیم تا نصب رو شروع بکنیم. دقت کنید که نسخه ای که در بالا لینکش داده شد برای نسخه های رسمی اپنفوم هست. اگر برای نسخه extend می خواید باید فایل Zip مربوط به اون رو دانلود بکنید.
خب قبل از کمپایل لازم هست تا از وجود دو پکیج مطمئن بشید. Flex و Bison. این دو پکیج معمولا روی سیستم ها به صورت خودکار نصب هستند. می تونید با استفاده از دو دستور زیر از نصب و نسخه این پکیج ها آگاه بشید:

flex --version
bison --version

اما…! swak4Foam فقط با bison های نسخه پایین تر از 3 کار می کنه. بنابراین اگر نسخه bison شما 3 یا بیشتر هست باید ابتدا این bison رو حذف و سپس به صورت دستی bison نسخه پایین تر رو دانلود و نصب کنید. برای این کار اول bison قبلی رو حذف می کنیم:

sudo apt-get remove bison

حالا می تونید bison 2.7 رو با استفاده از دستورات زیر دانلود کنید. bison دارای دو فایل هست که هردو باید دانلود و نصب بشند:

wget http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb
wget http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb

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

sudo dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i bison_2.7.1.dfsg-1_amd64.deb

والسلام! حالا وارد پوشه OpenFOAM بشید و فایل Zip دانلود شده رو که در اونجا قرار داید Extract کنید.

cd $HOME/OpenFOAM
unzip openfoam-extend-Breeder2.0-libraries-swak4Foam-master.zip

در نهایت داخل پوشه swak4Foam بشید:

cd $HOME/OpenFOAM/openfoam-extend-Breeder2.0-libraries-swak4Foam-master

و با ران کردن اسکریپت داخل پوشه، اون رو کمپایل کنید:

./Allwmake

این مرحله از 20 تا 30 دقیقه طول میکشه. در نهایت می تونید با نوشتن دستور زیر از نصب درست مطمئن بشید:

funkySetFields

البته که خطا میده ولی خطا نباید command not found باشه!
درود و صد درود!

آموزشی

21 دیدگاه. ارسال دیدگاه جدید

  • سلام خسته نباشید
    مطالبتون واقعا به درد بخورن ممنون.
    من Swak4Foam رو از لینکی که شما گذاشتین دانلود کردم و نوع فایل دانلود شده .zip هستش و فک کنم نمیشه با دستور tar -xzf اون رو اکسترکت کرد!!! من امتحان کردم این خطارو داد!
    gzip: stdin has more than one entry–rest ignored
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now

  • خواهش میکنم
    ولی انگار بازم مشکل هست:(
    اول: بعد از unzip کردن فایل، اسم فایل اسمی که شما نوشتین نیست!
    ثانیا با اجرای دستور ./Allwmake این خطارو میده:
    omid@omid-All-Series:~/Desktop/openfoam-extend-Breeder2.0-libraries-swak4Foam-master$ ./Allwmake
    Previously compiled for OpenFOAM
    No file ‘swakConfiguration’. Python etc won’t work. See README for details
    Try ‘ln -s swakConfiguration.automatic swakConfiguration’ for automatic configuration. BEWARE: this does not work on some systems
    Checking swak4Foam-version and generating file
    Swak version is 0.3.2
    ./Allwmake: line 61: wmake: command not found

    Requirements for Library not satisfied. I see no sense in going on
    Check the README before you go on to ask. And search: Most likely your problem occured to 5 other people before and has been solved on the MessageBoard

    البته باید بگم که من فایل دانلود شده رو به دسکتاپ آوردم و اونجا اکسترکت کردم و این فرایندهارو انجام دادم!
    مشکل از چیه؟

    • ممنون. تصحیح می کنم پست رو.
      اول خطا نوشته که Previously compiled for OpenFOAM، شاید شما قبلا هم کمپایل کردین. یک بار از Allwclean استفاده کنید تا همه چیز پاک بشه و بعد دوباره کمپایل کنید.
      از طرفی دو پکیج bison و flex رو هم چک کنید. چون خطای Requirements for Library not satisfied. I see no sense in going on رو داده.

  • سلام
    من با یه روش دیگه موفق شدم نصبش کنم!
    یک سوال دارم:
    اسوک فوم برای Foamextend هستش؟
    چون من فوم اکستند3.1 رو نصب کردم و funkySetFields رو ران کردم درست بود! ولی وقتی Openfoam 2.4و openfoam 3.01 رو ران کردم و بعد funkySetFields رو زدم command not found اومد!

  • سلام خیلی ممنون از پست جالبتون. من در نصب سواک در قسمت bison به مشکل خورده بودم که با راهنمایی شما حل شد. سپاس

  • سلام.
    به شدت نیازمند یادگیری این ابزار در قسمت لاگرانژی هستم.
    اگر pdf در این مورد دارید بسیار ممنون میشم برام بفرستین.

  • با عرض سلام و خسته نباشد
    من موقع نصب swak4foam بعد از ران کردن Allwmake/. به این ارور خوردم:
    /home/kevin/OpenFOAM/kvn/openfoam-extend-Breeder2.0-libraries-swak4Foam-master/privateRequirements/bin existing. Prepending to PATH-variable (private version of Bison)

    No file ‘swakConfiguration’. Python etc won’t work. See README for details
    Try ‘ln -s swakConfiguration.automatic swakConfiguration’ for automatic configuration. BEWARE: this does not work on some systems
    Checking swak4Foam-version and generating file
    Swak version is 0.4.0
    Bison is version 2.7.12-4996
    Flex is version 2.6.0 (Minor version: 0)
    OpenFOAM-version: Major 4 Minor 0 Patch 0 (-1 == x / 0) Fork: openfoam
    No change to swak4FoamParsers/foamVersion4swak.H
    g++ -std=c++0x -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -IMake/linux64GccDPInt32Opt -I/opt/openfoam4/src/finiteVolume/lnInclude -I/opt/openfoam4/src/sampling/lnInclude -I/opt/openfoam4/src/fileFormats/lnInclude -I/opt/openfoam4/src/triSurface/lnInclude -I/opt/openfoam4/src/dynamicMesh/lnInclude -I/opt/openfoam4/src/surfMesh/lnInclude -I/opt/openfoam4/src/lagrangian/basic/lnInclude -I/opt/openfoam4/src/meshTools/lnInclude -IlnInclude -I. -I/opt/openfoam4/src/OpenFOAM/lnInclude -I/opt/openfoam4/src/OSspecific/POSIX/lnInclude -fPIC -c helpers/exprString.C -o Make/linux64GccDPInt32Opt/helpers/exprString.o
    In file included from lnInclude/CommonValueExpressionDriver.H:843:0,
    from helpers/exprString.C:39:
    lnInclude/CommonValueExpressionDriverI.H: In member function ‘Foam::tmp<Foam::Field > Foam::CommonValueExpressionDriver::doLogicalNot(const Foam::Field&)’:
    lnInclude/CommonValueExpressionDriverI.H:1176:22: error: assignment of read-only location ‘(& res.Foam::tmp::operator()<Foam::Field >())->Foam::Field::.Foam::List::.Foam::UList::operator[](i)’
    res()[i] = a[i];
    ^
    /opt/openfoam4/wmake/rules/General/transform:8: recipe for target ‘Make/linux64GccDPInt32Opt/helpers/exprString.o’ failed
    make: *** [Make/linux64GccDPInt32Opt/helpers/exprString.o] Error 1
    Parser library did not compile OK. No sense continuing as everything else depends on it

    Requirements for Library not satisfied. I see no sense in going on
    Check the README before you go on to ask. And search: Most likely your problem occured to 5 other people before and has been solved on the MessageBoard

    مشکل کجاست ؟
    ورژن اپنفوم من 4 هستش
    راه حلش چیه؟
    با تشکر

  • Bijan Darbari
    اکتبر 6, 2016 21:21

    سلام.
    خوشبختانه به ورژن جدید swak4Foam قابلیت نصب روی openfoam 4.0 و foam extend 1606 اضافه شده.

    نصب swak4Foam رو openfoam 4.0 و foam extend 1606 :

    ابتدا طبق دستور های بالا bison 2.7 رو نصب کنید.
    بعد با دستورات 1 و 2.1 ( استفاده از دستور hg ) ذکر شده تو لینک زیر، swak4Foam رو دانلود کنید:
    http://www.cfd-online.com/Forums/openfoam-installation/174251-swak4foam-openfoam-4-0-a.html#post619345

    بعد پنجره ترمینال رو به فولدر swak4Foam ببرید و دستور Allwmake/. رو بزنید تا شروع به کامپایل کنه.
    اگر کامپایل موفقیت امیز باشه، باید با زدن دستور funkySetFields ، اروری غیر از ارور command not found
    دریافت کنید. در این صورت با اطمینان می گیم که swak4Foam نصب شده.

    نکته: swak4Foam با روش بالا، بدون مشکل روی openfoam 4.0 dev نصب میشه. ولی برای نصب اون روی ورژن رسمی openfoam 4.0 یا foam extend 16.06 نیاز دارین که patch های داخل پوشه distropatches رو مطابق راهنمای زیر اعمال کنید:

    http://www.cfd-online.com/Forums/openfoam-installation/174251-swak4foam-openfoam-4-0-a-2.html#post620541

  • Bijan Darbari
    اکتبر 6, 2016 21:23

    در ضمن منظورم از نسخه رسمی openfoam 4.0، نسخه released اون هستش.

    • سلام متاسفانه من نتونستم با دستورات بالا یا با دستور hg سواک رو برای اپن فوم ۴ کامپایل کنم و مجبور شدم با استفاده از فایل هایی که آقای درباری اشاره کرده بود(distroPatches/OpenFOAM-4.0) اپن فوم رو پچ کنم که بعد از این کار موفق شدم سواک رو نصب کنم روندش رو قرار می دم

      patch < The address to patch file which is in swak4Foam directory

      که به عنوان مثال این دستور برای کامپوتر من میشه
      patch < OpenFOAM/sajad-4.0/swak4Foam/distroPatches/OpenFOAM-4.0/fvcD2dt2NeedsRef.patch
      بعد از اینکه این دستور رو وارد کردید باید آدرس فایلی که در فایل متنی پچ به اون اشاره شده رو قرار بدهید که برای اپن فوم ۴ باید این آدرس رو قرار بدهید
      opt/openfoam4/src/finiteVolume/finiteVolume/fvc/fvcD2dt2.c

      که با این کار اون فایل که آدرسشو رو وارد کردید پچ می شه و حالا می تونید سواک رو بدون ارر کامپایل کنید.

  • سلام من تمام مراحل رو همون طور که بیان کردید انجام دادم اما وقتی دستور funkySetFields رو اجرا میکنم
    با این مشکل روبه رو می شم !
    –> FOAM FATAL ERROR:
    funkySetFields: time/latestTime option is required

    From function main()
    in file funkySetFields.C at line 748.

    FOAM exiting
    اگه راهنماییم کنید ممنون می شم ا

  • محمد امین
    می 8, 2018 21:36

    سلام، خسته نباشید
    یه سوال، من اوپن فوم 5 دارم و می خواستم شرط مرزی متغیر با مختصات اعمال کنم روی هندسه م، و بعد از تحقیق فهمیدم که همون groovyBC یا درواقع همین swak4foam راه حلش هست، امکانش هست که من بتونم روی اوپن فوم 5 نصبش کنم؟ ممنون.

  • سلام وقت بخیر
    واسه من تو wmake این ارور رو میده میشه راهنماییم کنین ؟؟

    This is a clean install
    No file ‘swakConfiguration’. Python etc won’t work. See README for details
    Try ‘ln -s swakConfiguration.automatic swakConfiguration’ for automatic configuration. BEWARE: this does not work on some systems
    Checking swak4Foam-version and generating file
    Swak version is 0.4.1
    ./Allwmake: line 63: wmake: command not found

    Requirements for Library not satisfied. I see no sense in going on
    Check the README before you go on to ask. And search: Most likely your problem occured to 5 other people before and has been solved on the MessageBoard

برای نوشتن دیدگاه باید وارد بشوید.
فهرست
X