FRED can raytrace and analyze up to 263 rays.
Get Assistance with FRED
If you need help navigating FRED or understanding its features, check out our helpful videos and articles. Whether you're just starting or looking to dive deeper into advanced functionalities, our resources offer clear instructions to guide you through every step. Explore the articles to enhance your knowledge and make the most of FRED's capabilities.
Frequently Asked Questions
Most Common Questions
Pre-sales Questions
FRED offers a perpetual licensing model, which includes 1 year of support. After the first year, continued support can be renewed annually as an optional service.
For short-term needs, 3-month lease licenses are also available.
For more details on licensing options and the differences between FRED versions, visit:
If you have current support included with your FRED license, CBS and Photon Engineering provide software upgrades and technical support. This support is available via email, phone, or web meetings.
FRED offers several resources to help new users get started:
- Self-Learning: You can access tutorials in the FRED Help system, as well as a variety of articles and videos for self-learning, such as the FRED How-to videos and FRED User Guides.
- Online Training Courses: We offer training courses a couple of times a year. These are online and taught by a live instructor. The course lasts for 3 days, with an optional 4th day focused on scripting. For more information, visit the FRED Introductory Tutorial.
- Custom Courses: If your group has multiple participants, custom courses (either online or in person) are available. Contact us for more details.
The learning curve for FRED is generally manageable with these resources, but the duration depends on the complexity of your projects and the depth of training required.
While we don't recommend a specific computer manufacturer or model, the following factors should be considered when selecting a system to run FRED:
- Operating System: FRED is compatible only with Windows. We recommend using Windows 7 or newer (XP is no longer supported).
- Processor (CPU): FRED can perform multi-threaded calculations on up to 17 threads, while FRED Optimum supports up to 127 threads. Any threads beyond the limit for your version of FRED will not be utilized. Since some tasks, like BASIC scripting and model updates, are not multi-threaded, high-speed processors are highly beneficial. In many cases, a smaller number of faster cores (e.g., 16 cores at 3.2 GHz) will outperform a larger number of slower cores (e.g., 24 cores at 2.4 GHz).
- Memory (RAM): We recommend between 16 and 48 GB of RAM to handle large raytraces and avoid buffer overflows. However, when tracing more rays than can fit in available RAM, buffering may still occur.
- Disk I/O and Storage: To minimize the impact of buffering, having a system with high disk I/O speed is advantageous. This refers to the speed at which data is transferred between the hard disk and RAM. An SSD (Solid State Drive) is recommended for faster performance.
- Graphics Card (GPU): While FRED and FRED Optimum do not use GPUs for computation, having a good-quality graphics card will enhance the user experience and improve model editing. Photon Engineering has found reliable performance with NVIDIA NVS series graphics cards.
- FREDmpc (GPU Usage): If you're using FREDmpc, it utilizes GPUs for raytracing and analysis, running up to 150 times faster than CPU-based calculations. In this case, an NVIDIA GPU board is required.
This configuration ensures smooth performance when using FRED, FRED Optimum, or FREDmpc depending on your specific needs.
We believe in providing transparent pricing without hidden costs or extra charges for essential features. We aim to offer comprehensive software without making customers pay more for critical functionalities.
However, we recognize that different users have different needs. That’s why we offer three editions of FRED: FRED Standard, FRED Optimum, and FREDmpc. Each edition is designed to cater to various levels of functionality, ensuring you have the right tools for your specific requirements.
For more details, visit our FRED Overview product page.
FRED is continuously evolving, and for users eager to access the latest features, we offer several developmental versions between official releases.
Official updates are typically released two to three times a year, and these versions undergo rigorous testing both in-house and by our beta testers to ensure reliability.
Installation and Licensing
Yes, you can use multiple network USB dongles on the same computer. The total available licenses are the cumulative total of the network keys. Licenses are checked out from the USB keys in the order they were plugged into the computer.
To monitor network licenses, you can access the license server by entering the following address in a web browser: http://localhost:6002.
Follow these detailed instructions to set up FRED with a SuperPro network key. The setup process involves installing and configuring the license server and setting up client computers for network key access. Here's an overview of the necessary steps:
License Server Setup
FRED Optical Engineering Software uses USB Super-Pro key dongles provided by Thales to implement its software license protection strategy. The license server computer only needs to have the Sentinel Protection Server installed and is not required to have a full installation of the FRED Optical Engineering Software.
Sentinel Protection Installer version 7.7.1 supports the following platforms:
- Windows XP (32-bit and 64-bit)
- Windows 7 (32-bit and 64-bit)
- Windows 8 (32-bit and 64-bit)
- Windows 8.1 (32-bit and 64-bit)
- Windows 10 (32-bit and 64-bit)
- Windows 11 (64-bit)
- Windows Server 2008 R2 (64-bit)
- Windows Server 2012 (64-bit)
- Windows Server 2016 (64-bit)
- Windows Server 2019 (64-bit)
- Windows Server 2022 (64-bit)
The following steps should be taken to install or update the network license services running on the server computer:
- Photon Engineering: Sentinel Protection Installer.
Note: Unzip the package and then run the setup.exe file to begin the installation. Thales provides PDF instructions for installation, which are included in the ZIP package, but can also be found here: Sentinel Protection Installer 7.7.1 Read-Me
- From your existing FRED installation: <FRED installation path>\Utilities
- From the Thales website
- For TCP/IP protocol, UDP port 6001
- For IPX/SPX protocol, SAP messages are sent over 361 Hex
System administrators should verify that no other applications are using port 6001 by issuing the "netstat -a -b" command. After allowing the command to fully execute, check the output for [spnsvnt.exe] running on UDP port 6001. The network key communication will fail if any software other than the sentinel software is using that port (LabView is a common conflicting software.
Reminder: Check your firewall and antivirus software to ensure they aren't blocking necessary communications.
Client Setup
After setting up the license server, follow these steps on each client computer:
To set up a client computer for use with a SuperPro network key, follow the steps below. If your FRED installation is not up to date or you haven’t received a download link for the latest version, contact CBS Support at support@cbseu.com for assistance.
Environment Variable Value | Description |
server name, IP address, or IPx address | This is the fastest and most efficient access mode for locating the server. This value allows a maximum of 63 characters. Designating the server name is the most reliable since the IP address can change in some cases. |
RNBO_SPN_BROADCAST | Broadcasts a request over the local subnet to find a server with an available license. |
RNBO_SPN_LOCAL | Looks for a hardware key on the local computer (standalone mode using a local server). |
RNBO_SPN_DRIVER | Looks for a hardware key on the local computer (standalone mode without a local server). |
RNBO_SPN_SERVER_MODES | Tries RNBO_SPN_LOCAL followed by RNBO_SPN_BROADCAST. |
Upgrading a network license to the latest version of FRED involves a two-step process: 1) installing FRED on the local PC and 2) upgrading the Sentinel License Server on the server. Please ensure that both steps have been completed. If they haven't, you can download the Sentinel Protection Installer from the following website: Gemalto Sentinel Downloads.
Follow these steps to download the installer:
Select the following search options:
- User Category: End User
- Product: Sentinel SuperPro
- Operating System: Your Operating System
- Type: Runtime and Device Driver
- Language: Your Language
Click Search.
In the Search Results table, choose the option that includes the FULL installer, not just the driver.
Click I Accept at the bottom of the End User License Agreement.
Click on the Download link in the Knowledge Base article to start the download.
You can apply additional parameters on the client computer to control how it searches for a network key. Except for the NSP_HOST_CONFIG option (described below), these parameters should be used alongside the NSP_HOST environment variable. You can set these optional parameters either as additional environment variables or as startup parameters in the FRED desktop icon.
Sentinel Client Configuration File
The Sentinel software lets you designate a configuration file (sntlconfig.xml) to manage how the license search is conducted, as outlined in the Safe-net Sentinel documentation. You can specify this file for use by setting the following system environment variable:
- Variable Name: NSP_HOST_CONFIG
- Variable Value: Path to a configuration file (ex. "C:\MyDocuments\sntlconfig.xml")
- Example XML configuration file: sntlconfig.xml
Specifying License Search by Environment Variables
Environment variables can be set in Windows by going to Control Panel > System > Advanced: Environment Variables. At a minimum, the NSP_HOST variable must be set. Then, additional environment variables or startup parameters can be specified to provide further control over license access. The following optional environment variables can be specified to refine the network license search:
System Environment Variable | Variable Value | Description |
NSP_HOSTKEYSERNUM | Key serial number in decimal form (ex. "1B2" in hex = 2*16 0 + 11*161 + 1*162 = 434) | Designates a specific SuperPro key on the license server from which a license must be acquired. This option requires that the designated key serial number is known. This environment variable takes precedence over the NSP_HOSTKEYTYPE variable. |
NSP_HOSTKEYTYPE | standard, optimum, or mpc | Specifies the FRED license type that must be acquired (FRED, FRED Optimum, or FREDmpc) |
Specifying License Search by FRED Startup Parameters
Instead of specifying a particular hardware key by its serial number using NSP_HOSTKEYSERNUM or a specific version type with NSP_HOSTKEYTYPE, you can set these options as startup parameters for FRED. For the parameter /HostKeySerNum, use the decimal representation of the target key's serial number. For the parameter /HostKeyType, you can choose from "mpc," "optimum," or "standard."
Example | Description |
fred.exe /HostKeySerNum=256 | A license is acquired from a SuperPro key with serial number 256 (in decimal), or no license is acquired. |
fred.exe /HostKeyType=optimum | A license of FRED Optimum is acquired, or no license is acquired. |
Note: Ensure there are no spaces when entering the startup parameters.
These startup parameters can be issued at the command line or by editing the FRED startup desktop icon "Target" entry (ex. "C:\Program Files\FRED\Bin\Fred.exe" /HostKeyType=optimum).
Updating Server Dongle Authorization
You can update the license authorization codes for a network key from any client computer connected to the server in FRED. This update only needs to be done once and will apply to all clients. Follow these steps to update a network license:
- Launch FRED on a client computer that can access the license you want to update. If multiple FRED SuperPro dongles are hosted on the license server, use the environment variable or startup parameter options described earlier to ensure the client acquires a license from the specific key you are updating.
- In FRED, go to Help > License Authorization to open the license authorization dialog. Note that if your FRED license has expired, this dialog will automatically appear when you start FRED.
- Input the license authorization code strings into the dialog box and click Authorize Key.
- A dialog box will appear indicating whether the license update was successful or failed. The FRED License Status information at the top of the dialog should refresh to show the new authorization codes.
Sentinel License Monitor
Once you have the Sentinel license server software installed, you can access the license monitor, which runs as a Java applet through a web browser interface. To view the license monitor, open your web browser and enter the following address: http://localhost:6002.
Note: many web browsers and security settings may block this applet from running. Internet Explorer tends to be the most compatible option for accessing the license monitor.
License Log
You can use the loadserv.exe utility, found in the *..\Program Files\Common Files\SafeNet Sentinel\Sentinel Protection Server* folder, to set up log files for tracking usage and errors related to your network license. The following steps should be taken to set logging for a network license:
1. Run loadserv.exe
2. In the Server and Command line option section, click Configure.
3. Select the "..." browse button in the Usage Log File section and designate a *.log file for collecting license usage information (typically in the same folder as the utility).
4. Select the "..." browse button in the Error Log File section and designate a *.log file for collecting license error information (typically in the same folder as the utility).
5. Click OK on the Server Options dialog.
6. Click Quit on the Sentinel Protection Service Loader dialog.
7. Restart the Sentinel Services from the Control Panel.
Updated license authorization files may be provided by Photon Engineering when a license maintenance contract is renewed, an upgrade occurs, or when payment is received for a new license. In these situations, CBS sends the license authorization codes electronically in a “vendor to customer” file (.v2c file). You can apply these codes to the corresponding FRED license using the procedures outlined below. The license update needs to be completed only once from any client PC running FRED or through the Sentinel Admin Control Center (ACC).
Updating a Sentinel License from within FRED
Note for Network Licenses: The following instructions assume that, when updating a Sentinel license that is a network license: (a) the client PC running FRED is on the same network as the server computer hosting the Sentinel key, and (b) the Sentinel Runtime Environment is installed and running on both the client PC and the network license server.
For a Single-User Dongle:
- Ensure that the dongle is plugged into the client's PC.
- Verify that the Sentinel License Search Strategy allows for the acquisition of the local dongle license. If not, define a search strategy that permits connection to the local dongle and restart FRED.
- Check that the Sentinel Runtime Environment is installed and running on the client PC by opening a web browser and navigating to http://localhost:1947. You should be able to access the Sentinel Admin Control Center (ACC).
- Use the ACC to confirm that the license being updated is visible in the Sentinel Keys list. If not, go to Help > License Search Strategy, and click the Sentinel Dialog button to open the Sentinel License Authorization dialog.
It may take up to a minute for the updated license information to be displayed in the License Authorization dialog. Alternatively, you can close and reopen FRED to see the updated license information.
If the license update is unsuccessful, an error message will appear in the Action Status section of the (Sentinel) FRED License Authorization dialog. For a list of potential licensing error codes, refer to the Sentinel Error Codes section below.
Note: The updated license parameters for the key can only be viewed in the License Authorization Dialog if the updated key is currently connected to FRED. You can also view the updated license authorization for the key using the Features option in the ACC for the key of interest.
Related questions:
- Sentinel type Single-User Softkey
- Sentinel type Network Softkey
The following table lists the error codes that may be encountered when using the Sentinel licensing implementation. This information can help debug failed license update operations.
Code | Status | Description |
0 | HASP_STATUS_OK | Request was successfully completed |
1 | HASP_MEM_RANGE | Request exceeds the Sentinel protection key memory range |
2 | HASP_INV_PROGNUM_OPT | Legacy HASP HL Run-time API: Unknown/Invalid Feature ID option |
3 | HASP_INSUF_MEM | System is out of memory |
4 | HASP_TMOF | Too many open sessions exist |
5 | HASP_ACCESS_DENIED | Access to Feature was denied |
6 | HASP_INCOMPAT_FEATURE | Legacy decryption function cannot work on Feature |
7 | HASP_HASP_NOT_FOUND | Sentinel protection key is no longer available |
8 | HASP_TOO_SHORT | Encrypted/decrypted data length too short to execute function call |
9 | HASP_INV_HND | Invalid handle was passed to function |
10 | HASP_INV_FILEID | Specified File ID is not recognized by API |
11 | HASP_OLD_DRIVER | Installed driver is too old to execute function |
12 | HASP_NO_TIME | Real-time clock (RTC) not available |
13 | HASP_SYS_ERROR | Generic error from host system call |
14 | HASP_NO_DRIVER | Required driver is not installed |
15 | HASP_INV_FORMAT | File format for update is not recognized |
16 | HASP_REQ_NOT_SUPP | Unable to execute function in this context |
17 | HASP_INV_UPDATE_OBJ | Binary data that was passed to function does not contain an update |
18 | HASP_KEYID_NOT_FOUND | Sentinel protection key was not found |
19 | HASP_INV_UPDATE_DATA | Required XML tags were not found |
OR | ||
Contents in binary data are missing or invalid | ||
20 | HASP_INV_UPDATE_NOTSUPP | Update request is not supported by Sentinel protection key |
21 | HASP_INV_UPDATE_CNTR | Update counter is not set correctly |
22 | HASP_INV_VCODE | Invalid Vendor Code was passed |
23 | HASP_ENC_NOT_SUPP | Sentinel protection key does not support encryption type |
24 | HASP_INV_TIME | The time value that was passed is outside the supported value range |
25 | HASP_NO_BATTERY_POWER | The real-time clock battery has run out of power |
26 | HASP_NO_ACK_SPACE | Acknowledge data that was requested by the update ack_data parameter is NULL |
27 | HASP_TS_DETECTED | Program is running on a terminal server |
28 | HASP_FEATURE_TYPE_NOT_IMPL | Requested Feature type is not implemented |
29 | HASP_UNKNOWN_ALG | Unknown algorithm used in V2C or V2CP file |
30 | HASP_INV_SIG | Signature verification operation failed |
31 | HASP_FEATURE_NOT_FOUND | Requested Feature not found |
32 | HASP_NO_LOG | Access log not enabled |
33 | HASP_LOCAL_COMM_ERR | Communication error occurred between the API and the local Sentinel License Manager |
34 | HASP_UNKNOWN_VCODE | Vendor Code is not recognized by API |
35 | HASP_INVSPEC | Invalid XML specification exists |
36 | HASP_INV_SCOPE | Invalid XML scope exists |
37 | HASP_TOO_MANY_KEYS | Too many Sentinel protection keys are currently connected |
38 | HASP_TOO_MANY_USERS | Too many users are currently connected |
39 | HASP_BROKEN_SESSION | Session was interrupted. This can occur when certain updates are applied to the license while a session is active. For example: A Feature required by the session was deleted. The license was canceled. The network (remote license) support setting for a required Feature was changed. (In this case, all sessions will be interrupted, including local sessions.) |
40 | HASP_REMOTE_COMM_ERR | Communication error occurred between local and remote Sentinel License Managers |
41 | HASP_FEATURE_EXPIRED | Feature expired or no executions remain |
42 | HASP_OLD_LM | Sentinel License Manager version too old |
43 | HASP_DEVICE_ERR | For a Sentinel SL key, an input/output error occurred in the secure storage area |
OR | ||
For a Sentinel HL key, a USB communication error occurred | ||
44 | HASP_UPDATE_BLOCKED | Update installation not permitted |
45 | HASP_TIME_ERR | System time has been tampered with |
46 | HASP_SCHAN_ERR | Communication error occurred in the secure channel |
47 | HASP_STORAGE_CORRUPT | Corrupt data exists in secure storage area of Sentinel protection key |
48 | HASP_NO_VLIB | The customized vendor library (haspvlib.vendorID.*) cannot be located |
49 | HASP_INV_VLIB | Unable to load Vendor library |
50 | HASP_SCOPE_RESULTS_EMPTY | Unable to locate any Feature that matches the scope |
51 | HASP_VM_DETECTED | Protected application is running on a virtual machine, but one or more Features are not enabled for virtual machines. |
OR | ||
The user attempted to rehost a protection key from a physical machine to a virtual machine. However, none of the Features contained in the protection key are enabled for virtual machines. | ||
52 | HASP_HARDWARE_MODIFIED | Sentinel SL key incompatible with machine hardware. Sentinel SL key locked to different hardware. |
OR | ||
In the case of a V2C or V2CP file, conflict between Sentinel SL key data and machine hardware data. Sentinel SL key locked to different hardware. | ||
53 | HASP_USER_DENIED | Login denied because of user restrictions |
54 | HASP_UPDATE_TOO_OLD | Trying to install a V2C or V2CP file with an update counter that is out of sequence with update counter in the Sentinel protection key. Values of update counter in file are lower than those in Sentinel protection key. |
55 | HASP_UPDATE_TOO_NEW | Trying to install a V2C or V2CP file with an update counter that is out of sequence with the update counter in the Sentinel protection key. First value in file is more-than-1 greater than value in Sentinel protection key. |
56 | HASP_OLD_VLIB | Vendor library is too old |
57 | HASP_UPLOAD_ERROR | Check in of a file (such as V2C, H2R) using Admin Control Center failed, possibly because of illegal format |
58 | HASP_INV_RECIPIENT | Invalid XML RECIPIENT parameter |
59 | HASP_INV_ACTION | Invalid XML action parameter |
60 | HASP_TOO_MANY_PRODUCTS | The scope specified in the Transfer function does not specify a unique Product |
61 | HASP_INV_PRODUCT | Invalid Product information |
62 | HASP_UNKNOWN_RECIPIENT | Update can only be applied to recipient machine specified in the Detach function, not to this machine |
63 | HASP_INVALID_DURATION | Invalid detached license duration period specified. Duration must be less than or equal to maximum allowed for this license. |
OR | ||
Duration extension is to a date earlier than the expiration date of the current detached license. | ||
64 | HASP_CLONE_DETECTED | Cloned Sentinel SL storage was detected. Feature is unavailable. |
65 | HASP_UPDATE_ALREADY_ADDED | The specified V2C or or V2CP update was already installed in the License Manager service |
66 | HASP_HASP_INACTIVE | Specified Key ID is in Inactive state |
67 | HASP_NO_DETACHABLE_FEATURE | No detachable Feature exists in the specified key from which the detached license is requested |
68 | HASP_TOO_MANY_HOSTS | The specified scope does not specify a unique host |
69 | HASP_REHOST_NOT_ALLOWED | Rehost action is not allowed for the specified Key ID |
70 | HASP_LICENSE_REHOSTED | Original license has been transferred to another machine. Therefore, the license cannot be returned to the source machine. |
71 | HASP_REHOST_ALREADY_APPLIED | Old rehost license cannot be applied. A rehost-counter mismatch occurred |
72 | HASP_CANNOT_READ_FILE | A V2C or V2CP file was not found, or access was denied |
73 | HASP_EXTENSION_NOT_ALLOWED | The license cannot be extended because the number of detached licenses is greater than the number of concurrent licenses allowed |
74 | HASP_DETACH_DISABLED | The user attempted to detach a Product from a network license hosted on a virtual machine. However, none of the Features included in the Product are enabled for virtual machines. |
75 | HASP_REHOST_DISABLED | The user attempted to rehost a protection key from a virtual machine. However, none of the Features contained in the protection key are enabled for virtual machines. |
76 | HASP_DETACHED_LICENSE_FOUND | The user attempted to format an SL-AdminMode key or to migrate an SL-Legacy key to an SL-AdminMode key. However, a Product is currently detached from the key. |
77 | HASP_RECIPIENT_OLD_LM | For a rehost operation: The fingerprint of the target machine was collected using tools (RUS utility or Licensing API) earlier than Sentinel LDK v.7.0. |
78 | HASP_SECURE_STORE_ID_MISMATCH | A secure storage ID mismatch occurred. |
79 | HASP_DUPLICATE_HOSTNAME | The license fingerprint is bound to a specific hostname; however, two or more machines with this hostname were found in the network. As a result, the license cannot be used. |
80 | HASP_MISSING_LM | A protected application tried to log in to a Feature that supports concurrency on a Sentinel HL (Driverless configuration) key. The Sentinel LDK License Manager service is not active on the computer where the key is located. |
81 | HASP_FEATURE_INSUFFICIENT_EXECUTION_COUNT | A protected application tried to consume multiple executions while logging in to a Feature. However, the license does not contain the number of executions that were requested. |
83 | HASP_HASP_DISABLED | A Sentinel HL (Driverless configuration) key was disabled because a user attempted to tamper with the key or with the protected application. |
400 | HASP_NO_API_DYLIB | Unable to locate dynamic library for API |
401 | HASP_INVALID_API_DYLIB | Dynamic library for API is invalid |
500 | HASP_INVALID_OBJECT | Object was incorrectly initialized |
501 | HASP_INVALID_PARAMETER | Scope string is too long (maximum length is 32 KB) |
502 | HASP_ALREADY_LOGGED_IN | Logging in twice to same object |
503 | HASP_ALREADY_LOGGED_OUT | Logging out twice from same object |
525 | HASP_OPERATION_FAILED | Incorrect use of system or platform |
698 | HASP_NOT_IMPL | Requested function was not implemented |
OR | ||
In the case of the API Dispatcher, API DLL is too old | ||
699 | HASP_INT_ERR | Internal error occurred in the API |
A Sentinel Type Single-User Softkey License is a licensing model that allows users to run the FRED software on a client PC, utilizing a softkey for authorization. Here’s how it works and what you need to know:
Functionality:
- One or more FRED sessions can be run on the client PC as long as the Sentinel softkey is hosted locally and the license search strategy is configured to access it.
- FRED can be executed through Remote Desktop as long as the softkey is hosted locally on the remote PC.
- The softkey is portable, meaning it can be moved from one PC to another without restrictions on the user.
Installation Requirements:
- The Sentinel Runtime Environment must be installed on the client PC to enable the softkey's functionality.
License Management:
- To instantiate a softkey license, the client PC must be able to exchange XML data files with Photon Engineering.
- Rehosting the softkey (moving it to another computer) requires the ability to exchange these XML files between the current host and the new host, without involving Photon Engineering.
- The XML data files contain strings of data that can be several thousand characters long. If you are unable, or unwilling, to exchange XML data files to facilitate license instantiation, updating and/or rehosting, softkeys may not be appropriate for your network environment.
Protection Against Loss:
- Users are responsible for safeguarding their softkey from theft or loss, as outlined in the FRED Optical Engineering Software EULA. Photon Engineering does not replace lost keys.
- It’s advisable to insure your softkey for the software's value, similar to other valuable assets.
Best Practices:
- If you plan to modify the configuration of a workstation with a softkey, rehosting it to another computer during modifications can help prevent loss due to system failures or activation of the Sentinel clone detection feature, which may render the softkey unusable.
- This licensing model offers flexibility for users who need to run FRED across different machines, as long as they are equipped with the necessary software and adhere to the outlined protocols.
To install a Single-User Sentinel Softkey on your client computer, follow these steps to prepare the system:
Install the Sentinel Runtime Environment:
Download FRED from the Photon Engineering website and run the installer. During installation, ensure you select the Sentinel Runtime Environment component, which enables communication with the locally hosted softkey.
Check Windows Services:
Open the Windows services list and verify that the Sentinel LDK License Manager service is present and its status is set to Running.
Configure FRED License Search Strategy:
- Start FRED. If the License Search Strategy dialog does not open automatically, navigate to Help > License Search Strategy.
- Set the License Technology Search Strategy to Sentinel Only. If necessary, you can refine access to specific Sentinel keys in the Sentinel License Search Strategy (Sentinel keys only) section of the dialog.
- Click OK on the License Search Strategy dialog. The new settings will take effect the next time you start FRED.
Generate a New Softkey License or Rehost an Existing One:
- If you use a newly purchased Sentinel softkey, Trial license, or Gratis license, proceed with the Generating a New Softkey License instructions.
- If you are rehosting an existing Sentinel softkey to this client computer, refer to the Softkey Rehosting and Detachment instructions linked below.
Warning: If the computer already has the Sentinel LDK License Manager installed, reinstalling using any of the above options may disrupt existing services. If this is the case, you might want to skip to the next section, Generating a New Softkey License.
What is the process for generating a new Sentinel softkey license?
To generate a new softkey license, the customer needs to exchange files with CBS. The customer will send CBS a customer-to-vendor (.c2v) "fingerprint" file containing the client's PC identification information for the softkey. CBS will then generate and return a vendor-to-customer (.v2c) file to the customer. When applied by the customer, this file will create the softkey license.
Generating a new softkey license requires a coordinated file exchange with CBS Europe (CBS Inc.). Here’s how to do it:
What is a fingerprint file and what information does it contain?
The following information regarding machine fingerprints is taken from the Thales Sentinel LDK version 7.8 Software Licensing and Protection Guide:
As part of the Activation process for a licensed Product, the Sentinel LDK License Manager creates a “fingerprint” of the computer on which the protected software is installed. This fingerprint contains hash values of a number of characteristics of the computer. This fingerprint (referred to as the reference fingerprint) is stored within the secure storage on the computer and is also returned to the Vendor in the C2V file. Each time the end user starts the protected software, the Sentinel LDK License Manager creates a new fingerprint of the computer (referred to as the system fingerprint) and compares it to the reference fingerprint. If the system and reference fingerprints are identical or sufficiently close (as described in this appendix), Sentinel LDK allows the protected software to operate.
This scheme uses various components such as CPU, ethernet card, optical drive, and PCI card slot peripherals, along with the hard drive serial number and motherboard ID to verify fingerprints. This scheme provides enhanced reliability against false positive clone detection and maintains the inherent security of the scheme.
Once you receive a .v2c file from CBS Europe follow these steps:
The Sentinel Runtime Environment must be installed on the license server to allow the use of a Sentinel network softkey. Follow the steps below to prepare the license server for hosting a network softkey. If the Sentinel LDK License Manager is already installed on the server, you can skip ahead to the "Generating a New Softkey License" section.
Preparing the License Server:
- Download HASPUserSetup.exe from the Thales website: Sentinel Runtime Environment Setup. (Additional installers for different OS platforms and command-line installations are also available on the Thales website).
- Download HASPUserSetup.exe from the Photon Engineering website.
- Copy Sentinel Runtime Environment Setup.exe from a PC with an existing FRED installation. The file is located in the <FRED install dir>\Utilities directory.
- Install FRED on the server and select the Sentinel Runtime Environment component when prompted (the Hardware Key Driver and Remote Service options are not required).
2. Open the Windows services list and check that the Sentinel LDK License Manager service is present and that its status is Running.
3. Open a web browser and navigate to http://localhost:1947 to check that the Sentinel Admin Control Center (ACC) is accessible.
The server is now ready to host a network softkey license. If this is your first time generating a network softkey license, please refer to the "Generating a New Softkey License" section below. If you are transferring an existing network softkey license to this server, follow the instructions in the "Softkey Rehosting and Detachment" section.
What is the process for generating a new Sentinel softkey license?
To generate a new softkey license, the customer needs to exchange files with CBS. The customer will send CBS a customer-to-vendor (.c2v) "fingerprint" file containing the client's PC identification information for the softkey. CBS will then generate and return a vendor-to-customer (.v2c) file to the customer. When applied by the customer, this file will create the softkey license.
Generating a new softkey license requires a coordinated file exchange with CBS Europe (CBS Inc.). Here’s how to do it:
What is a fingerprint file and what information does it contain?
The following information regarding machine fingerprints is taken from the Thales Sentinel LDK version 7.8 Software Licensing and Protection Guide:
As part of the Activation process for a licensed Product, the Sentinel LDK License Manager creates a “fingerprint” of the computer on which the protected software is installed. This fingerprint contains hash values of a number of characteristics of the computer. This fingerprint (referred to as the reference fingerprint) is stored within the secure storage on the computer and is also returned to the Vendor in the C2V file. Each time the end user starts the protected software, the Sentinel LDK License Manager creates a new fingerprint of the computer (referred to as the system fingerprint) and compares it to the reference fingerprint. If the system and reference fingerprints are identical or sufficiently close (as described in this appendix), Sentinel LDK allows the protected software to operate.
This scheme uses various components such as CPU, ethernet card, optical drive, and PCI card slot peripherals, along with the hard drive serial number and motherboard ID to verify fingerprints. This scheme provides enhanced reliability against false positive clone detection and maintains the inherent security of the scheme.
4. Execute Action: Press the Do Action button and check the Action Status area to confirm the operation was successful.
5. Send .c2v File: Email the .c2v file generated in step 4 to CBS Europe at support@cbseu.com
Once you receive a .v2c file from CBS Europe follow these steps:
Preparing the Client's Computer
To allow a client PC to access the network license, follow these steps:
3. Start FRED on the client's PC.
4. If the License Search Strategy dialog appears automatically upon startup, it indicates that FRED failed to acquire a license. This issue typically arises from one of two common problems:
- The License Search Strategy on the client PC is not properly configured to locate the network license hosted remotely. In this case, the search strategy needs to be reconfigured, and FRED should be restarted. Ensuring that the "Licensing Technology Search Strategy" is set to either "Sentinel Only" or "Sentinel then SuperPro" may resolve the issue.
- The Sentinel license managers on the client and server computers are not able to communicate over the network. This can be checked by opening a web browser and navigating to the Sentinel Admin Control Center (ACC) at http://localhost:1947. In the Sentinel Keys list, check if the network license is visible. If not, go to the Configuration settings in the ACC and, under the "Access to Remote License Managers" tab, enable the options for "Allow access to remote licenses," "Broadcast search for remote licenses," and "Aggressive search for remote licenses."
If, upon starting FRED, the user is not prompted with a dialog upon FRED startup, then a license has been acquired. Proceed to step 5 for more information on checking the specifics of the license that was acquired.
5. Navigate to Help > License Authorization to open the licensing dialog for the connected FRED license. Confirm that:
- The dialog title is "FRED License Authorization (Sentinel)"
- The License Status information corresponds to the desired Sentinel key
If the above items are confirmed, then the setup is complete. If the license information does not correspond to the desired Sentinel key, proceed to step 6.
6. Navigate to Help > License Search Strategy. Reconfigure the search strategy to specifically connect to the desired Sentinel license. Restart FRED and repeat step 4 to confirm that the desired key is connected.
NOTE: This guide only applies to FRED versions before 19.40. As of version 19.40, the key serial number is always displayed in the license authorization dialog.
This guide describes the procedure for determining the internal serial number of the license FRED is currently accessing. This can be useful when debugging licensing issues or attempting to identify which dongle is being used in an environment where multiple dongles are available.
Note that the internal key serial number is different from the FRED key #, if you need this then you should contact Photon Engineering at fredsupport@photonengr.com and provide the internal serial number information retrieved from this process and we will provide you with the corresponding FRED key #.
This process is illustrated through the screenshots below. In the final step, showing the License Authorization Dialog, the internal key serial number being used is 0x360. This serial number should be provided to Photon Engineering in order to lookup the corresponding FRED key #.
NOTE: This guide only applies to FRED versions before 19.40. As of version 19.40, the key serial number is always displayed in the license authorization dialog.
This guide describes the procedure for determining the internal serial number of the license FRED is currently accessing. This can be useful when debugging licensing issues or attempting to identify which dongle is being used in an environment where multiple dongles are available.
Note that the internal key serial number is different from the FRED key #, if you need this then you should contact Photon Engineering at fredsupport@photonengr.com and provide the internal serial number information retrieved from this process and we will provide you with the corresponding FRED key #.
This process is illustrated through the screenshots below. In the final step, showing the License Authorization Dialog, the internal key serial number being used is 0x360. This serial number should be provided to Photon Engineering in order to lookup the corresponding FRED key #.
Sentinel softkeys can be moved between computers using the "rehosting" procedures described below. In this context, the "host" computer is the one on which the softkey is currently installed and the "recipient" computer is the one receiving the softkey.
A rehostable softkey is indicated by the "rehostable" tag and icon displayed in the Sentinel Keys page of the ACC on the host computer. If your license does not have this tag and icon then it cannot be rehosted.
It is important to note that moving a softkey will interrupt any FRED sessions currently connected to the softkey - you can use the ACC to check whether the softkey being moved has any active FRED sessions.
The general flow of moving a softkey from a host computer to the recipient computer is the following:
1. Generate a computer ID file on the recipient computer (.id file) |
2. On the host computer, use the recipient ID file to generate a "host-to-host" file (.h2h file, this removes the softkey from the host) |
3. On the recipient computer, apply the host-to-host file (this re-instantiates the softkey on the recipient) |
Two procedures for softkey rehosting are provided below, one procedure that uses the FRED interface on both the recipient and host computers, and a second procedure using the Sentinel ACC interface on the recipient computer. The end result of the license rehosting will be the same regardless of the procedure used.IMPORTANT: We do not recommend rehosting a network softkey that has detached licenses. Cancel the license detachments, or wait until all detached licenses have expired and are returned to the host, before proceeding with the softkey rehosting.
Rehosting a softkey using FRED
The following steps are performed on the recipient computer |
1. Start FRED. It does not need to be configured to access the Sentinel softkey being moved. |
2. If the License Search Strategy dialog does not automatically open, Navigate to Help > License Search Strategy. Press the "Sentinel Dialog" button. |
3. Select the "Recipient information for detach or rehost (.id)" option in the License Registration Actions section of the dialog. Use the "..." button in the "Create recipient information file (.id)" row to designate a custom output file name and location. If left unmodified, FRED will write the output .id file to the Desktop. |
4. Press the "Do Action" button in the License Registration Actions section of the dialog. Check that the Action Status portion of the dialog reports a successful generation of the file. Make the .id file accessible to the license manager of the host computer for the next steps. |
The following steps are performed on the host computer |
5. Start FRED. |
6. If the License Search Strategy dialog does not automatically open, Navigate to Help > License Search Strategy. Press the "Sentinel Dialog" button. IMPORTANT - Ensure that the FRED session is NOT connected to the softkey being rehosted, which would cause the rehosting procedure to fail. It is generally necessary to change the FRED License Search Strategy configuration to make sure that the FRED session does not connect to the softkey being rehosted. This can be accomplished by configuring the FRED License Search Strategy as shown below and then closing and restarting FRED so that the changes take effect. |
When restarting FRED after this step you should be faced with the License Search Strategy dialog (above) and can proceed to step 7. |
7. Select the "Rehost softkey (.h2h)" option in the License Registration Actions section of the dialog. |
8. Use the "..." button in the "Create rehost file (.h2h)" row to designate a custom output file name and location for the host-to-host file. If left unmodified, FRED will write the output .h2h file to the Desktop. |
9. Use the "..." button in the "Select recipient information file (.id)" row to browse to the recipient ID file generated from step 4 above. |
10. Use the "Key identifier" listbox to select the softkey intended to be moved from the host. |
11. Press the "Do Action" button in the License Registration Actions section of the dialog. A message will be presented indicating that proceeding with the current action will interrupt any FRED instances connected to the softkey being moved. Press OK to continue. Check that the Action Status portion of the dialog reports a successful generation of the file. Make the the output .h2h file accessible to the license manager of the recipient computer for the next steps. |
12. Though not required, you may check the Sentinel Keys page of the ACC on the host computer to confirm that the softkey is no longer present on the host computer. |
The following steps are performed on the recipient computer |
13. In a FRED session, navigate to Help > License Search Strategy. Press the "Sentinel Dialog" button. |
14. Select the "Apply update (.v2c .h2h .r2h or .h2r)" option in the License Registration Actions section of the dialog. Use the "..." button in the "Select update (.v2c .h2h .r2h or .h2r)" row to open a file browser dialog allowing selection of the .h2h file generated in step 11 above. Note that in the file browser dialog there is a file extension filter on the bottom right of the dialog (default is "Update Files *.v2c") that can be changed to allow visibility of the desired file types. |
15. Press the "Do Action" button in the License Registration Actions section of the dialog. A message will be presented indicating that proceeding with the current action will interrupt any FRED instances connected to the softkey being moved. Press OK to continue. If the rehosting operation is successful, a message box will be presented indicating so. |
16. Open a web browser and navigate to the Sentinel Admin Control Center (ACC) at http://localhost:1947. Click on the Sentinel Keys link in the Options list on the left hand side of the webpage. Check to see that the rehosted license appears in the key list. |
Rehosting a softkey using the Sentinel Admin Control Center (ACC)
Due to limitations in the ACC capability (as of ACC version 7.103), rehosting a Sentinel softkey cannot be performed through the use of the ACC by itself. Specifically, generating the host-to-host file on the host computer requires the use of FRED as described below.
The following steps are performed on the recipient computer using the ACC |
1. In a web browser, navigate to http://localhost:1947 to access the Sentinel Admin Control Center running on the recipient computer. |
2. Click on the Diagnostics link of the Options menu on the left hand side of the ACC. |
3. Press the "Create ID File" button on the far right hand side of the second row in the Diagnostics page. An *.id file will be saved by the web browser subject to your web browsers file download settings. Make the .id file accessible to the license manager of the host computer for the next steps. |
The following steps are performed on the host computer using FRED |
4. Start FRED. |
5. If the License Search Strategy dialog does not automatically open, Navigate to Help > License Search Strategy. Press the "Sentinel Dialog" button. Ensure that the FRED session is NOT connected to the softkey being rehosted, which would cause the rehosting procedure to fail. If necessary, change the FRED License Search Strategy configuration to make sure that the FRED session does not connect to the softkey being rehosted. This can be accomplished by configuring the FRED License Search Strategy as shown below and then closing and restarting FRED so that the changes take effect. |
6. Select the "Rehost softkey (.h2h)" option in the License Registration Actions section of the dialog. |
7. Use the "..." button in the "Create rehost file (.h2h)" row to designate a custom output file name and location for the host-to-host file. If left unmodified, FRED will write the output .h2h file to the Desktop. |
8. Use the "..." button in the "Select recipient information file (.id)" row to browse to the recipient ID file generated from step 4 above. |
9. Use the "Key identifier" listbox to select the softkey intended to be moved from the host. |
10. Press the "Do Action" button in the License Registration Actions section of the dialog. A message will be presented indicating that proceeding with the current action will interrupt any FRED instances connected to the softkey being moved. Press OK to continue. Check that the Action Status portion of the dialog reports a successful generation of the file. Make the the output .h2h file accessible to the license manager of the recipient computer for the next steps. |
11. Though not required, you may check the Sentinel Keys page of the ACC on the host computer to confirm that the softkey is no longer present on the host computer. |
The following steps are performed on the recipient computer using the ACC |
12. In a web browser, navigate to http://localhost:1947 to access the Sentinel Admin Control Center running on the recipient computer. |
13. Click on the Update/Attach link of the Options menu on the left hand side of the ACC. |
14. Press the "Browse" button in the Apply File section of the page and browse to the .h2h file generated from step 10 above. The web interface will present a message indicating success or failure of the rehosting operation. |
15. Click on the "Sentinel Keys" link of the Options menu on the left hand side of the ACC. Confirm that the rehosted key is now available in the keys list. |
This article aims to clarify the terminology used in the licensing of FRED and how these terms relate to the information displayed in the Help License Authorization window within the FRED software.
- USB Key / Hard Key / Hardware Key / Dongle: This refers to a physical license protection mechanism that utilizes a USB hardware device containing the FRED license. The device must be connected to your computer to run FRED. There are two types of USB keys: the older "SuperPro" keys and the newer "Sentinel" keys. Transferring the FRED license from one machine to another requires physically moving the USB key between the devices.
- Softkey / Software Key / Soft License: This is a non-physical, software-based license protection system that installs specific codes on a machine to activate the license, enabling FRED to run. Softkeys are always Sentinel keys.
- Network License: This type of license allows a certain number of concurrent seats to be installed on a network-accessible host machine or server, enabling licenses to be shared among a group of users. Any authorized user on the network can access the license, thereby consuming one of the available seats. Network licenses are also referred to as "floating licenses" and can be issued as either USB keys or Softkeys.
- Standalone: A single-seat license issued via a USB key or, in the case of a Softkey, locked to a specific machine. Only users of that machine or those with access to the USB key can use the license. A standalone softkey license may also be called "node-locked."
- Seats: The maximum number of users permitted to access the license simultaneously. Standalone licenses always have one (1) seat, while network licenses can have one (1) or more seats. The seat count is indicated in the License Authorization dialog.
- Concurrency: The ability for multiple licensed users to access the software simultaneously, based on the seat count. Network licenses support concurrency, whereas standalone licenses do not.
- Support Expiry: All licenses are sold with a defined support period during which the license holder(s) can receive program updates (new releases) and request technical assistance. The support expiry date indicates when this support period ends and is displayed in the License Authorization dialog.
- Max Authorized Version: This indicates the maximum FRED version that the license can run, which is linked to the support expiry date and is listed in the License Authorization dialog.
- Software Expiry: The date after which the license will cease to operate. This applies only to Leases, Trials, and University Gratis licenses and is noted in the License Authorization dialog.
- Permanent: A license that does not have a software expiry date and will continue to function beyond the support expiry date. This is also known as a Perpetual license.
- Lease: A license that will only operate until the software expiry date, after which it will no longer be valid. The software expiry date is indicated in the License Authorization dialog. Another term for this is "Subscription."
- Key Label: A short, typically five-digit or fewer, user-friendly unique ID number for the key, also known as the "Key Number," which is displayed in the License Authorization dialog.
- Serial Number: A longer internal reference number for the license used by the licensing engine, listed in the License Authorization dialog.
- SuperPro Key: An older USB-based software licensing technology offered by Thales.
- Sentinel Key: A newer software licensing technology from Thales, available as both a hard key and a soft key.
No, it is not necessary to uninstall older versions of FRED. The newer version will be installed in a separate directory with a path name that reflects the version number.
Note: Keep in mind that FRED files are not forward-compatible. This means that a file saved in a newer version of FRED cannot be opened in earlier versions of the software.
When a new copy of FRED is ordered, the USB dongle is initially provided with temporary license authorization codes. These temporary codes establish a Software Expiration Date, after which the program will cease to function. Once payment for the license is confirmed, permanent license authorization codes are emailed to the end user, along with instructions for updating the USB dongle to activate the new codes. After this update, the Software Expiration Date will display as “None.”
If your current license codes have expired, a License Authorization dialog box will appear when you start FRED. To manually access the License Authorization dialog box, go to Menu > Help > License Authorization in the menu.
When you renew your FRED license, you will receive new authorization codes from the software provider, along with instructions on how to enter these codes into FRED.
FRED automatically installs the required USB key drivers during the installation process. However, there may be situations where you need to install a standalone key driver manually. This installer can be found in the FRED installation directory at <install directory>\Utilities\Sentinel Protection Installer.exe.
Note: Ensure that all USB dongles are removed before proceeding with the installation.
Another Note: You can also access the Installer file and the associated User Guide on the Gemalto website here:
Technical Questions
Photon Engineering adheres strictly to the OpenGL standard, but sometimes graphics card drivers can cause issues. To improve the performance of your 3D visualization view, try the following:
Change the pixel format preference:
- Navigate to Tools > Preference from the menu.
- Click on the Visualization tab.
- Set the pixel format to “Fast.”
Note: This change will not take effect until you open a new FRED document.
By following these steps, you may enhance the responsiveness of your 3D visualization view.
To resolve freezing or crashing problems in your 3D visualization view, consider the following solutions:
- Go to Tools > Preferences from the menu.
- Click on the Visualization tab.
- Set the pixel format to “Safe” to enforce a software rendering mode.
Note: Changes to FRED preferences take effect only when a new FRED document is opened.
2. Use the GLView.exe Utility:
- Utilize the GLView.exe utility included with your FRED installation to find an acceptable OpenGL hardware rendering mode for your graphics card.
- Generally, choose a pixel mode where the “letter cube” in the GLView.exe utility rotates smoothly without flickering (this may not be the fastest rotation).
3. Update Video Drivers:
- Download and install the latest video drivers from your graphics card manufacturer’s website.
By following these steps, you should be able to improve the stability of your 3D visualization view.
By default, FRED autosaves one “level of undo” in the Undo directory. You can undo one action by selecting Edit > Undo from the menu. This action is stored in a .fru file or a .frs script in the Undo directory.
To increase the number of autosaved FRED documents, select Tools > Preferences from the menu, then click on the Miscellaneous 2 tab. Use the up or down arrows to change the “number of levels of undo.” The autosaved .fru files are named “FREDUndoXXXXXXX_Y.fru,” where X represents the timestamp of the autosave, and Y indicates the undo level. However, FRED only autosaves the most recent script file as MostRecentScript.frs.
To recover a .fru file, locate the Undo directory and change the file’s extension from .fru to .frd. You can then open or move this file as you normally would.
To recover the most recent script file, find it in the Undo directory and open it as you would any script file. You can then save this file as you normally would.
Note: The default Undo directory is C:\Documents and Settings<username>\Local Settings\Temp\Fred Undo. You can change this by selecting Tools > Preferences > File Locations from the menu, scrolling through the file list, and editing the entry for “Undo directory.”
Another Note: To have FRED automatically search the Undo directory and recover the most recent .fru document, ensure “Allow abort recovery” is selected as a preference. To do this, select Tools > Preferences, click on the Miscellaneous tab, and check the “Allow abort recovery” checkbox.
Hyper-threading technology creates virtual CPU cores that do not function the same way as physical CPU cores. As a result, the anticipated linear speed scaling may not occur. Performance scaling can also depend on the specific construction of your FRED model. For instance, the types and organization of surfaces within the model influence how effectively the raytrace can scale with the number of threads. Additionally, keep in mind that the Trace and Render option for a raytrace operates as a single-threaded calculation, meaning it does not utilize the additional cores of your computer.
FRED’s user interface is highly flexible and customizable, allowing toolbars and windows to be floated or docked anywhere on the screen. If something has been moved off the screen or is no longer visible, you can restore it.
For a Lost Toolbar:
- Go to View > Customize > Toolbars from the menu.
- Click on the Reset button to restore the toolbar.
For a Lost Window (e.g., the Output Window):
If resetting the toolbar doesn't resolve your issue, follow these steps to restore a lost window:
- Open a Command Prompt in Windows.
- Change to the Bin directory of your FRED installation. For example, type:
- cd "C:\Program Files\Photon Engineering\FRED 14.40.0\Bin"
- Run the FRED executable with the command line option:
- Fred.exe /NoLoadWindowStates
This command will reset the window settings to their default state, allowing you to regain access to any lost windows.
To model a partially coherent source in FRED, simulate an extended source as a collection of point sources. These sources should be positioned at different locations (for finite conjugates) or directed in various ways (for infinite conjugates). While each individual source will remain coherent, they will be incoherent with respect to one another.
Here's how to set this up in FRED:
- Use Different Wavelengths: Assign different wavelengths to each point source to simulate partial coherence.
- Example File: A practical example of implementing a partially coherent source can be found in the FRED Sample Files folder at the following path: <installation dir>\Resources\Samples\Tutorials & Examples\examplePartialCoherenceDiffractometer.frd.
Modeling a solar source in FRED can be approached in different ways depending on the accuracy required for your simulation. The parameters to consider include the time of year, time of day, geographic location (longitude and latitude), and weather conditions. Here’s a simple method to create a solar source:
- Set up a plane source with randomized ray positions and directions within an angular range that represents the subtense of the solar disk (approximately 0.5°).
- Add wavelengths and weightings that are appropriate for a blackbody source like the sun. This can be done by creating a blackbody spectrum.
- Scale the wavelength weights according to atmospheric transmission values to account for weather or regional conditions.
- Configure the power of the source in the Power tab to reflect the solar irradiance value and the size of the system aperture.
For a more automated approach, you can use the Solar Source (simple) type of Source Primitive, which implements the above method semi-automatically.
For advanced modeling, consider utilizing theories such as the Bird Model (available at NREL). This model accounts for diffuse radiance from the atmosphere, which can be treated as isotropic, and provides specific data regarding the wavelength spectrum.
You can customize your chart view in FRED by using the following methods:
Advanced Controls: Utilize the “Advanced” controls in the chart viewer to adjust various aspects of the chart's appearance and data presentation.
Preference Settings: Access FRED’s Preference settings to modify default chart settings and personalize your charting experience.
FRED utilizes a third-party chart control tool from Component One, LLC, for displaying and processing visual data. This tool offers advanced settings and features that can be modified within FRED. For additional help, two documents related to the 2D and 3D chart controls are located in the directory C:\Windows\Help\, named olch2d8u.chm and olch3d8u.chm. You can also access chart help by right-clicking in the chart view, selecting Advanced from the menu, and clicking the Help button.
Customization Procedure
To customize your chart views, follow these steps:
By following these steps, you can effectively customize your charts in FRED to better suit your visual data needs.
This error message usually indicates that security software is likely interfering with FRED’s read/write operations. We recommend consulting your IT department to check for any recent updates or changes to your security software that might be causing this issue.
This issue may occur when the minimum free hard disk space is less than the amount needed for the Ray Buffer pagefile. For more details and solutions, please refer to the article “FRED Preference Optimization.”
This error typically occurs when the minimum free hard disk space is less than what is required for the Ray Buffer pagefile. For more information and troubleshooting steps, please refer to FRED’s Online Help topic “FRED Preference Optimization.”
The parametric construction of NURB surfaces differs fundamentally from other native FRED surfaces, making it challenging to position or attach analysis surfaces to NURBs. While native FRED surfaces have a definite, known origin, imported CAD models may have NURB surfaces with arbitrary shapes, sizes, and positions. This raises the question of which point on the NURB surface becomes the origin after import. For a detailed guide on attaching analysis planes to NURB surfaces, please refer to the article, “CAD Surface Position and Orientation.”
If you are confident that the surface information is correct, the issue is most likely related to visualization settings. Try increasing the tessellation (i.e., decreasing the tessellation scale size) for the selected entities to improve the surface's appearance. For further details on adjusting visualization attributes, please refer to FRED’s Online Help topic, “Visualization Attributes.”
Please see FRED’s Online Help topic entitled “Creating Basic Shapes”.
This error occurs when running a script in FRED version 9.50 or earlier after saving a document as a *.frs file. To resolve this issue, remove the lines “Sub Main” and “End Sub” from the script file before running it. This adjustment should prevent the error and allow the script to run properly.
To manipulate the position and orientation of an object using FRED’s scripting language, use the T_OPERATION structure along with the linear transformation commands. You can find a comprehensive list of these commands in FRED’s Online Help topic, “FRED Commands by Usage.” Additionally, in the article, “Rotating Prisms by Scripting,” provides an example of scripting object position and orientation. For more detailed discussions and further examples, refer to FRED’s Online Help topic titled “Position / Orientation.”
Download the FRED file: rotatingElement.frd
In FRED v9.50 and later, script commands are divided into application-level and document-level commands. Application-level commands (e.g., math commands, file commands) can be run without an open FRED document. However, document-level commands require an associated FRED document to be recognized by the script editor.
If only one document is open, FRED automatically associates the script with that document. If multiple documents are open, you need to manually associate the script with a specific document. To do this, go to Script > Associate with FRED Document in the menu, select the document, and click OK.
Yes, FRED offers multiple options for automation and scripting:
- FRED has a built-in BASIC scripting language, which is highly useful for automating tasks and creating custom workflows.
- FRED can also be controlled externally via COM (Component Object Model), allowing integration with programming environments such as Python, MATLAB, and VB.
This flexibility enables users to automate processes, run simulations, and interact with FRED seamlessly through their preferred tools.
Getting Started Guide
When FRED is installed on a computer for the first time, the default settings are configured to prioritize program stability rather than fully utilizing the machine's resources. These initial settings are intentionally conservative to ensure reliable operation. This article outlines the key preference adjustments you should make after installing FRED to enhance the graphical user interface (GUI) and improve the performance of raytracing and analyses.
It is advisable to launch FRED, apply the recommended changes detailed in this guide, and then close the application. Doing so ensures that the modifications are properly saved to the system registry.
- GUI Preferences
- Ray Buffer Preferences
Graphical User Interface Settings
Navigate to the View menu and toggle the Cells option of the Output Window sub-menu. This option allows to view the Output Window as a spreadsheet (which it is) rather than as an empty text window.Next, open up the Preferences dialog by navigating to Tools > Preferences. The Output Window tab allows you to control how many rows and columns are available at any given time. To maintain a comprehensive history in the Output Window for easier navigation and review of FRED outputs, it is recommended to set the preferences to 10,000 rows and 24 columns. Additionally, consider disabling the formula engine if it is not required for your workflow, as this can help avoid potential issues and improve stability.
Next, move to the Visualization tab and make the following changes:
- Pixel Format = Fast
- Allow multi-threaded tessellation = Checked
- The screen background color can be customized based on your preference, with common choices being black or white. This is the section where you can adjust this setting to suit your visual preferences.
Move to the Miscellaneous tab of the Preferences dialog and duplicate the options below.
- Enable IntelliMouse in Grids – this option allows mouse wheel scrolling in dialogs that use grids. This includes the Output Window!
- Enable Formula Engine in certain dialogs – uncheck this for the reason mentioned above
- Enter Curvatures – uncheck this, unless you are a crazy person and prefer to think in a manner that is the reciprocal of the way rational people think
- Use isotropic scaling in analysis windows – opens chart windows with the view scaled proportionally to the analysis grid axes
- Display enhanced raytrace statistics – toggle this and you will get additional information printed to the output window following a raytrace
- Generate curve enclosure masks – make sure this is toggled so that certain surface types with complex apertures use “enclosure masks” to help with raytrace efficiency
- Show dashboard on startup - will display the dashboard when you start FRED allowing you quick access to various functions, licensing information, and Help information
Ray Buffer Preferences
To optimize FRED's performance, it is essential to configure the settings in the Ray Buffer tab of the Preferences dialog. Before diving into specific configurations, it is helpful to understand how the ray buffer operates. Ideally, all ray data should be stored in RAM for rapid access. However, over-utilizing RAM can lead to unpredictable program behavior or system instability, even though Windows attempts to manage such situations effectively.By default, FRED allocates a small portion of RAM for storing ray data. While this ensures stability, it limits the amount of ray data that can be stored in memory. If more rays are generated during a trace than the allocated RAM can accommodate, FRED temporarily stores the excess ray data in “pagefiles” on the hard drive. This process allows for continued operation but impacts raytracing performance, as accessing data from RAM is significantly faster than from a hard drive, although the performance gap is reducing with advancements in storage technology.
The concept can be illustrated as follows: a “frame” in FRED represents a finite-sized block of RAM allocated for storing a specific number of rays. The total number of frames and the rays per frame are user-defined settings. Their product determines the maximum number of rays that can reside in RAM at any moment, effectively dictating the RAM allocated for FRED's ray buffer.
For example, if six rays are stored per frame and 24 frames are allocated, the total capacity is 6×24=144 rays in RAM at any time. If a raytrace produces more than 144 rays, the additional data is stored in pagefiles on the hard drive and swapped back into memory as needed. While this system maintains functionality, optimizing the allocation can significantly improve performance.
So what are the general rules for optimizing the ray buffer preferences?
- Allocating more RAM is better since accessing data in RAM is fast. Depending on what else you want to do with the computer while FRED is running, consider leaving 2-4GB of RAM free on your computer.
- FRED only uses as much RAM as it needs at the current time, up to the maximum amount you have allocated. For example, if you have allocated a maximum of 64 GB of RAM in your preferences and FRED only traces a single ray, it doesn't reserve the full 64 GB of RAM for that operation. However, if you traced a billion rays, FRED would reserve the full 64 GB of RAM for raytracing and then store the excess ray information temporarily in pagefiles on disk.
- Don’t over-allocate RAM to FRED! If you allocate too much RAM, your system may become very sluggish or unstable. In this condition, Windows handles the data swapping rather than FRED which is generally undesirable.
- If you have an SSD that can be used to store the page files, do so. SSDs have much faster read/write speeds than traditional platter drives.
- Adjust the "# of frames in memory" until the desired RAM allocation is achieved.
- Incoherent rays contain the least amount of information and are therefore more compact than polarized or coherent rays. The type of rays you are tracing affects how much RAM is allocated for the same number of rays being traced.
This copy of FRED is installed on a computer having a total of 32GB RAM. The C: drive is an SSD. As shown in the dialog above, FRED will store 20,000 rays in each frame and use 200 frames for a total of 200*20,000 = 4,000,000 rays being stored in RAM at any given moment. If more than 4M rays are generated during a raytrace, the excess rays will be temporarily stored in pagefiles in the C:\tmp\fred\ directory. Furthermore, the 4M rays would consume ~976MB of RAM if they are all incoherent and ~2.9GB of RAM if the rays are all coherent.Let us now modify the ray buffer preferences to take advantage of the 32GB of RAM available on this computer. We don’t want FRED to use all 32GB of RAM, since Windows needs a certain amount of RAM to operate by itself (say 2-3GB) and we may want the computer running other applications in addition. So, let us say that we want FRED to use ~25GB of RAM for storing ray data (and assume these are incoherent rays). In the image below, I have adjusted the number of frames to be 5000, such that I can store 100 million rays in RAM at any given time. I can expect that the 100 million rays will consume 24.4 GB of RAM and that any additional rays will be stored in pagefiles in the C:\tmp\fred\ directory. While the pagefile location has no impact on performance in this case, since the C: drive is an SSD, it does allow put the pagefiles in a directory that is easier for me to find and keep an eye on.
Another option worth considering in this dialog is the “Min free disk space (in GB)” setting. By default, FRED requires at least 2GB of free disk space in the pagefile directory to initiate a ray trace. In practice, this error is rarely encountered, but adjusting this value may be beneficial in specific scenarios.
Each Analysis Surface and Detector Entity includes an option to filter the rays contributing to the calculated quantity. This option is located at the bottom of the next image under the section labeled "Ray Selection."
There are many options to choose from:
A very simple way to isolate the stray light contribution in an imaging system (where no scatter is present) is to append a Ray Filter "Specular Ancestry > 0." Thus the designed optical path will be ignored when processing the calculated quantity (e.g. Irradiance). You can append filters by right-clicking in the list area.
The two pictures below show an Irradiance plot of an imaging system first with and then without the Specular ancestry > 0 filter.
Alternatively, if you wanted to isolate only the scatter contribution you might want to add the Ray Filter "Scatter Ancestry > 0."
This guide explains the concept of ray ancestry in the context of both specular and scattering events, providing graphical illustrations to clarify the associated conventions.
Ray ancestry refers to the splitting of an incident ray into transmitted, reflected, and/or scattered rays. Terms like parent, child, grandchild, and so on—or numerical generations [0, 1, 2, …]—are commonly used to describe this relationship. Control over ray ancestry settings is managed through the Raytrace Controls options.
When a ray is incident upon an interface between two materials of differing refractive index, it undergoes specular splitting into a reflected and transmitted ray if the angle of incidence is less than the critical angle. The parentage of these rays is determined by the Parent Ray Specifier option on the assigned Raytrace Control dialog. The default setting for this option is the Largest incoherent power which is determined by the Coating specification. If the Coating is of type Uncoated, Thin Film, Quarterwave Layer, or General Sampled then the angle of incidence will also play a part in determining which ray is the parent. The user has three other choices for the Parent Ray Specifier: Transmitted [transmitted ray always parent], Reflected [reflected ray always parent], or Monte-Carlo (1 ray only) [probabilistic determination].
The picture below illustrates graphically the parentage of specular split rays incident on two interfaces under four distinct conditions when Largest incoherent power is selected. When both interfaces have R ≤ T as in Figure a, the parent ray (0) is transmitted along with even generations while the reflected rays are of odd generation. With R ≤ T on the first and R > T on the second as in Figure b, the parent ray is ultimately reflected and increasing generations both reflect and transmit. With R > T on the first and R ≤ T on the second as in Figure c, the parent ray is immediately reflected and increasing generations both reflect and transmit. Finally, with R > T on both interfaces as in Figure d, the parent is immediately reflected with all subsequent reflections and transmissions of generation two.
User Tools enable you to link custom scripts to buttons on FRED's main toolbar. Once configured, you can execute your script with a single click on the associated toolbar button.
Go to View > Customize in the menu.
In the Customize dialog, select the Toolbars tab.
Check the box next to User Tools in the list to enable the toolbar.
Note: To move any toolbar in FRED from its default location, hover your mouse over the vertical ellipse to the left of the toolbar. Hold down the mouse button, drag the toolbar to your preferred location, and release the button when it's positioned as desired.
The Visualize toolbar has a dropdown list and several buttons that can be used to quickly snap the 3D View to a specific orientation relative to the global axes. Clicking on one of those buttons, or selecting one of the many options in the dropdown list immediately changes the orientation of the 3D view (e.g., side view, from top, from back, etc.).
The three custom views at the bottom of the dropdown option list allow the user to customize a specific view that can be snapped to this orientation with a single click.
The user can also set the three "Custom View" options in FRED's Preferences by selecting Tools > Preferences from the menu. On the Visualization tab, the user can 1) enter the camera position/orientation manually, or 2) click on the Get Current View button to import the data for the current view.
Ray Selection Filter Basics
Analysis Surface Ray Filters provide a method for sorting through rays and establishing a set of criteria that must be met for a ray to be included in the operation being performed (e.g. Irradiance calculation, Spot Diagram).
The video and example file below describes the basic principle behind Ray Selection Filter Criteria.
Example file: RaySelectionCriteria.frd
Watch Photon Engineering video guide of Ray Selection Filter Criteria
How Ray Selection Criteria are Evaluated
Ray filters can be specified in the ray selection list by right-mouse clicking and choosing an appropriate option; cut, copy, paste, delete, edit, insert, or append. The specific ray filters are logical operations that evaluate to either TRUE or FALSE on a given ray. Additionally, there is no parenthetical grouping of the ray filters, so they are evaluated sequentially in the list.
Consider the following examples in which a ray selection criteria list consisting of three filters is applied to a single ray. The ray selection criteria list is shown on the left and its logical application to the single ray is shown on the right. In the top example the serial evaluation of AND-AND-OR results in TRUE, meaning that the ray passes the selection criteria and is included in the analysis or operation. In the bottom example the serial evaluation of AND-AND-AND results in a FALSE, meaning that the ray does not pass the selection criteria and is not included in the analysis or operation.
Sometimes rays unexpectedly halt on a surface. The picture below shows a single ray bouncing inside a perfectly reflecting cylinder, but surprisingly stops.
Raytrace Summary
In simple scenarios, looking at the Raytrace Summary that is automatically printed to the Output Window might give you all the information you need. The clue to this problem is in the line "Num rays halted due to exceeding number of consecutive intersections on the same surface."
Table of Ray Errors
In more complex cases, it might be more insightful to view the Table of Ray Errors report located under the Tools menu. This logs all ray errors on a surface-by-surface basis.
The Solution (in this case)
In this case, we need to increase the relevant cut-off in the associated Raytrace Control, to allow the ray to reflect off the same surface consecutively more than the default 10 times.
FRED supports the import of the following file formats:
- STEP (.step, .stp)
- IGES (.iges, .igs)
- OBJ (.obj)
- STL (.stl)
These formats enable seamless integration of CAD-generated geometry into FRED for optical analysis and simulation. If you require additional file format support or encounter any issues during import, please contact our team for assistance.
FRED has no fundamental limits on the number of rays that can be traced or the size of the model, enabling it to handle large-scale simulations efficiently.
For enhanced performance:
- FRED Optimum and FRED MPC offer a Distributed Computing option, allowing you to share the raytrace workload across multiple computers.
- GPU Raytracing: If multiple GPU boards are available, FRED can utilize them in parallel to further accelerate the raytracing process.
This flexibility ensures efficient processing for complex and demanding optical simulations.
Save via the ARN
If your data is stored in an ARN (located in the Analysis Results folder) of the Tree, then you can simply right-click and select Save Data to File...
SAVE via the chart window
You can also save the data from the chart window by selecting Save Data to Text File... from the right-click menu.
Note, however that due to historical reasons these two file formats are different to each other.
The pixel size of your Analysis Surface and Detector Entities are set in the areas highlighted in the screenshots below.
The pixel size will be the full width of the detector divided by the number of divisions, which in the first case below would be 1/21 = 0.0476mm. If you are using the Analysis Surface, then make sure to uncheck the "Autosize to Data" option to get explicit control over the grid widths, otherwise, FRED will auto size the grid based on the footprint of the ray bundle.
The two primary options for starting a CPU-based raytrace in FRED are "Trace and Render" and "Trace All Sources."
- "Trace and Render" displays the rays as they are traced through the system, providing a visual representation of the ray paths.
- "Trace All Sources" performs the trace without visualizing the rays, which can improve performance.
While visualizing the rays can be useful, it is important to note that drawing the rays can slow down the raytrace, especially when dealing with large numbers of rays (thousands or millions). For this reason, most users opt for the "Trace All Sources" option when tracing large datasets, as it does not include the overhead of ray visualization.
However, the impact of selecting "Trace and Render" over "Trace All Sources" can be more significant than just a slight slowdown. Enabling ray visualization in "Trace and Render" forces the raytrace to be single-threaded. In contrast, when using "Trace All Sources", FRED can distribute the raytrace across up to 17 threads (cores). For FRED Optimum and FREDmpc, this capability extends even further, utilizing up to 63 threads.
Thus, when multiple cores are available, the difference in performance between "Trace and Render" (single-threaded) and "Trace All Sources" (multi-threaded) can be substantial. The choice of which option to use depends on whether you prioritize visualization or performance.
When the user uses the Trace and Render option, rays with dashed lines can sometimes be seen. These are rays that are leaving a surface (or source) and do not intersect with any other surface in the model (i.e. are heading to infinity).
The length of these lines can be decreased (or increased) in the software preferences. To turn off drawing these rays, set this value to 0.
Below is a picture of the same raytrace, with the above scale factor set to 0.1.
The Stray Light Report and the Raytrace Paths Report, both available by selecting Tools > Reports from the FRED menu, are very useful tools for looking at ghost/scatter paths in the system.
If these options are grayed out, it is because you must first perform a raytrace using the Advanced Raytrace dialog with the "Determine raypaths" option selected.
The reports rely on raypath information, which is not automatically saved during a "normal" raytrace. This option must be selected in the Advanced Raytrace settings, as shown below:
Note: It is also valuable to select the "Create/use ray history file" option as discussed in this article: Raypaths and ray history
A non-network license of FRED can be operated via Remote Desktop, as long as the dongle is located on the PC that will be running FRED. The default installation of the software and key driver is required on the host machine.
Additionally, for older superpro dongles, before the dongle will allow you to start a new instance of FRED on the remote machine you will need to make some modifications to how the host computer searches for the dongle. Please take the following actions:
To monitor the usage of a FRED Network license, open a web browser on the license server computer and follow the steps below:
Newer LDK Keys
Navigate to http://localhost:1947
This opens the Sentinel Admin Control Center. Choose the "Sessions" option to see the machines currently connected to licenses. To review how many licenses are in use (logins) and available (concurrency) see the information in the "Features" area.
Older SuperPro Keys
Navigate to http://localhost:6002
This opens up the Sentinel License Monitor (will install Java if not already on there) which will allow the viewer to see the available licenses and who is using them. Clicking on the leftmost column (Keys#) will show a separate page indicating who is accessing that license. Clicking on the “Sublicense” column will show a separate page indicating how many of the network licenses for that key are in use.
When debugging a script, it's sometimes valuable to check the value of a variable or the contents of a structure or array. This can be done quite easily in FRED's scripting editor.
However, the one thing to note is that you have to specify each item "to watch" individually - you can't just browse the whole of an array or structure
Note: if you don't see this mini toolbar at the top of the script debug window, then select from the FRED main menu select Tools / Preferences... / Format tab/ Script Editor Window / Show toolbar
FRED's main toolbar can be customized to suit your needs.
1. Go to View / Customize..
2. Select Toolbars
Here you can choose which toolbar groupings you want to include on the FRED toolbar.
To customize the content of each toolbar grouping:
3. Click back to the Commands tab
4. Select the Category that you wish to customize (e.g. Analyses)
5. To add a button, drag and drop the item from this list to the FRED toolbar
6. To remove a button from the toolbar right-click on the toolbar button and select Delete
Notice also that you can move the toolbars around by dragging them with the mouse.
Many items on the Object Tree have setting windows that pop up when you double-click. However some items do not (e.g. a Subassembly, Custom Element, Keyword, Embedded Script, ARN), and therefore it can be a little confusing how to change the name of these items.
You can either highlight the item and the left-click again to edit the name, or highlight the item and press F2 on the keyboard.
FRED's default raytrace mode is non-sequential, but the user also has the option to switch to a sequential raytrace. One common scenario is that a user might have performed a non-sequential raytrace and is viewing the Raytrace Paths Report, or Stray Light Report and having identified a path of interest will next want to trace it sequentially.
First, right-click on the path of interest and select Copy to User-Defined Path List.
Next, open the Advanced Raytrace dialog (again), and switch the Raytrace Method to "Sequential using a user-defined path", choosing the path that has just been saved.
Note: the path details can be viewed/edited via Raytrace / User-defined Ray Paths...