Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What help do you need in adopting blueCFD-Core on Windows? #375

Closed
wyldckat opened this issue Jan 27, 2019 · 71 comments
Closed

What help do you need in adopting blueCFD-Core on Windows? #375

wyldckat opened this issue Jan 27, 2019 · 71 comments

Comments

@wyldckat
Copy link

Given that this issue is somewhat identifiable as a "feature request", I'm posting it here instead of on the forum.

As pointed out in Issue #271, Docker is less than ideal on Windows and WSL also has its hang ups. And I've been pointed towards Butterfly not yet supporting blueCFD-Core, namely a project that provides native ports of OpenFOAM for/on Windows directly, without relying on virtualization'ish techniques... and given that I'm the one responsible for said project, I'm here to ask the following questions:

  1. What help do you need in adopting blueCFD-Core on Windows?

  2. What is missing in blueCFD-Core in order for Butterfly to support it on Windows?

  3. Do you strictly rely on features that are only available in the releases of OpenFOAM from ESI-OpenCFD at openfoam.com? Or would they also work on OpenFOAM from the OpenFOAM Foundation?

@mostaphaRoudsari mostaphaRoudsari self-assigned this Jan 28, 2019
@mostaphaRoudsari
Copy link
Member

Hi @wyldckat and thank you for posting here.

  1. What help do you need in adopting blueCFD-Core on Windows?

We only need to re-write runmaneger or write a new module to run the studies using blueCFD.

  1. What is missing in blueCFD-Core in order for Butterfly to support it on Windows?

If blueCFD can handle standard OpenFOAM cases then I don't think there is anything missing. I remember I checked blueCFD once a couple of years ago and it was only supporting a single core on the freely available version. Is that still the case?

  1. Do you strictly rely on features that are only available in the releases of OpenFOAM from ESI-OpenCFD at openfoam.com? Or would they also work on OpenFOAM from the OpenFOAM Foundation?

See the answer to 2. I don't know about the features that are only available in ESI-OpenCFD but to my knowledge we don't rely on any bleeding edge feature. Butterfly at this point generates a standard folder structure and we have a number of built-in workflows for outdoor airflow, etc. Nothing fancy but anyone can take the folder and run the commands from command line.

@wyldckat
Copy link
Author

Hi @mostaphaRoudsari,

Oh, OK, blueCFD-SingleCore was the project where we only provided single-core support, but as of August 2016 that we provide blueCFD-Core for free to the general public, i.e. with multi-core support.

At the moment the most recent version we provide is OpenFOAM 5.x with blueCFD-Core 2017-2, which should be similar in core features to ESI-OpenCFD's OpenFOAM v1712, namely that v1712 should have integrated the majority of the features from 5.x.

I expect that people that are relying on Butterfly aren't going to want to run the commands manually themselves, hence this report/feature request...


I've looked at the runmanager Python file... is there any way to test it without the need to rely on the software stack that calls it? I ask this because it looks pretty straight forward to get it up and running with blueCFD-Core, so all that is missing is the ability to quickly test the changes...

@mostaphaRoudsari
Copy link
Member

mostaphaRoudsari commented Jan 29, 2019

@wyldckat, nice! I gave it a quick try and the installation process was easy. This can be very helpful as we don't have to deal with installation issues anymore and I can focus on Butterfly development.

What is the recommended solution to run the commands from command line? Can I pass the case folder to DOS_Mode.bat or setvars.bat? I can see your note that setvars.bat is intended to be used by GUIs.

I could open a new CMD with DOS_Mode.bat and go to case folder and run blockMesh. I also tried DOS_Mode.bat blockMesh which opens a CMD window and runs blockMesh but the current folder is switched back to installation folder and not the case.

I've looked at the runmanager Python file... is there any way to test it without the need to rely on the software stack that calls it? I ask this because it looks pretty straight forward to get it up and running with blueCFD-Core, so all that is missing is the ability to quickly test the changes...

I have to take a closer look. It has been a while. I assume that I need to add a config in runmanager to pass the preferred runner/executor. Getting it to run seems to be easy. I have to check and see how did I implemented logging and how to re-implement that in Windows. Since everything will be running in Windows redirecting stdout and stderr should just work fine. 🤞

@wyldckat
Copy link
Author

@mostaphaRoudsari I know I wrote the instructions somewhere... OK, found it: blueCFD/Core#94 - it's the report where I have the base instructions that I still have to write on an actual FAQ page...

And given that you are already using a batch file as a basis for running the commands, it should be straight forward to integrate this into your workflow.

@mostaphaRoudsari
Copy link
Member

PS: I think the answer is yes but does blueCFD supports older versions of Windows (e.g. Windows XP, Windows 7, ...)?

@wyldckat
Copy link
Author

I haven't tested in Windows XP, but it works on Windows 7 and possibly in Vista as well.
The supported systems should be the same as MSys2: http://www.msys2.org/ - quoting from there:

Installation restrictions:

  • MSYS2 can't be installed on FAT* partitions.
  • Current MSYS2 can't be installed on Windows XP anymore.

@mostaphaRoudsari
Copy link
Member

Beautiful! Works like a charm! 🎉

Since mysys is already packaging bash commands we should most likely be able to just run the same commands as we currently do for running the commands inside docker which is +💯!

Thanks for the quick reply.

mostaphaRoudsari added a commit that referenced this issue Jan 31, 2019
@mostaphaRoudsari
Copy link
Member

This should do it: 9ea4b3c

I added a separate runmanager for blueCFD. By default Butterfly will switch to blueCFD if installed. I tested a number of sample files and everything works as expected but I keep this issue open until I can do more testing or several users confirm that it works fine on their machine.

Thanks again @wyldckat! If it works out fine we can have an official release with support for blueCFD.

@BrendaEM
Copy link

Thank you mostaphaRoudsari and wyldckat both for working on this!
I didn't want to post anything here because I was afraid I would jinx it.

I will look, and report back, soon.

Thanks again,
--BrendaEM

@DambronOlivier
Copy link

DambronOlivier commented Jan 31, 2019

@mostaphaRoudsari @wyldckat
Wonderful! It works very smoothly from installation to Grasshopper and also parallel processing.
Game changing!

ps: Windows 10.

@BrendaEM
Copy link

BrendaEM commented Jan 31, 2019

I am likely too new at only 30-hours of Grasshopper tutorials ( lots of Rhino ) and minimal but some exposure to OpenFoam, but, it's not working for me.

On either of two fully patched Windows 10 Systems, with Updated Rhino, I tried:

  • Installed blueCFD-Core-2017-2-win64-setup.exe, as Amin.
  • Downloading the original Butterfly.
  • Downloaded a zip of the current Master from github.
  • Merged the Master into Butterfly causing some 47 replacements.
  • Started Rhino and Grasshopper, and loaded and ran the Butterfly installer, with success.
  • Restarted computer.
  • Started Rhino as Administrator.
  • Loaded a few examples.

I am seeing red for the components, with (closely):

Runtime Error (ImportException)
Failed to import butterfly
0 Cannot import name
loadOFPointsFile

Traceback
line 89, in script.

The problem exists with or without first starting blueCFD-Core 2017.
The problem exists in both user names with and without spaces.
I tried setting a few Grasshopper binary parameter switches.
Sample geometry does show in Rhino,.
Input geometry parameters appear referenced, and not orange.

I would be quick to discount my test, but I tried.

@mostaphaRoudsari
Copy link
Member

mostaphaRoudsari commented Jan 31, 2019

Hi @BrendaEM, Thank you for testing. Based on the error report there is an inconsistency between the version of butterfly Python library installed on your machine and the UserObjects/Components in Grasshopper. loadOFPointsFile has changed to load_of_points_file.

Can you try running this file right after opening Rhino and Grasshopper? 06_update_installer.zip

PS: You will also need updated sample files which you can download from here: https://github.com/ladybug-tools/butterfly-plus/tree/master/plugin/grasshopper/examplefiles

@BrendaEM
Copy link

BrendaEM commented Jan 31, 2019

Before we go further, and this might be a plot-point. I had:

  • Downloaded butterfly.0.0.04 from Food4Rhino.
  • Added a .zip clone of Butterfly master from Github,
  • Added your updated python files and new installer 06_update_installer.gh
  • Where appropriate.

Though the example test file you wanted to update are reworked for Butterfly Plus.

At this point, I had not updated, Butterfly to Butterfly-Plus for fear of changing horses midstream. Also, your installer appears to download them.

The thing that's confusing: Butterfly master, would seem to be the whole thing, though it appears not to be the case.

This is what I get thrown from Grasshopper if I try to load one of the Butterfly-Plus examples:
IO Read error: Unknown data type encountered.

The clean(er) installer Grasshopper Panel readout text reads:

            {0;0}
0. Downloading butterfly repository to C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts
1. Copying butterfly source code from C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly-master\butterfly to C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly
2. Downloading butterfly-plus repository to C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts
3. Copying butterfly source code from C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly-plus-master\butterfly_grasshopper to C:\Users\CFD\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly_grasshopper
4. Copying butterfly userobjects to C:\Users\CFD\AppData\Roaming\Grasshopper\UserObjects\Butterfly
5. Removing Butterfly UserObjects from C:\Users\CFD\AppData\Roaming\Grasshopper\UserObjects\
6. Removing Butterfly UserObjects from C:\Users\CFD\AppData\Roaming\Grasshopper\UserObjects\Butterfly
7. Failed to remove: C:\Users\CFD\AppData\Roaming\Grasshopper\UserObjects\Butterfly
8. OpenFOAM installation: ESI
9. Imported butterfly from C:\Users\CFD\Desktop\butterfly.0.0.04\butterfly\__init__.py
swoosh swoosh...

Also noteworthy is, as loaded the new Grasshopper installer loads with the switch on. I tried to cycle off and then return it to on. I could have forgotten to uninstall with the binary switch before updating.

I tried uninstalling and cleaning out everything, and merging and reinstalling, but I get the same IO error.

Thank you for the reply, and working on Butterfly and BlueCFD.

@mostaphaRoudsari
Copy link
Member

At this point, I had not updated, Butterfly to Butterfly-Plus for fear of changing horses midstream. Also, your installer appears to download them.

Yes. The installer works like pip install -U. It removes the older installation and copies both butterfly and butterfly-grasshopper libraries as well as the Grasshopper components.

The thing that's confusing: Butterfly master, would seem to be the whole thing, though it appears not to be the case.

It is not. Butterfly is the core library and there is a small [+] library which stands between Grasshopper and the core library: https://github.com/ladybug-tools/butterfly-plus/tree/master/butterfly_grasshopper

IO Read error: Unknown data type encountered.

Can you send a screenshot of the error? I guess this is the error because you are opening the files in an older version of Grasshopper than the one that I use and the error can most likely be ignored.

@BrendaEM
Copy link

BrendaEM commented Feb 1, 2019

AFAIK, I must have the current version of Grasshopper, because it is part of Rhino version 6.x .
Grasshopper/Butterfly seem unable to load any of the updated example files.

https://www.dropbox.com/s/0y3y2qbxos3jhmj/Grasshopper-Example%20Load%20Error.jpg?dl=0

@mostaphaRoudsari
Copy link
Member

Hi @BrendaEM, Let's try this. Can you open this file after unzipping it?
01_0_outdoor_airflow.zip

@BrendaEM
Copy link

BrendaEM commented Feb 1, 2019

Hi MostaphaRoudsari,

It now loads but fails, apparently as the others, with red components.

Runtime error (ImportException): 
Failed to import butterfly:
Cannot import name loadOFPointsFile

Traceback:
  line 86, in script

Perhaps I keep making the same stupid installation mistake.
Is it possible to gather a complete copy of Butterfly in a zip?

Or could it be a Windows 10 thing?
Or could it be a Rhino 6.x thing?

I appreciate all the effort and help. I just feel bad--especially that I am the problem user.

I considered asking on the Rhino forum for testers, but I thought that I give you the respect of letting you determine the scope of your testers.

@SinaHassanli
Copy link

I tested the updated outdoor case! It is working perfectly fine! thanks @mostaphaRoudsari and @wyldckat for finding a workround to avoid a huge headache over docker/virsualbox. I'll probably test other cases and report back. Cheers.

@TheodoreGalanos
Copy link
Collaborator

Amazing work @mostaphaRoudsari and @wyldckat.

Bruno I want to thank you for your support in this, it is really game changing for Butterfly's development going forward.

Kind regards,
Theodore.

@mostaphaRoudsari
Copy link
Member

Hi @BrendaEM, You are doing everything right on your side. If someone is to blame that would be me and the installer which should get everything fixed in one go.

It's probably one old component in the definition that should be replaced. Does everything else work fine? Can you create the case? Can you share a screen capture from the error?

@andydogbo
Copy link

@mostaphaRoudsari I tested updated outdoor case and it is working.

@DambronOlivier
Copy link

@andydogbo @SinaHassanli
have you tried meshing + running the case fully?
I run into some errors with multiple processors meshing.

@BrendaEM
Copy link

BrendaEM commented Feb 1, 2019

Please, if you are testing, please mention your Rhino and Windows version with the test results. Thank you

Does everything else work fine? Can you create the case? Can you share a screen capture from the error?

Some of the Butterfly-unique components are working fine. From the Exterior test, the non-working components are:
createCaseFromTunnel
WTGrading
probes
solution
loadProbesValue (2 instances)

image

Ironically, the outdoor test scenario using thing Windtunnel is what I am interested in. Although it may be an off-lable use, I was hoping to put CFD in the design loop for designing a car body for 3-wheeled car.

[... Though the Wind-tunnel component might not have a moving ground-plane parameter nor rotating walls, because buildings are stationary by tradition : ) Perhaps I can add that to the case, or perhaps figure out what you are doing by then.]

@mostaphaRoudsari
Copy link
Member

@DambronOlivier, I saw that error but it looked like it is an issue with SnappyHexMesh and parallel processing and it is right after it talks about the use of parallel processing with meshing is experimental and use it at your risk. Did you try to run it against OpenFOAM on linux and see if it works fine there?

@BrendaEM, Feel free to send me an email to set up a quick call and I can help you with the installation. It will be easier to debug it via screen share and then report back to everyone. It's really hard to say what is going on from this screen capture.

@andydogbo
Copy link

@wyldckat
i copy past the message output by SHM component in the file SHM_log.txt.
the other file is the log from mpirun.
mpirun.log
SHM_log.txt

@tlpwka
Copy link

tlpwka commented Feb 13, 2019

@wyldckat
i copy past the message output by SHM component in the file SHM_log.txt.
the other file is the log from mpirun.
mpirun.log
SHM_log.txt

I have the same issue , using MS-MPI 7.1. And multicore SHM crash direct with MS-MPI 8

@wyldckat
Copy link
Author

@andydogbo In your logs, there is no clear reason as to why it failed to work as intended. @DambronOlivier I'll leave this one for you to diagnose this issue in Butterfly.

@tlpwka Using any other version of MS-MPI than the one provided with blueCFD-Core 2017, will not work as intended. Please follow the instructions give in this FAQ entry: Solution 1 - Simply copy the DLL file - this will enforce the correct MS-MPI 7.1 library version to be picked up by blueCFD-Core 2017-2, instead of MS-MPI 8.

@andydogbo
Copy link

@wyldckat
Thanks for checking the log files.
@DambronOlivier did you succed in generating parallel meshing ?

@BrendaEM
Copy link

BrendaEM commented Feb 14, 2019

Hi @chriswmackey, @wyldckat and @mostaphaRoudsari, and All,

BTW, I tried @chriswmackey's updated archive. The installer outputs that it installs correctly, the Butterfly command bar shows in grasshopper, but any component placed on the editing areas shows red, as does the examples.

Windows 10, fresh install and updated, no spaces in user name,
Rhino 6, current,
blueCFD-Core-2017-2-win64-setup,

[BTW, I am sorry that I have been away from the keyboard. I'm in the process of...moving.]

@tlpwka
Copy link

tlpwka commented Feb 14, 2019

@tlpwka Using any other version of MS-MPI than the one provided with blueCFD-Core 2017, will not work as intended. Please follow the instructions give in this FAQ entry: Solution 1 - Simply copy the DLL file - this will enforce the correct MS-MPI 7.1 library version to be picked up by blueCFD-Core 2017-2, instead of MS-MPI 8.

@wyldckat Thank you. I just tested MS-MPI 8 as blueCFD installer ask which version i want to use.

Still, with MS-MPI 7.1 I have the same issue as @andydogbo .
In fact, while running snappyHexMesh without decompose_par_dict_ create folder "1" inside of project folder. And inside of "1" a "PolyMesh" folder is created with all meshing results.
project folder - without parallel run
mesh results folder
But, when I use decompose_par_dict_, the folder with meshing results does not exist.
project folder with parallel run
I tested on several machines:
Windows 10 Pro in domain as admin
Windows 10 LTSB without domain as admin
Windows 10 LTSB in virtualBox as admin
And the result is the same.
Project folder was granted with all rights for every logged user, but the issue persist.
I tried to place both blueCFD installation and project folder to different place (e.g. to c:\user_work), with the same result, only snappyHexMesh without decompose_par_dict_ work fine.
At the same time, solution with decompose_par_dict_ run as intended.

P.S.: During calculations snappyHexMesh with decompose_par_dict_ active create one folder per processors with all files of polyMesh. But during merging phase, theses files are deleted, but merged files are not created.

@DambronOlivier
Copy link

@wyldckat @tstargazer @tlpwka @andydogbo @chriswmackey

The error comes from the fact that BlueCFD accepts a max MergeTolerance of 1e-7 and reconstructParMesh uses by default 1e-7.

I've tested manually to run:
"reconstructParMesh -constant -mergeTol 1e-6"
and all falls into place.

In the code we should add it here

arg_list = ('', arguments, '-constant', '-r proc*')

@wyldckat
Copy link
Author

@tlpwka My apologies, I completely forgot that blueCFD-Core 2017 does provide support for MS-MPI 8, namely the version that is provided with its installer. Nonetheless,

There is something that I'm finding very strange in all of this, because it should not be necessary to use blueCFD-Core in administrator mode. At most, the terminal may be opened - only once - after installation as administrator, to set-up a few final details, but even that should not be necessary.

Please run the following commands within blueCFD-Core's terminal:

user
cd pTestCase/
foamJob -p -s Test-parallel

It will show on screen what it ran, as well as send the output into the file named log. Here is an example of the expected content for that log file: log.txt

If it's similar, then snappyHexMesh should run in parallel just fine.
But if it has any error messages, then something went wrong with blueCFD-Core's installation, in which case, please attach said log file.

@wyldckat
Copy link
Author

@DambronOlivier:

The error comes from the fact that BlueCFD accepts a max MergeTolerance of 1e-7 and reconstructParMesh uses by default 1e-7.

The other possibility is to increase the writePrecision in system/controlDict to 1e-8.

@DambronOlivier
Copy link

@wyldckat
Thats much more elegant indeed.

Just tried it and it works. in system/controlDict
writePrecision 8;

@chriswmackey
Copy link
Member

@DambronOlivier and @wyldckat ,

Thanks for doing the support here and glad that it is running on your machines.

@tstargazer , your installation process looks correct except I don't see a step where you run the terminal as @DambronOlivier points out. Can you confirm that you ran that step correctly as described in the wiki documentation.

@andydogbo , I had also noticed some issues with certain multi-threading processes, though I was able to get most of them to work after completely deleting the case folder and starting over. If deleting and starting over does not work, it would be useful to see the log files as @wyldckat notes.

@andydogbo
Copy link

Thanks @DambronOlivier and every one.
the parallel meshing is ok now. 👍

@tstargazer
Copy link

Hi, @DambronOlivier and @chriswmackey
Sorry for not replying for so long. I had deleted all the butterfly files and uninstalled bulecore-cfd, restart my computer and installed butterfly and bulecore-cfd as @DambronOlivier and the wiki documentation described again. I confirmed I run that step correctly and the terminal showed "Environment is now ready."
qq 20190215101528
But the result is the same.
Updating cell size in blockMeshDict.
Updating grading in blockMeshDict.
Saved changes to blockMeshDict to:
C:\Users\Feng\butterfly\outdoor_airflow\system\blockMeshDict
Runtime error (PythonException): ¾ä±úÎÞЧ¡£
¾ä±úÎÞЧ¡£
¾ä±úÎÞЧ¡£
¾ä±úÎÞЧ¡£
¾ä±úÎÞЧ¡£
tee: failed to reopen 'stdout' with mode 'wb': Bad file descriptor

--> FOAM FATAL IO ERROR:
error in IOstream "Sout" for operation Ostream& operator<<(Ostream&, const char*)

file: Sout at line 16.

From function virtual bool Foam::IOstream::check(const char*) const
in file db/IOstreams/IOstreams/IOstream.C at line 96.

FOAM exiting

Traceback:
line 278, in _handle_process, "C:\Users\Feng\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager_bluecfd.py"
line 213, in _run_ironpython, "C:\Users\Feng\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager_bluecfd.py"
line 234, in run, "C:\Users\Feng\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager_bluecfd.py"
line 756, in command, "C:\Users\Feng\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\case.py"
line 788, in blockMesh, "C:\Users\Feng\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\case.py"
line 52, in script

P.S.: “¾ä±úÎÞЧ¡£” means invalid handle. My machine: Windows 7 Ultimate as admin; Rhino 6 sr11; blueCFD-Core-2017-2-win64

@DambronOlivier
Copy link

hi @chriswmackey

In your next pass would it be possible to update the default value of writePrecision to 8:

__default_values['writePrecision'] = '7'

Thanks in advance,
Olivier

mostaphaRoudsari added a commit that referenced this issue Feb 15, 2019
@mostaphaRoudsari
Copy link
Member

@DambronOlivier, Done! It's updated to 8: 8d57b75

@BrendaEM
Copy link

Hi,

Is there an up-to-date complete Butterfly for download?
Will a downloaded zip pull, with installer install everything?

Thank you, and thank you all for working to make this happen.

BTW, if you do not like the old Docker OpenFoam Solution, this might be a nice place to type a few words, as the powers that be at OpenFoam might still think that Docker was a great solution.
https://www.cfd-online.com/Forums/openfoam/212747-openfoam-under-windows-poor-solution.html

@alicialeeinchina
Copy link

Hi @mostaphaRoudsari
may i ask if it's enough to install blueCFDcore before running butterfly for dynamo without install openfoam?

@mostaphaRoudsari
Copy link
Member

Hi @BrendaEM, see Chris's comment: #375 (comment)

Hi @alicialeeinchina, we haven't updated the Dynamo nodes yet. Will do before the public release.

@BrendaEM
Copy link

Hi mostaphaRoudsari,

Although the installer/uninstaller appears to run with one issue, it appears successful...

removing C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly
removing C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly_grasshopper

Copying butterfly source code from C:\Users\BEM\Desktop\Butterfly\butterfly to C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly

Copying butterfly source code from C:\Users\BEM\Desktop\Butterfly\butterfly_grasshopper to C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly_grasshopper

Copying butterfly userobjects to C:\Users\BEM\AppData\Roaming\Grasshopper\UserObjects\.
Failed to remove C:\Users\BEM\AppData\Roaming\Grasshopper\UserObjects\Butterfly

Installation is finished successfully! Close both Rhino and Grasshopper and run Rhino as administrator.

....I still get errors on one computer, and completely red on another.


Updating cell size in blockMeshDict.
Updating grading in blockMeshDict.
Saved changes to blockMeshDict to:
C:\Users\BEM\butterfly\outdoor_airflow\system\blockMeshDict

Updating cell size in blockMeshDict.
Updating grading in blockMeshDict.
Saved changes to blockMeshDict to:
C:\Users\BEM\butterfly\outdoor_airflow\system\blockMeshDict
Runtime error (IOException): 'docker-machine' is not recognized as an internal or external command,

operable program or batch file.

	

Traceback:
  line 126, in get_shellinit, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 138, in get_container_id, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 65, in container_id, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 285, in _RunManager__command, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 240, in command, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 341, in run, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\runmanager.py"
  line 756, in command, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\case.py"
  line 788, in blockMesh, "C:\Users\BEM\AppData\Roaming\McNeel\Rhinoceros\6.0\scripts\butterfly\case.py"
  line 52, in script

I suspect that I have Docker droppings all over this machine, and it's begging for a clean install, perhaps that's the problem.

@mostaphaRoudsari
Copy link
Member

Hi @BrendaEM, Did you restart both Rhino and Grasshopper after the installation? Rhino caches the imported libraries in memory and unless you restart both Rhino and Grasshopper it will use the older one which is already loaded to library.

Once you restart Rhino can you bring down a GHPython component and test the code below. This should tell you if Butterfly has successfully found the blueCFD installation:

import butterfly
print(butterfly.config['runner'])

@BrendaEM
Copy link

BrendaEM commented Feb 18, 2019

mostaphaRoudsari,

Thank you for the suggestions. Yes, I have rebooted the machine
It reports "ESI" .
Perhaps it is Docker droppings. I tried to rid my machine of it, but perhaps something is left behind.
Perhaps also, in an effort to rid whitespace as an issue, I had placed my Blue OpenFoam in:
C:\blueCFD-Core-2017
But perhaps it cannot be seen there. I will try moving it.

I just searched my whole drive looking for stray folders, which there was at least one.
[ There was also a Xilinx FGPA definition for docker integration, which should matter, yet I deleted the whole thing for now, just to make sure. ]
Cleaned registry, and Disk Cleanup (admin),

I will try my other machine when I return home.

@BrendaEM
Copy link

BrendaEM commented Feb 18, 2019

Hey! It's do'in stuff!!! : )
SnappyHexMesh claims to have added baffles to mark off problem areas, but seems to have finished, normally.

It's currently running the solution. I will let it continue onward.

I have abandoned the scientific method, because I felt like I was the only person in the free world--not having this working even a little bit. So, I decided to employ an all-inclusive sledgehammer diagnostic approach, where, in an act of desperation, you try several things at one go.

The problem with making more than one change is the root cause may include from any of the following:

  • Not installing BlueCFD not under C:\Program Files\blueCFD-Core-2017 might have caused it not to be seen. So far, unlike Docker, nothing BlueCFD seems to care if there is a space between "Program" and "Files" .
  • One or two Docker residual folders might have caused a false positive for Docker's existence.
  • This attempt, I did not use elevated privileges for Rhino during the Butterfly installation, though I did, after, of course. Though, unlike Linux, Windows does not have a separate /root account.
  • I cleaned the Windows registry with CCCleaner, in an effort to remove Docker droppings, and then rebooted the computer.

Unlikely causes are:

  • Xilinx's Docker definition, because it was not used, as evidenced by its ability to run without virtualization enabled in the UEFI.
  • The old Jiggle-the-handle Windows approach, because I have done more than one loop.
  • Temporary files, as I often run Disk Cleanup (admin).

Thank you for your patience and help.

@jh620026
Copy link

Hi mostaphaRoudsari,

I install the new Butterfly and blueCFD successfully but I found an issue is that if I connect the decompose_par_dict, it will be ended before starting time loop . Hope u can understand what I mean. Cheers

Best regards

James

@jh620026
Copy link

By the way, I use win10.

@alicialeeinchina
Copy link

Hi @BrendaEM, see Chris's comment: #375 (comment)

Hi @alicialeeinchina, we haven't updated the Dynamo nodes yet. Will do before the public release.

Thanks for reply. May I ask when will you update the Dynamo codes? Really expecting that cause I met so many problem when using Openfoam.

@mostaphaRoudsari
Copy link
Member

@BrendaEM see my reply here: https://discourse.ladybug.tools/t/butterfly-installation-problem/5323/3?u=mostapha

@jh620026, please re-post this question on the forum.

@alicialeeinchina, We will do the update for Dynamo after we ensure we have all the major issues fixed with the new updates in Grasshopper.

@mostaphaRoudsari
Copy link
Member

I'm going to lock this issue. For upcoming questions and issue please refer to discourse. Thanks.

@ladybug-tools ladybug-tools locked as resolved and limited conversation to collaborators Feb 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests