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:
- 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
). - 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:
- 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:
- FEKO_NETWORK_DRIVE_MAPPING
- This environment variable overrides the automatic mapping of shared network drives on Microsoft Windows during the MPI process startup.
- 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 byexport 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:
- 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:
- 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.