Please note that FeenoX is a cloud-first back end aimed at advanced users. It does not include a graphical interface and it is not expected to run in Windows. See this 5-min explanation about why:
For an easy-to-use web-based front end with FeenoX running in the cloud directly from your browser see CAEplex at https://www.caeplex.com.
Any contribution to make dekstop GUIs such as PrePoMax or FreeCAD to work with FeenoX are welcome.
FeenoX is distributed under the terms of the GNU General Public License version 3 or (at your option) any later version. See licensing below for details.
GNU/Linux binaries | https://www.seamplex.com/feenox/dist/linux |
Windows binaries | https://www.seamplex.com/feenox/dist/windows |
Source tarballs | https://www.seamplex.com/feenox/dist/src |
Github repository | https://github.com/seamplex/feenox/ |
Be aware that FeenoX is a backend. It does not have a GUI. Read the documentation, especially the description and the FAQs. Ask for help on the GitHub discussions page.
Binaries are provided as statically-linked executables for convenience. They do not support MUMPS nor MPI and have only basic optimization flags. Please compile from source for high-end applications. See detailed compilatation instructions.
Try to avoid Windows as much as you can. The binaries are provided as transitional packages for people that for some reason still use such an outdated, anachronous, awful and invasive operating system. They are compiled with Cygwin and have no support whatsoever. Really, really, get rid of Windows ASAP.
“It is really worth any amount of time and effort to get away from Windows if you are doing computational science.”
https://lists.mcs.anl.gov/pipermail/petsc-users/2015-July/026388.html
Browse to https://www.seamplex.com/feenox/dist/ and check what the latest version for your architecture is. Then do
feenox_version=0.2.85-g48a2b76
wget -c https://www.seamplex.com/feenox/dist/linux/feenox-v${feenox_version}-linux-amd64.tar.gz
tar xzf feenox-v${feenox_version}-linux-amd64.tar.gz
sudo cp feenox-v${feenox_version}-linux-amd64/bin/feenox /usr/local/bin
You’ll have the binary under bin
and examples,
documentation, manpage, etc under share
. Copy
bin/feenox
into somewhere in the PATH
and that
will be it. If you are root, do
sudo cp feenox-v${feenox_version}-linux-amd64/bin/feenox /usr/local/bin
If you are not root, the usual way is to create a directory
$HOME/bin
and add it to your local path. If you have not
done it already, do
mkdir -p $HOME/bin
echo 'expot PATH=$PATH:$HOME/bin' >> .bashrc
Then finally copy bin/feenox
to
$HOME/bin
cp feenox-v${feenox_version}-linux-amd64/bin/feenox $HOME/bin
Check if it works by calling feenox
from any directory
(you might need to open a new terminal so .bashrc
is
re-read):
$ feenox
FeenoX v0.2.102-g0cb44d2-dirty
a free no-fee no-X uniX-like finite-element(ish) computational engineering tool
usage: feenox [options] inputfile [replacement arguments] [petsc options]
-h, --help display options and detailed explanations of commmand-line usage
-v, --version display brief version information and exit
-V, --versions display detailed version information
--pdes list the types of PROBLEMs that FeenoX can solve, one per line
Run with --help for further explanations.
$
To compile the source tarball, proceed as follows. This procedure
does not need git
nor autoconf
but a new
tarball has to be downloaded each time there is a new FeenoX
version.
Install mandatory dependencies
sudo apt-get install gcc make libgsl-dev
If you cannot install libgsl-dev
, you can have the
configure
script to download and compile it for you. See
point 4 below.
Install optional dependencies (of course these are optional but recommended)
sudo apt-get install libsundials-dev petsc-dev slepc-dev
Download and uncompress FeenoX source tarball. Browse to https://www.seamplex.com/feenox/dist/src/ and pick the latest version:
wget https://www.seamplex.com/feenox/dist/src/feenox-v0.1.66-g1c4b17b.tar.gz
tar xvzf feenox-v0.1.66-g1c4b17b.tar.gz
Configure, compile & make
cd feenox-v0.1.66-g1c4b17b
./configure
make -j4
If you cannot (or do not want) to use libgsl-dev
from a
package repository, call configure
with
--enable-download-gsl
:
./configure --enable-download-gsl
If you do not have Internet access, get the tarball manually, copy it
to the same directory as configure
and run again.
Run test suite (optional)
make check
Install the binary system wide (optional)
sudo make install
To compile the Git repository, proceed as follows. This procedure
does need git
and autoconf
but new versions
can be pulled and recompiled easily. If something goes wrong and you get
an error, do not hesitate to ask in FeenoX’ discussion
page.
Install mandatory dependencies
sudo apt-get install gcc make git automake autoconf libgsl-dev
If you cannot install libgsl-dev
but still have
git
and the build toolchain, you can have the
configure
script to download and compile it for you. See
point 4 below.
Install optional dependencies (of course these are optional but recommended)
sudo apt-get install libsundials-dev petsc-dev slepc-dev
Clone Github repository
git clone https://github.com/seamplex/feenox
Boostrap, configure, compile & make
cd feenox
./autogen.sh
./configure
make -j4
If you cannot (or do not want) to use libgsl-dev
from a
package repository, call configure
with
--enable-download-gsl
:
./configure --enable-download-gsl
If you do not have Internet access, get the tarball manually, copy it
to the same directory as configure
and run again. See the
detailed compilation instructions for an
explanation.
Run test suite (optional)
make check
Install the binary system wide (optional)
sudo make install
To stay up to date, pull and then autogen, configure and make (and optionally install):
git pull
./autogen.sh; ./configure; make -j4
sudo make install
See the Compilation Guide for details. Ask in the GitHub Discussions page for help.
FeenoX is distributed under the terms of the GNU General Public License version 3 or (at your option) any later version. The following text was borrowed from the Gmsh documentation. Replacing “Gmsh” with “FeenoX” gives:
FeenoX is “free software”; this means that everyone is free to use it and to redistribute it on a free basis. FeenoX is not in the public domain; it is copyrighted and there are restrictions on its distribution, but these restrictions are designed to permit everything that a good cooperating citizen would want to do. What is not allowed is to try to prevent others from further sharing any version of FeenoX that they might get from you.
Specifically, we want to make sure that you have the right to give away copies of FeenoX, that you receive source code or else can get it if you want it, that you can change FeenoX or use pieces of FeenoX in new free programs, and that you know you can do these things.
To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of FeenoX, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights.
Also, for our own protection, we must make certain that everyone finds out that there is no warranty for FeenoX. If FeenoX is modified by someone else and passed on, we want their recipients to know that what they have is not what we distributed, so that any problems introduced by others will not reflect on our reputation.
The precise conditions of the license for FeenoX are found in the General Public License that accompanies the source code. Further information about this license is available from the GNU Project webpage http://www.gnu.org/copyleft/gpl-faq.html.