• user Dr. Bruce Webster
  • Dec. 11, 2021

Innovative approach to CAE pre processing gives OOP-like benefits

<div class="text-justify"> Throughout the past decade, we at Novus Nexus have worked to expand and support the use of our simulation automation software, CAENexus, which grants a range of benefits to traditional simulation workflows. The benefits provided by our software and methodology are analogous to those offered to general program development by Object Oriented Programming (OOP). With a little bit of history and context, I think everyone, not just computer scientists, engineers and programmers, can recognize that an OOP computer programming language, such as C++ for example, can be more powerful and capable in certain situations when compared with a language like Fortran, which is mostly procedural or sequential in nature. Demonstrating the analogy between OOP and CAENexus will help people better understand the powerful advantages available for their CAE simulations—that they can go beyond classical, ‘sequentially’ based CAE preprocessors and discover a way to ‘program’ their simulations the OOP way with CAENexus. <br/><br/> In broad strokes, programming languages have evolved to make writing programs easier, faster, more accessible, and less prone to error. We can see this pattern emerge at each jump in the advent of new coding languages. From fundamental binary code, the long strings of 1s and 0s executed by any hardware, arose the hexadecimal representations of machine code, being slightly easier to read and understand to the human eye. Then came low-level assembly languages, which gave a more recognizable verbal structure to programming while still providing a direct, one statement to one machine instruction sequential architecture. At this level, both machine and assembly languages are hardware specific, and must be hand-tuned to each device. The next big jump was made with the advent of high-level programming languages, such as Fortran, which utilize compilers that translate source code into any device’s assembly/machine language for execution. Once again, the evolution of such languages paved an easier and faster route to achieve broader goals, all the while becoming available for widespread use via a degree of abstraction from individual machines. However, as programs became larger and more complex, certain limitations arose. <br/><br/> While Fortran is still in use today and extremely valuable in high-power, numerically intensive computing applications, its line-by-line procedural nature makes it more difficult and complex to set up, de-bug, and maintain. In response to these challenges, another degree of abstraction evolved to further the speed, ease of (re)use, elegance, and power of programming languages. Thus, Object Oriented Programming emerged as a popular paradigm to aid in system, program, and application development. <br/><br/> Essentially, rather than write the entire top-down code specific for each program or application, OOP utilizes abstract classes which define sets of general attributes, properties and methods. These parent classes can have child or subclasses that further define more specific, yet still abstract instances of any given class. Finally, when a programmer or user wants to make something definite and tangible happen, the input code then draws on the abstract classes to tie down whatever specific requirements are necessary for that particular instance, or object. Among other powerful advantages, this methodology avoids having to re-write all the specific code each time the programmer or user wants to create a new object. All that needs to be done is input a few details for the new instance and the desired result can be produced automatically, drawing from the existing parent and child classes. The majority of the legwork only needs to be walked through once. <br/><br/> I want to highlight two more key benefits of the OOP paradigm. Encapsulation of effective code into classes and objects allows for inheritability: the ability to reuse previous, self-contained sections of code in new environments; and modularity, which means knowing exactly where each piece of code is, what it does, and how it interacts, making troubleshooting much easier while allowing more team members to be involved in development without the chance of stepping on toes. Though the learning curve for OOP is a bit steeper than top-down sequential methods, these advantages are what propelled OOP based languages into widespread use and top-level productivity. <br/><br/> I see a parallel between the historic evolution of coding languages and the current evolution of Computer Aided Engineering techniques. Today, there are many different simulation tools available, all the various commercial and opensource CAE solvers with both inhouse and third party pre and post processors. Each product development team of design engineers and analysts has access to their own suite of chosen software, and their workflow often develops naturally exclusive to that environment. However, as simulation becomes more mainstream, abundant, and necessary, reliable simulation workflows become increasingly complex, and often error-prone due to the prominent level of hands-on engagement at each stage of set-up and maintenance, let alone automation. These problems are like those met by both early assembly languages and the line-by-line procedural approach of the first high-level languages like Fortran. <br/><br/> As an FEA and CFD expert by training and profession, I began looking into how OOP advantages could be brought effectively to CAE workflows. One of my goals with CAENexus and its Abstract Modelling backbone was to take the step from a top-down, case by case basis for each simulation, to an OOP approach where the majority of legwork can be done once, encapsulated, then leveraged with minimal effort for multiple and diverse sets of simulations. Our team makes it happen, and the automation, modularity, and inheritance gained create a unified, intelligent platform for making simulations easier, more robust, and more accessible to product development teams. I invite you to learn more about how CAENexus has a proven track record of helping teams to boost efficiency and performance across the board, including at several Fortune 500 companies. <br/><br/> My hope in giving this OOP analogy is to motivate CAE professionals to increase their skill set and make the move from classical, ‘sequential’ CAE modelling to ‘OOP’ CAE modelling with CAENexus. You will be able to make your company’s CAE process automated by the power of OOP. This is why our tagline is ‘Simulate Better with us’. <br/><br/> Dr. Bruce Webster <br> Founder of Novus Nexus, Inc, Co-inventor of CAE Abstract Modeling technology <br> Simulate better with <span class="blue-text">us</span>.<br> <a href =https://www.novusnexus.com >www.novusnexus.com</a></div>
Blog image