Our transition to a new software architecture is a vital move in navigating the dynamic technological landscape. In a recent webinar, we discussed the aspects of this transition, providing insights into the why and how of adopting a new architectural approach despite having a functional existing one. This post will highlight the motivations behind the shift, the present status of feature migration, alterations in the latest software release, and an overview of projects within this new framework.
The Rationale and Benefits
The complete rewrite of our software’s architecture was not a decision made lightly. The reasoning extends beyond merely wanting a refresh; it was driven by pivotal motivations, primarily surrounding the necessity for speed and efficiency in executing computing processes. Speed is invariably tied to productivity and operational fluency in software and technology. The plot below illustrates a compelling story: the old architecture (represented by the blue line), exhibited a static runtime, regardless of the number of threads engaged, revealing its inability to utilize parallel processing. Contrastingly, the new architecture demonstrates a significant speed-up, even with just a single thread, and scales to allow an increase in speed by many multiples, contingent on thread capacity.
Solving Larger Problems
The pursuit of faster execution isn’t arbitrary; it is intrinsically linked to our objective of solving larger problems. With larger tasks and projects on the horizon, scaling up and utilizing more CPU threads became essential. Exemplified through a job run on a virtual machine with 96 available CPU threads, the linear decrease in runtime with increasing threads (until certain hardware limitations are met) exhibits the new architecture’s adept handling of larger jobs (see plot below). The capability to scale and manage tasks of escalating complexity and size was a crucial driver for our transition.
Enhancing Integrations and Streamlining Workflows
Then, we turned our attention toward improving the user experience in interfacing with our software. Our prior use of the HFI and HFO file formats, while functional, presented numerous challenges regarding modification and integration, particularly when scripted modifications were necessary. The new architecture employs the JSON file format, widely recognized for its robustness and versatility across various industries and applications. With JSON, modifying job inputs and managing data become significantly simplified, as illustrated by a Python script example, wherein the entirety of job modifications, inputs, and submissions can be seamlessly handled with a handful of lines of code.
Improved Usability and Real-Time Error Checking
In an effort to enhance usability and mitigate the common issue of erroneous entries and syntax use, the new architecture, especially when utilized with a text editor like VS Code, offers real-time checking and syntax suggestions. This not only makes job submission more precise but also substantially reduces the trial-and-error cycle, saving valuable time. Additionally, upon job submission, the new architecture performs rigorous error and syntax checks, ensuring smooth execution and user experience.
Comprehensive Feature Migration: A Successful Transition
Reflecting on the past two years, we have accomplished a near-complete feature migration to the new software architecture, with 99% of features now successfully transitioned. This includes all outlined output requests, material models, history types, and various procedures.
Our commitment to supporting multiple interfaces remains, with support for Abaqus, Ansys, and Marc using the new architecture. Furthermore, Endurica Viewer is fully compatible, providing enhanced visualization capabilities under the new system.
The comprehensive migration and the incorporation of new functionalities marks the new architecture as fully operational and ready for use across all undertakings.
Implementation of Directory and Execution Changes in Endurica Software
Refined Directory Structure
In efforts to provide a seamless transition and user experience with the upgraded Endurica software, modifications have been made to the directory structure. The new architecture, once labeled “Katana” during its development phase, has now been ubiquitously integrated into the top-level Endurica directory. With the most recent software installation, users will observe the top-level CL and DT directories contain the new architecture, and the Katana directory has been removed.
Consequently, when we refer to Endurica CL and Endurica DT moving forward, it denotes reference to the new architecture.
Accommodating Transition: The Legacy Folder
Acknowledging that the transition to the new architecture may not be instantaneous for all users, the old architecture will still be available and designated within a “Legacy” folder. Though it requires navigation into subfolders, we ensure its accessibility for users who need more time to transition fully into the new structure.
Executable Naming Conventions
In tandem with the directory adjustments, executable naming conventions have been revised to be more intuitive. Previously, “endurica” was employed to submit fatigue analyses in the old architecture, while “katana” pertained to the new. To streamline, “katana” has been rebranded as “endurica” for submitting the JSON input file, with the legacy version adopting the name “endurica-legacy.” It is crucial to note that users accustomed to utilizing “katana” may continue to do so — “endurica” and “katana” will run the same executable. However, usage of the old architecture requires invoking a new “endurica-legacy” command.
Delivering the Unattainable with Endurica’s New Software Architecture
Embarking upon two recent projects with our new computational architecture, we explored the realms of virtual simulation and data management in tire durability and elastomeric mount durability performance.
Project 1: Tire Durability with Dassault Systems
In collaboration with Dassault Systems, a multi-body dynamic simulation was conducted to compute tire durability at the Nurburgring circuit. Utilizing SIMPACK for generating virtual road load data and employing Endurica EIE and Abaqus to establish a workspace map of driving conditions, the endeavor yielded significant data, processed through 176,000 time steps to evaluate the tire’s fatigue life. After a meticulous analysis, the results spotlighted the fatigue life to be 214 laps, pinpointing the most critical point around the tire bead edge.
Project 2: Durability of an Elastomeric Mount with Ford
Undertaken with Ford, the second project navigated through the durability performance of an elastomeric mount, involving a behemoth of data from 144 load history files, each load file containing tens or hundreds of thousands of time points, accumulating to over 15 million total time points. Utilizing a similar approach as the Nurburgring project, Endurica EIE and Abaqus were used together to generate the strain history data. The analysis focused on membrane elements on the mount’s free surfaces to precisely gauge surface strains. Culminating the analysis, the project succeeded in qualifying the part with a fatigue life of 9.4 repeats of the entire schedule, wherein the requisite was just one repeat.
These projects underscored the capabilities of our new architecture, navigating through large data sets and providing tangible insights in significantly reduced timeframes compared to the old architecture. In essence, the implementation of the new architecture has not only streamlined our processes but also expanded our horizons in handling large data and achieving nuanced analyses in our projects.
The new Endurica CL and Endurica DT architectures have now fully replaced our old system, maintaining the accuracy our users expect while introducing an easier, more powerful, and scalable solution. Everything has been successfully migrated over to this complete solution. With its enhanced capabilities, it addresses problems that were previously too large or took too long to solve, enabling our customers to tackle challenges they might not have considered before. The ability to solve unprecedented problems is just one more example of our steadfast commitment to providing accurate, complete, and scalable solutions.