not found mpich2mpi.dll

FrankSu
FrankSu Altair Community Member
edited December 9 in Community Q&A

Hello everyone,

When I use AcuSolve Job Launcher 2020, my job can run normally,

but now I have two jobs to run continuous, I use a batch file to execute,

here is my batch file content: 

--------------------------

CD D:\Analysis\run_xxx1
call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx1 -inp xxx1.inp -np 4
CD D:\Analysis\run_xxx2
call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx2 -inp xxx2.inp -np 4

--------------------------

when I execute this batch, the system will comes out a warning message "not found mpich2mpi.dll"

Dose anyone know how to fix it? please.

Thank you

Answers

  • acupro
    acupro
    Altair Employee
    edited February 2021

    My first thought is that you issuing this from a command prompt that does not have the AcuSolve environment established.  You have two choices:

    1.  Issue this from the AcuSolve Command Prompt - which should appear under Altair 2020 from the Windows Start menu.

    or

    2.  From any Command Prompt first run the script to establish the AcuSolve environment.

    "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64"\bin\acusim.bat

    or the equivalent as you type out that path - maybe the quotes will be slightly different.

    In either case, before you launch your run script, make sure your command prompt 'knows' acuRun, by trying:

    acuRun  -h

    This will tell you whether or not the environment is established correctly.  Once that is confirmed, you can modify your script to:

    cd D:\Analysis\run_xxx1
    call acuRun -pb xxx1 -inp xxx1.inp -np 4
    cd D:\Analysis\run_xxx2
    call acuRun -pb xxx2 -inp xxx2.inp -np 4

    As a side note, Altair Simulation 2021 has now been released, so you could update to the latest version.  The same process will still apply.

  • FrankSu
    FrankSu Altair Community Member
    edited February 2021

    Thanks a lot, @acupro 

    I used the 2nd method, and it works.

     

    But as a side note, I tried to increase 1st row to execute acusim.bat in my batch file, like following

    -----------------

    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acusim.bat"

    CD D:\Analysis\run_xxx1
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx1 -inp xxx1.inp -np 4
    CD D:\Analysis\run_xxx2
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx2 -inp xxx2.inp -np 4

    -----------------

    then I executed the batch file,

    the Command Prompt seems stop while it after executing first row, like the image below.

    image

  • acupro
    acupro
    Altair Employee
    edited February 2021

    Thanks a lot, @acupro 

    I used the 2nd method, and it works.

     

    But as a side note, I tried to increase 1st row to execute acusim.bat in my batch file, like following

    -----------------

    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acusim.bat"

    CD D:\Analysis\run_xxx1
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx1 -inp xxx1.inp -np 4
    CD D:\Analysis\run_xxx2
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx2 -inp xxx2.inp -np 4

    -----------------

    then I executed the batch file,

    the Command Prompt seems stop while it after executing first row, like the image below.

    image

    I'm not too familiar with Windows scripts - but does it proceed better if you remove the 'call' before executing acusim.bat?

  • acupro
    acupro
    Altair Employee
    edited February 2021

    Thanks a lot, @acupro 

    I used the 2nd method, and it works.

     

    But as a side note, I tried to increase 1st row to execute acusim.bat in my batch file, like following

    -----------------

    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acusim.bat"

    CD D:\Analysis\run_xxx1
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx1 -inp xxx1.inp -np 4
    CD D:\Analysis\run_xxx2
    call "C:\Program Files\Altair\2020\hwcfdsolvers\acusolve\win64\bin\acuRun.bat" -pb xxx2 -inp xxx2.inp -np 4

    -----------------

    then I executed the batch file,

    the Command Prompt seems stop while it after executing first row, like the image below.

    image

    Did it proceed better if you remove the 'call' before executing acusim.bat?

  • FrankSu
    FrankSu Altair Community Member
    edited February 2021

    Did it proceed better if you remove the 'call' before executing acusim.bat?

    I tried, it's the same.

  • acupro
    acupro
    Altair Employee
    edited February 2021

    I tried, it's the same.

    It seems the last line of the acusim.bat script opens a command-prompt, and for some reason commands do not proceed after that.

    Let's assume you're going to execute the .bat file from another command-prompt, and not by double-clicking the .bat file itself.  You can copy the relevant items from acusim.bat into your own .bat file - but at the start of that, you'll probably need to hard-set the initial directories.

    If you're using version 2020 in the default location, try putting the following ahead of your first cd operation.  (The formatting may be strange here - so you may want to copy directly from acusim.bat, then make the appropriate changes to match the lines below.)  Note I've added @ECHO OFF and then later ECHO so those commands don't get 'echoed' into the command prompt.  The main things you'll need to hardcode are ACUSIM_HOME and ACUSIM_MACHINE.

    #############

     

    title ACUSOLVE

    @ECHO OFF

    rem -------------------------------------------------------------------------
    rem Set home and machine
    rem -------------------------------------------------------------------------

    set ACUSIM_HOME=C:\Program Files\Altair\2020\hwcfdsolvers\acusolve
    set ACUSIM_MACHINE=win64
    set ACUSIM_VERSION=.

    rem -------------------------------------------------------------------------
    rem Add %SystemRoot%\system32 path if it does not exist
    rem -------------------------------------------------------------------------

    set findPath="%SYSTEMROOT%\System32\find.exe"
    set PATH=%PATH:"=%
    echo %PATH% | %findPath% "%SystemRoot%\system32" > nul
    if "%errorlevel%" neq "0" (
    if defined PATH (
    set "PATH=%SystemRoot%\system32;%PATH%"
    ) else (
    set PATH=%SystemRoot%\system32;
    )
    )

    rem -------------------------------------------------------------------------
    rem Set environment variables
    rem -------------------------------------------------------------------------

    set PATH=%ACUSIM_HOME%\%ACUSIM_MACHINE%\perl\bin;%PATH%

    set ACUSIM_ROOT=%ACUSIM_HOME%\%ACUSIM_MACHINE%
    set ACUSIM_SYSTEM_CNF=%ACUSIM_ROOT%\script\Acusim.cnf
    if "%ACUSIM_CNF_FILES%" == "" (
    set ACUSIM_CNF_FILES=.\Acusim.cnf:%USERPROFILE%\Acusim.cnf:%ACUSIM_SYSTEM_CNF%
    )

    set PATH=%ACUSIM_ROOT%\abaqus-odb\lib;%PATH%
    set PATH=%ACUSIM_ROOT%\base\lib\site-packages;%PATH%
    set PATH=%ACUSIM_ROOT%\base\DLLs;%PATH%
    set PATH=%ACUSIM_ROOT%\bin;%PATH%
    set PATH=%ACUSIM_ROOT%\..\..\..\mpi\%ACUSIM_MACHINE%\mpich\bin;%PATH%

    set P_SCHEMA=%ACUSIM_ROOT%\script\schema

    if "%ALTAIR_LICENSE_PATH%" == "" (
    set "ALTAIR_LICENSE_PATH=%ACUSIM_HOME%\..\..\security\altair_lic.dat"
    ) else (
    set "ALTAIR_LICENSE_PATH=%ALTAIR_LICENSE_PATH%;%ACUSIM_HOME%\..\..\security\altair_lic.dat"
    )
    set RADFLEX_PATH=%ACUSIM_ROOT%\bin

    ECHO