Mac: Installing OOMMF on Mac OS X Snow Leopard 10.6

Mac OS have TCL/TK already installed.
So it is very easy to install OOMMF(Object Oriented MicroMagnetic Framework)

The following steps installs OOMMF at directory ~/apps/oommf12a4pre-20091216

First you need to download the oommf SOURCE code.
Here is the link to download 1.2a4pre snapshots : http://math.nist.gov/~MDonahue/misc/oommf12a4pre-20091216.tar.gz

Once you have downloaded untar to ~/apps/ using the following command in the terminal.
gunzip -c oommf12a4_20040908.tar.gz | tar xvf -

To Install:
Open Terminal and goto to the folder where you untarred.
 $ cd ~/apps/oommf12a4pre-20091216  
Run the following 2 commands
 $ tclsh oommf.tcl +platform
The above command prints summary of your platform configuration. Make sure all the config files are located and listed. Example output will be like the following
 oommf.tcl 1.2.0.4 info:  
 OOMMF release 1.2.0.4, snapshot 2009.12.16  
 Platform Name:          darwin  
 Tcl name for OS:     Darwin 10.7.0  
 C++ compiler:          /usr/bin/g++   
 Tcl configuration file:     /usr/lib/tclConfig.sh  
 tclsh:               /usr/bin/tclsh8.5  
 Tcl release:          8.5.7 (config)     8.5.7 (running)  
 Tk configuration file:     /usr/lib/tkConfig.sh  
 wish:               /usr/bin/wish8.5  
 Tk release:          8.5.7 (config)     8.5.7 (running)  
 Tcl threads:          Yes  
 OOMMF threads:          Yes  
  Default thread count:     2  
Now you have all the configurations good, to compile and build run the following command
 $ tclsh oommf.tcl pimake  
The above command runs for a while. If there is an error, it prints the error on the console.
To launch the application
 $ tclsh oommf.tcl  

9 comments:

  1. When a go to launch mmDisp , the following error occurs:


    oommf.tcl 1.2.0.4 Oc_Application panic:
    Can't find application satisfying 'mmDisp'
    for platform 'darwin':
    The following candidates were rejected:
    /Applications/oommf12a4pre-20091216/app/mmdisp/scripts/mmdisp.tcl: needs shell or platform 'mmDispSh'


    Available applications for platform 'darwin':
    any2ppm 1.2.0.4
    batchmaster 1.2.0.4
    batchslave 1.2.0.4
    batchsolve 1.2.0.4
    Boxsi 1.2.0.4
    crc32 1.2.0.4
    FileSource 1.2.0.4
    killoommf 1.2.0.4
    launchhost 1.2.0.4
    mag2hfield 1.2.0.4
    MIFConvert 1.2.0.4
    mmArchive 1.2.0.4
    mmDataTable 1.2.0.4
    mmGraph 1.2.0.4
    mmHelp 1.2.0.4
    mmLaunch 1.2.0.4
    mmProbEd 1.2.0.4
    mmSolve2D 1.2.0.4
    odtcat 1.2.0.4
    odtcols 1.2.0.4
    Oxsii 1.2.0.4
    pidinfo 1.2.0.4
    pimake 1.2.0.4


    What do I need to do?
    I have installed oommf in mac.

    ReplyDelete
  2. Hello,
    There are 2 options:
    1. Reinstall oommf, using the following 2 commands:

    $ tclsh oommf.tcl pimake distclean

    $ tclsh oommf.tcl pimake

    2. There might be some oommf threads still running from the prev execution. So, kill all the oommf threads and RE-LAUNCH the app.
    To kill, use the 'ps' command to see the running threads and use 'kill' command to kill the process'es
    If you are not comfortable with these commands, simply restart your MAC and LAUNCH the oommf app again.

    Thanks.

    ReplyDelete
  3. Hello,

    I am getting an error when I try to launch oommf from the command line that reads:


    oommf.tcl 1.2.0.4 Oc_Application panic:
    Can't find application satisfying 'mmLaunch'
    for platform 'darwin':
    The following candidates were rejected:
    /Applications/oommf12a4pre-20091216/app/mmlaunch/mmlaunch.tcl: needs shell or platform 'omfsh'


    Available applications for platform 'darwin':
    MIFConvert 1.2.0.4
    odtcat 1.2.0.4
    odtcols 1.2.0.4
    pimake 1.2.0.4

    I should also mention that an error proceeds this step when trying to compile and build, which is as follows:

    pimake 1.2.0.4 error:
    couldn't execute "g++": no such file or directory
    1 Error(s) detected
    ----------- 2012-Dec-04 15:36:53
    Stack:
    couldn't execute "g++": no such file or directory
    while executing
    "Platform Compile C++ -opt 1 -inc [[CSourceFile New _ varinfo.cc] DepPath] -out varinfo -src varinfo.cc "


    Thank you for your help

    ReplyDelete
    Replies
    1. Hello,
      You might have to install C/C++ compiler.
      The following error says that either C/C++ is not installed or not in your path.
      --couldn't execute "g++": no such file or directory

      Delete
    2. Aah, thanks very much!

      Delete
  4. Hi there,

    First of all thanks for these information. Can you tell me what do you mean by this sentences or can you explain more for me please " Once you have downloaded untar to ~/apps/ using the following command in the terminal.
    gunzip -c oommf12a4_20040908.tar.gz | tar xvf -"

    Kind

    ReplyDelete
  5. Hello, thanks for your post!

    I've already installed OOMMF and can open the mmLaunch window, but when I click the localhost box, though a menu of user account window appears, there's no box next to the window which I can click on. and the whole thing just stuck there.

    besides, after the "tclsh oommf.tcl pimake " command, it shows:
    "warning: unknown warning option '-Wno-non-template-friend'; did you mean '-Wno-unsupported-friend'? [-Wunknown-warning-option]"

    is there any connection between these 2 problems?

    anyone there facing the same problem? BTW, my system is 10.9.5. hope someone can help on this.

    Thanks a lot!

    ReplyDelete
  6. Hello from 2020.

    I was trying to install but it's showing an error and i have no idea to solve it. could you please look into?


    Kishans-MacBook-Air:oommf kishi$ tclsh oommf.tcl pimake
    clang++ -c -DNDEBUG -O3 -std=c++11 -m64 -I/Users/kishi/Desktop/oommf/app/oxs/local -I/Users/kishi/Desktop/oommf/app/oxs/base -I/Users/kishi/Desktop/oommf/app/oxs/ext -I/Users/kishi/Desktop/oommf/pkg/nb -I/Users/kishi/Desktop/oommf/pkg/oc -I/Users/kishi/Desktop/oommf/pkg/oc/darwin -I/Library/Frameworks/Tk.framework/Versions/8.6/Headers -I/Library/Frameworks/Tcl.framework/Versions/8.6/Headers -I/Users/kishi/Desktop/oommf/pkg/vf -o darwin/spinxferevolve.o /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc
    In file included from /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:11:
    In file included from /Users/kishi/Desktop/oommf/pkg/nb/nb.h:30:
    /Users/kishi/Desktop/oommf/pkg/nb/stopwatch.h:147:16: warning: assigning field
    to itself [-Wself-assign-field]
    wall_total -= wall_total; // Zero accumulated time
    ^
    In file included from /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:15:
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.h:250:9: warning:
    missing terminating '"' character [-Winvalid-pp-token]
    Label "energy term x=23.y=64
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.h:250:3: error: unknown
    type name 'Label'
    Label "energy term x=23.y=64
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.h:250:9: error:
    expected member name or ';' after declaration specifiers
    Label "energy term x=23.y=64
    ~~~~~ ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:38:5: error: member
    initializer 'rkstep_ptr' does not name a non-static data member or base
    class
    rkstep_ptr(NULL)
    ^~~~~~~~~~~~~~~~
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:118:27: error:
    expected ';' after expression
    J_direction = JD_Z_NEG
    ^
    ;
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:272:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaStep2;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:274:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaStep2Heun;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:276:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaStep4;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:278:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaFehlbergStep54M;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:280:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaFehlbergStep54S;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:282:5: error: use of
    undeclared identifier 'rkstep_ptr'
    rkstep_ptr = &Oxs_SpinXferEvolve::TakeRungeKuttaFehlbergStep54;
    ^
    /Users/kishi/Desktop/oommf/app/oxs/local/spinxferevolve.cc:2376:11: error: use
    of undeclared identifier 'rkstep_ptr'
    (this->*rkstep_ptr)(stepsize,current_state_key,
    ^
    2 warnings and 11 errors generated.
    <26714> pimake 2.0a1 panic:
    child process exited abnormally
    1 Error(s) detected
    <26711> oommf.tcl 2.0a1 panic:
    child process exited abnormally

    ReplyDelete

Python contextlib for Timing Python code

If you've ever found yourself needing to measure the execution time of specific portions of your Python code, the `contextlib` module o...