Access to the license features can be controlled by the Ansys license manager. These access rules can be defined in the 'ansyslmd.opt' options (text) file.
Note: Create the 'ansyslmd.opt' file, if this is not found in the installation folder. Restart the Ansys license manager to apply the changes from your options file.
Requisites
- Ansys License Manager.
- Lumerical 2021 R1 and newer.
- Root or administrator privilege.
Location of the 'ansyslmd.opt' file
Windows:
"C:\Program Files\ANSYS Inc\Shared files\Licensing\license_files\"
Linux:
/ansys_inc/shared_files/licensing/license_files/
Examples of access control
- Reserve a set of licenses for a particular group of users or a single user.
e.g. if one user always needs access to MODE, a license can be permanently reserved for this user. - Reserve a set of licenses for a cluster.
e.g. 10 FDTD engine licenses can be permanently reserved for use on a local on-premise cluster.
See this article for the full list of license features by product.
Keywords (example)
USER
- Defining a user that for use with an option. This option is case-sensitive.
USER username
- Example: Reserve FDTD full license (GUI+Solve) to USER bill.
RESERVE 1 lum_fdtd_gui USER bill
RESERVE 1 lum_fdtd_solve USER bill
GROUP
- Define a group of users for use with any options. This option is case-sensitive.
GROUP group_name user_list
- Example: Define the GROUP 'Researchers' consisting of users tom, jim, and bill and Reserve 1 'lum_fdtd_gui' license to the GROUP.
GROUP Researchers tom jim bill
RESERVE 1 lum_fdtd_gui GROUP Researchers
RESERVE 1 lum_fdtd_solve GROUP Researchers
Note: Ensure that a USER only belongs to one (1) user GROUP.
HOST_GROUP
- Define a group of hosts (computers) for use with any options. This option is case-sensitive.
HOST_GROUP group_name host_list
- Example: Define the HOST_GROUP HPCcluster consisting of nodeOne, nodeTwo, and nodeThree.
HOST_GROUP HPCcluster nodeOne nodeTwo nodeThree
Note: Ensure that each HostName only belongs to one 1 HOST_GROUP.
INCLUDE
- Allow a user or predefined group of users/hosts to use the license for this feature. Anyone not in an INCLUDE statement is not allowed to use that feature. EXCLUDE supersedes INCLUDE; conflicts between the EXCLUDE list and the INCLUDE list are resolved by the EXCLUDE taking precedence.
INCLUDE feature type {name | group_name}
- Example: Allow the GROUP 'researchers' to use 'lum_fdtd_gui' license.
INCLUDE lum_fdtd_gui GROUP researchers
Notes: INCLUDE is required for USER_BASED or HOST_BASED features. The system administrator specifies which users are allowed to use the product, via INCLUDE, and the license limits the number of users that are INCLUDEd.
INCLUDEALL
- Allow a user or predefined group of users/hosts to use all license features served by the vendor daemon on the license manager. Anyone not in an INCLUDEALL statement is not allowed to use these features.
INCLUDEALL type {name | group_name}
- Example: Allow USER 'jane' to use all licenses for the vendor daemon on the license manager.
INCLUDEALL USER jane
MAX
- Limits usage for a group or user.
MAX 2 feature type {name | group_name}
- Example: Limit the group 'lum_users' to 2 licenses for 'lum_fdtd_gui' feature.
MAX 2 lum_fdtd_gui GROUP lum_users
MAX_BORROW_HOURS
- Sets the limit for BORROW time/period in hours.
MAX_BORROW_HOURS feature[:keyword=value] num_hours
- Example: Limit the borrow time to 3 days for the 'lumerical_gui' license.
MAX_BORROW_HOURS lumerical_gui 72
EXCLUDE
- Deny a user or predefined group of users/hosts access to a license.
EXCLUDE feature type {name | group_name}
- Example: EXCLUDE the group HPCclusters to use 'lum_fdtd_gui' feature.
EXCLUDE lum_fdtd_gui GROUP HPCclusters
EXCLUDEALL
- Deny a user or predefined group of users/hosts access to All licenses on the current FlexLM. If the type is not defined it will exclude all license features for all types (USERS, GROUPS, and HOST).
EXCLUDEALL type {name | group_name}
- Example: EXCLUDEALL the machine with HostName 'sky' from checking out any license features on the vendor daemon on the current license manager.
EXCLUDEALL HOST sky
RESERVE
- Reserve licenses for a USER, HOST or GROUP of users or hosts.
RESERVE number feature type {name | group_name}
- Example: RESERVE 1 license of 'lum_fdtd_gui' for USER 'jill'.
RESERVE 1 lum_fdtd_gui USER jill
EXPDATE
- Specify the expiration date of the license to be reserved to a predefined user/host or group of users/hosts.
EXPDATE={expiry_date}
- Example: RESERVE 1 license of 'lum_fdtd_gui' with expiry date 31-jan-2022 to GROUP 'grp1'.
RESERVE 1 lum_fdtd_gui:EXPDATE=31-jan-2022 GROUP grp1
Note: Ensure that the 'FEATURE' and 'EXPIRY DATE' are identical to that in the license file.
VENDOR_STRING
- Specify the account name of the license as shown on the license details. (use quotes to define feature and account)
VENDOR_STRING={customer:#}
- Example: RESERVE 1 license of 'lum_fdtd_gui' from customer numer 12345678, for GROUP 'lab1'
RESERVE 1 "lum_fdtd_gui:VENDOR_STRING=customer:12345678" GROUP lab1
Note: Ensure that the 'FEATURE' and 'VENDOR_STRING' are identical to that in the license file.
TIMEOUT
- Sets the time after which an inactive license is freed and reclaimed by the vendor daemon.
- Minimum timeout is 3600 secs (1 hour)
TIMEOUT feature{:keyword=value} seconds
TIMEOUTALL
- Same as TIMEOUT, but applies to all features.
TIMEOUTALL 7200
Examples
User reservations
The following will reserve one FDTD GUI and two FDTD solve licenses for the USER named 'bill'.
RESERVE 1 lum_fdtd_gui USER bill
RESERVE 2 lum_fdtd_solve USER bill
Group reservations
The following option file code will reserve 2 FDTD full licenses (GUI and solve licenses) for a group called, 'ResearchLab' that includes 'bob', 'john', and 'tim'.
# Define the members of each group
GROUP ResearchLab bob john tim
# Define the restrictions/reservations
RESERVE 2 lum_fdtd_gui GROUP ResearchLab
RESERVE 2 lum_fdtd_solve GROUP ResearchLab
Multiple licenses
Reservations for different licenses
Suppose Group A has a license of FDTD that will expire on January 31, 2022, and Group B has a license of FDTD that will expire on March 31, 2022. The two groups don't want to share licenses, especially after Group A's license expires.
The duplicate product means that there will be duplicate features of 'lum_fdtd_gui' and 'lum_fdtd_solve'. Therefore you have to specify your features using a different keyword-value pair. The following syntax is used.
featureName:keyword=value
There are many possible keyword combinations that could be used. In this example, we are using the EXPDATE keyword (the expiry date of the license). The final options file would look something like this:
# Define the members of each group
GROUP GroupA bob john tim
GROUP GroupB anna suzanne
# Define the restrictions/reservations
RESERVE 1 lum_fdtd_gui:EXPDATE=31-jan-2022 GROUP GroupA
RESERVE 1 lum_fdtd_solve:EXPDATE=31-jan-2022 GROUP GroupA
RESERVE 1 lum_fdtd_gui:EXPDATE=31-mar-2022 GROUP GroupB
RESERVE 1 lum_fdtd_solve:EXPDATE=31-mar-2022 GROUP GroupB
A different keyword-value pair can be used. Like, ISSUED, START or SIGN. These keyword-value pairs can be found in the license file.