Installation
flow5 is installed and launched like xflr5, by extracting the package and moving the executable to the appropriate directory.

- In the mac’s security preferences, select “Allow apps from the app store and identified developers”; the flow5 package has been signed and notarized according to the macOS Catalina guidelines.
- open the dmg
- drag the file flow5.app to the Applications directory

To run flow5 from the command line, add the path to the application to the default paths; this needs to be done manually since flow5 does not come with an installer.
An alternative is to add a symbolic link to the application in the /usr/local/bin directory:
sudo ln -s /Applications/flow5.app/Contents/MacOS/flow5 /usr/local/bin



Troubleshooting
Launch fail:
- check that the latest version of xflr5 runs on the platform. flow5 is only guaranteed to work on platforms which support xflr5.
- move or rename the last project file; this will prevent the application from autoloading it in case it got corrupt during a failed save operation 
- check that you are using the latest version of the application; frequent updates are expected to be released in the beta phase; to be notified of updates, activate the option in the preferences.
- check the OpenGL support as indicated in the next section; the majority of the issues with xflr5 have been due to inconsistent support for OpenGL by the hardware and software vendors.
- from a terminal, launch flow5 with the command flow5 -t; this will launch the program in debug mode and will create a trace file with run-time information. Please contact me using the web site’s contact form. I will provide you with explanations on how to send this trace file.
- disable the "check for updates" box in the preferences; this has been known to cause occasional issues on macOS
- restore the default preferences by deleting the settings file $HOME/Library/Preferences/com.flow5.flow5.plist or com.cere-aero-tech.flow5.plist, depending on the version of the application, and launch again


OpenGL support
flow5 complies with the OpenGL specification, as implemented by the Qt library.
However, the support for OpenGL is OS and hardware dependent, with each vendor providing its own implementation. Experience with xflr5 has shown that this leads to issues for some configurations.

Also, the OpenGL specification has changed over time, with forward compatibility being broken between versions 1.0 and 2.1, and between 2.1 and 3.3 – a developer’s nightmare.
OpenGL 2.1 is now deprecated, and applications should therefore implement support for v3.3+ with the core profile, i.e. without use of deprecated functions.

For information, xfl5 implements full support for OpenGL 2.1, and support with OpenGL3.1 with the compatibility profile, i.e. it still uses some deprecated 2.1 functions.

flow5 v7.01_beta implements full support for OpenGL 2.1, which should therefore be the preferred default version if supported by the hard/soft configuration.
Since there is no guarantee that future OS and GPU vendors will continue to support the deprecated versions, flow5 is compatible with the core profile of v3.3+. As of flow5 v7.01_beta however, this support is still a work in progress, and the display in some views may not yet be as optimal as it is for the 2.1 context.
By default, flow5 will request a 2.1 context. To change manually the version:

in case flow5 does not launch: from the command line, enter flow5 -h to list the options, and flow5 -o 21 or flow5-o 33 to request the 2.1 and 3.3 contexts. The format will be saved in the settings, and this context will be automatically requested for future launches.
if flow5 does launch, the context can be changed in OpenGL settings of the Options Menu; Test the context, then Apply and Close.
Note that the option is a only a request. The OS will commonly respond with another later version which supports the requested configuration.

Some laptop computers have dual graphic processors, in which case, the OS will usually select by default the motherboard’s GPU to run xflr5 and flow5. This is usually good enough because both applications make only a minimal use of a GPU’s power and functionalities. In case of issues however, it is worth trying to force the application to run on the other graphic chipset, which provides a different support for OpenGL. The method to select the processor is given in the laptop’s documentation.

RAM availability
Excessive matrix sizes may cause the OS and its desktop to become unstable. It is recommend to run some tests by increasing progressively the matrix sizes to set a reasonable limit. The approximate size of the RAM used by the analysis is mentioned in the log file. Use the system monitor to check memory usage and free memory during the analysis.

Other issues
Please use the discussion section to report other issues and difficulties.
