List of Environment Variables

Control the execution of Feko with environment variables.

During the installation process, the environment variables are set correctly. The following environment variables may be set if it is required using Lua commands and internal functions:

ALTAIR_EXT_MATH_API
This variable can be used to specify if the Intel MKL libraries (default) or AMD AOCL libraries should be used when running a simulation.
Unset
MKL libraries are enabled (default).
MKL
Intel MKL libraries are enabled.
AOCL
AMD AOCL libraries are enabled.
ALTAIR_HOME
The Altair installation folder (FEKO_HOME points to the Feko folder inside ALTAIR_HOME.)
FEKO_AFFINITY_ONFLY
This variable enables the modification of the CPU mask for threads generated when converting from MPI to OpenMP. Supported values are:
Unset
Inactive (default)
0
Deactivate
1
Activate
FEKO_AFFINITY_PIN
This variable can be used to pin the processes to a core automatically or pin all processes to all cores detected. Supported values are:
Unset
Automatic pinning is enabled (default).
0
Pin all processes to all cores.
Any other value
Pinning is done automatically.
FEKO_AFFINITY_SET
This variable enables/disables affinity for Feko. Supported values are:
Unset
Affinity is disabled (default).
0
Deactivate affinity.
1
Enable affinity.
-1
Disable all affinity-related logic (including reporting and debug).
FEKO_AFFINITY_SINGLIFY
This variable controls whether the CPU mask is singlified to one resource, preventing the process from being migrated. Supported values are:
Unset
No singlify operation (default).
0
Deactivate
1
Activate
FEKO_CALCULATE_CONDITION_NUMBER
This environment variable provides control over the calculation of the MoM matrix. Allowed settings are as follows:
enabled
Calculate the MoM matrix condition number.
disabled
Do not calculate the MoM matrix condition number.
<empty> or any other value
Use the predefined Feko default - the condition number is calculated when feasible.
FEKO_CMDINFO
If this environment variable is set to the value 1, Feko writes additional data concerning the number and the value of the received command line parameters to the screen. This can be useful to trace errors in the parallel version of Feko used in connection with implementations of mpirun, mpiopt and mpprun.
FEKO_CSV_RESOURCE_REPORTING_PRESET
This variable is used for reporting preset selection for usage with a job scheduling system (for example, PBSpro). It is used to select an alternative way to integrate with the job scheduling system for resource reporting (for example CPU usage and memory). Feko will normally choose the correct default depending on the PBS version that is found on the target system. This variable is only applicable when used with the --use-job-scheduler option of RUNFEKO and Intel MPI on Linux (FEKO_WHICH_MPI=11).
pbs_attach
Use the pbs_attach tool of PBS to start the processes on the individual nodes. pbs_attach must be found by PATH or set FEKO_PBS_PATH to the directory where this tool is found (including a trailing slash /).
pbs_tmrsh
Use the pbs_tmrsh tool of PBS to bootstrap the launching on the individual nodes. pbs_tmrsh must be found by PATH or set FEKO_PBS_PATH to the directory where this tool is found (including a trailing slash /).
pbs_jmi
Use the JMI library to integrate with PBS directly (experimental).
<empty> or <not set>
Use the predefined Feko default which is based on the PBS detected at runtime.
FEKO_DATA_EXPORT_FORMAT
Use the n-th version format for the data export files (.efe, .hfe, .ffe, .os, .ol,.tr). Allowed values for n are as follows:
1 and 2
These versions was used up to Suite 6.1
3
This version was used from Suite 6.2.
4
This version was used from version 14.0.410
5
This version is used from version 2018.
1 and 2 where 1 is the version used up to Suite 6.1. Version 2 was introduced with Suite 6.1. If not specified, the default is to use the latest supported version.
FEKO_HOME
This variable is set to the Feko installation path which contains the subdirectories such as bin and license. Note that it is not recommended to modify this environment variable.
FEKO_LICENSE_FILE
Only for legacy FEKO licenses. This variable is used to specify the location of the Feko licence file if it is not located in the default directory with the default name. The default name and location is secfeko.dat and %FEKO_HOME%\license.
FEKO_MACHFILE
The parallel version of Feko is started by running RUNFEKO with options -np x . When Feko is installed on a parallel computer or a computer cluster, the configuration of the cluster and the number of processes that should be run on each computer is specified during the installation. This can be overwritten for any Feko run by creating a so-called machines file and setting the environment variable FEKO_MACHFILE to point to this file.
FEKO_MACHINFO
If this parameter is set, Feko will write information about the machine precision to both the screen and the output file.
FEKO_MAXALLOCM
This environment variable is used to limit memory (in MByte) that Feko is allowed to use on the particular host. This environment variable is not needed or recommended for computers running Microsoft Windows or Linux operating systems. On others (such as UNIX systems) the variable is set at installation time. The value of this variable should usually be set equal to the physical memory minus some margin for the operating system. In a few cases a lower limit may be required, and should be set here.
FEKO_MPI_ROOT_FORCE
Use this environment variable to force Feko to use a custom MPI implementation instead of the MPI implementation included as part of the Feko installation. Set this environment variable to the path of the folder containing the MPI implementation / version.
FEKO_MPISTATISTICS
This environment variable provides additional information about the performance of the parallel version of Feko. There are three options:
1
Give a detailed report of the CPU and run times for the individual processes. It is, for example, possible to determine how much time each process required during the computation of the array elements.
2
Give as additional output the MFLOPS rate of each process (without network com- munication time). This is useful to determine the relative performance of nodes in a heterogeneous cluster.
4
Give information about the network performance (latency and bandwidth). This is very useful when configuring parallel clusters.
The options can be added in a binary fashion, for example setting the environment variable equal to 5 will print both the run times and network performance.
FEKO_NETWORK_DRIVE_MAPPING
This environment variable overrides the automatic mapping of shared network drives on Microsoft Windows during the MPI process startup.
1
Enable automatic shared network drive mapping on Microsoft Windows (default or not set).
0
Shared network drives are disconnected.
FEKO_PARALLEL_DEBUG
For parallel runs of Feko under UNIX, this environment variable can be set to 1 in order to see all the details and commands used in the parallel launching and machines file parsing. This is helpful for troubleshooting errors.
FEKO_RSH

When installing the parallel Feko version on a UNIX cluster, then communication between the nodes is required both at installation time (for example, checks on the remote nodes, remote copying of files and remote execution of utilities), but also when using Feko (remote launching of parallel Feko processes).

By default both the installation script and the parallel launcher will use the remote shell for this purpose (rsh for most UNIX platforms). A typical set up is then to use a /.rhosts file. But this is not quite secure, and you might prefer to rather use the secure shell ssh in connection with public key authentication (avoids having to type passwords all the time).

The actual remote shell executable (for example, rsh or remsh or ssh is determined during the installation procedure, and the environment variable FEKO_RSH is set to point to this executable. This can always be changed later (for example, using rsh for the installation as root, but then ssh for the users using the parallel Feko version or vice versa).

This command should be one of the following:
rsh
remote shell (might be remsh on some platforms)
ssh
secure shell
feko_run_local
Feko wrapper script for local runs

It is possible to set this on a user-per-user basis (see Environment Settings Overview). This environment variable is not used on Microsoft Windows systems.

FEKO_TMPDIR
This variable specifies the directory where Feko will write paging files, when using the out-of-core solution. In the past it was required that the definition ended in a backslash (Microsoft Windows) or a slash (UNIX). This is no longer required. For example, in UNIX it may be set as follows:
  • set FEKO_TMPDIR= or by
  • export FEKO_TMPDIR
FEKO_USER_HOME
This directory is used to write user specific initialisation files. This variable replaced FEKO_WRITE. It is provided to allow different users to save unique configurations, and for situations where the user does not have write access to the Feko directory. For Microsoft Windows systems this is normally %APPDATA%\feko\xx.yy and on UNIX systems it is usually set to $HOME/.feko/xx.yy during the installation. Here xx.yy represent the major and minor version numbers.
FEKO_SHARED_HOME
This directory is used to write files shared between Feko users on the same machine. For Microsoft Windows systems, this is by default set to C:\ProgramData\altair\feko\xx.yy, and on UNIX systems it is set to $HOME/.feko/xx.yy during the installation. Here xx.yy represent the major and minor version numbers.
FEKO_WHICH_MPI
Feko uses different MPI implementations for the different platforms and thus the different platforms require different command syntax to start Feko. RUNFEKO provides an interface that remains the same on all platforms. However, it must know which MPI implementation is used. This is done by setting the environment variable FEKO_WHICH_MPI (it is automatically set during installation) to one of the following options:
1
MPICH (Only supported on Linux)
4
SGI MPT (Deprecated)
11
Intel MPI
13
MS MPI
15
Open MPI (Only supported on Linux)
FEKO_WHICH_SPICE_EXECUTABLE
This variable specifies which SPICE solver should be used. When left unset (default),Feko uses HyperSpice. You can set this variable to point to the full path and executable name of the preferred SPICE solver.
Note: Supported SPICE engines: NGSPICE, LTSPICE and PSPICE.
FEKO_WHICH_SPICE_ENGINE
When FEKO_WHICH_SPICE_ENGINE is not set (default), Feko will attempt to auto-detect the SPICE engine that has been set using the FEKO_WHICH_SPICE_EXECUTABLE environment variable. The FEKO_WHICH_SPICE_ENGINE environment variable allows the user to specify the SPICE engine so that FEKO does not need to perform the auto-detection. The following options are supported:
1
NGSPICE
2
PSPICE
3
LTSPICE
FEKO_WRITE_RHS
If this environment variable is set (value arbitrary), Feko writes the right side of the set of linear equations to a .rhs file. This is only useful for test purposes, such as when one wants to analyse this vector with another program.