Iterative Design Process: A Guide & The Role of Deep Learning
A dream has come true: empowering all design engineers with a suitable user interface and making engineering simulation accessible during product design iterations.
Before going into the details of this powerful enabler, we will review the design iteration methodology step by step, starting with an initial product version and requirements and leading to a final design. We will then introduce deep learning; the solution that accelerates the design process without the hassles of parametrizing a design or the extra cost of hardware resources.
Deep learning can recycle company engineering data, even with a depth of decades, to produce real-time solutions for product designers or architects without requiring formal training in simulation.
A user-friendly interface helps CAD designers easily access and interact with deep learning models without requiring specialized technical knowledge. This can include simple controls for adjusting settings, visual representations of the model's output, and real-time feedback on the model's performance. The deep learning method can manage incremental changes and support research methods, but the ideal development is an iterative design process driven by humans or algorithms.
Deep learning can assist CAD designers in several ways during design iterations. Delivering detailed 3D engineering predictions can suggest modifications to existing designs based on the designer's references (KPIs). It can even be pushed up to the point of being in charge of iterative tasks in design optimization.
Neural Concept Shape (NCS) is a deep learning solution from a multidisciplinary effort in interaction design that combines design elements, business knowledge work organization, computer science, computer vision, AI and hard mathematics to create easy products and services to use and understand. Interaction design is a software interface design originated by user feedback rather than apriori plans by the provider, and the beauty of deep learning is that the interface is subject to continual improvement.
The Non-Iterative VS Iterative Process - The Risk of Having No Feedback
A non-iterative process can be represented as follows:
Design → Final product
Therefore, the non-iterative process entails a very high risk because it involves a single linear flow with no testing or feedback.
The iterative approach is where design is improved through multiple cycles of testing and feedback, representable in this way:
Design → Test → Feedback → Refine → Design → Test → Feedback → Refine... → Final Product
The importance of feedback mechanisms in regulating biological and artificial systems is crucial. They could not survive or evolve without feedback.
As a first example of an artificial feedback system, let's think about how James Watt contributed with his flyball to the field of steam engines. His innovations (see figure below) helped to pave the way for the Industrial Revolution. The principles and feedback control systems he developed in the steam engines can be seen as an early form of cybernetics since they involve using one or more feedback loops to regulate the performance of a machine. As in an iterative process, feedback regulates the design performance. Looping back from one stage or iteration to reproduce the same operations, i.e. proceeding to the next iteration (design iteration) in a continual cycle to approach a desired situation, is the essence of the iterative process.
What Is the Traditional Iterative Design Approach?
The iterative design process means creating a product or service by repeating a series of steps multiple times to refine and improve the outcome.
What are the steps in the iterative approach in the development lifecycle? How is it different from an incremental development?
We have identified at least five steps of the iterative approach in the previous paragraph. Now, let's describe each step.
N.B. The iterative process is not carved in stone to be linear, and it will be possible to go back to any step at any point in the iterative process if necessary.
The assumption below is that you aim to create a product that meets the needs of users and stakeholders (considering national government or international regulations such as emission limits, etc.).
Iterative Process Step 1 - Research and Define the Problem
Understand the needs of all users and stakeholders (including final customers, legislative constraints and expectations), and define the problem that needs to be solved.
Iterative Process Step 2 - Conceptualize and Ideate
Generate ideas and concepts for a potential solution, gathering new ideas.
Iterative Process Step 3 - Prototype
Create a representation of the designed solution, either physical (prototype+physical testing), or the Digital Twin analogue (CAD+CAE). Prototypes can be obtained with rapid prototyping methodologies such as 3D printing.
Iterative Process Step 4 - Test and Evaluate
Test the prototype (in a laboratory, on a computer system) with dedicated users and gather feedback from the results.
Iterative Process Step 5 - Refine
Use the feedback to make adjustments and improve the prototype for a revised solution.
The framework of the Iterative Process - Repeat!
Repeat the iterative process from a design iteration step to the next iteration step until a satisfactory solution is reached. This is the framework of the whole iterative process, providing closure of the iterative cycle in what would otherwise be an open loop.
One may wonder, is an iterative design process a trial and error? The iterative model can involve trial and error, experimenting with different solutions, testing them, and then refining and improving them based on feedback and results from previous iterations.
However, it is not limited to trial and error; it also heavily relies on a systematic and structured approach where the iterative process is broken down into smaller stages or iterations to improve the solution continually.
Advantages of the Iterative Design Process
One of the main advantages of the iterative design process is that it allows for the continuous improvement of a product or service by repeatedly testing and refining it using Computer-Aided Design (CAD) and Computer-Aided Engineering (CAE) tools.
For example, a product designer can use CAD to create a digital prototype of a product and then use CAE to simulate how the product will perform in different scenarios. By repeating this procedure multiple times, the designer can adjust the design to make it more robust, efficient, or cost-effective.
Another advantage of the iterative design process is that it involves users and stakeholders, which helps ensure that the final product meets their needs. For example, a product designer can involve customers or end-users in testing and evaluating the product by gathering feedback and incorporating it into the design.
The iterative design process also allows for exploring multiple options and ideas, increasing the chances of finding an effective solution. For example, a product designer can use CAE to simulate how different design options will perform and select the best one based on the results.
Teamwork: the Role of Project Management
Project management (PM) is critical for teamwork and success in the iterative design process.
PM helps to plan the iterative design process by defining the project's objectives, goals, and milestones. This helps to ensure that the team is clear about what needs to be achieved and when.
Communication and Coordination
Project managers help to facilitate communication between team members by establishing channels of communication and regular meetings. This helps to ensure that everyone is aware of what's happening in the project and can contribute to decision-making.
The PM helps to coordinate the activities of different team members by creating a schedule for the project and assigning tasks to team members. This ensures that the project is kept on track by everyone knowing what they need to do and when.
Project managers identify and manage potential risks and issues that may arise during the design process by establishing a method for monitoring and addressing these risks. This helps to ensure that the project stays on track, even in the face of unexpected challenges.
Monitoring and Controlling
PM helps to monitor and control the project's progress by establishing metrics and processes for measuring the team and project performance. This helps to ensure that the project stays on track and that the team can make adjustments as needed.
Project management helps to facilitate the team's work by providing the necessary resources, tools and support needed to achieve the objectives and goals of the project.
PM helps to adapt to changes and modifications by providing a flexible and agile iterative process that can be adjusted as needed to address the changing needs of the project and the team.
Is an Iterative Design Process Formalizable with Mathematics?
Now, let's shift the attention from processes, teams and people to mathematics.
This will have important implications for understanding AI's help with the iterative development process.
In mathematical terms, the iterative design process can be shortly represented by the following equation containing the important concepts of an objective function and optimization algorithms:
- An objective function represents how much the design satisfies the criteria (hence, it is a KPI = key performance indicator). Mathematically it is an f(x) = f(x₁, x₂, ..., xₙ) where x = (x₁, x₂, ..., xₙ) is a vector of design variables, and f(x) is the value of the objective function,
- An optimization equation x* = argmin f(x) where x* is the optimal design solution via an optimization algorithm.
- there is an objective f as a function of n design variables (x₁, x₂, ..., xₙ)
- an algorithm can modify the x until it reaches a value x*, yielding an optimal solution or a group of solutions compatible with constraints and other factors, i.e. the "best compromise".
Iterative Design Examples
Let's expose eight iterative process application cases in automotive engineering.
- Vehicle aerodynamics iterative design example. Design iteration is used to optimize the aerodynamics of a vehicle to reduce drag and improve fuel efficiency. The main design tools are CAS, CAD, CAE (CFD) and wind tunnel testing.
- Suspension systems: Iterative design is used to optimize the design of suspension systems to improve ride comfort and handling. The main tools are CAD, CAE (NVH), laboratory and track testing.
- Engine components: Iterative design is used to optimize the design of engine components, such as air intake systems and exhaust systems, to improve performance and reduce emissions. The main tools are CAD, CAE (CFD, FEA, NVH), and laboratory work (cells, track testing).
- Transmission systems: Iterative design is used to optimize the design of transmission systems to improve efficiency and durability. The main tools are CAD, CAE (CFD, FEA, NVH), and laboratory.
- Braking systems: Iterative design is used to optimize the design of braking systems to improve stopping power and reduce wear on brake components.
- Steering systems: Iterative design is used to optimize the design of steering systems to improve handling and reduce steering effort. Here 3D CAE is also supplemented by very efficient multi-body dynamics computations.
- Interior and exterior design: Iterative design is used to optimize the design of the interior and exterior of a vehicle to improve aesthetics, ergonomics and acoustics and climate comfort for passengers and drivers. Here CAD plays an important role but is supplemented by CAD, CAE (CFD, aero-acoustic, NVH), laboratory (echoic, semi-anechoic, climate cells), and track testing.
- Advanced materials and manufacturing methods: Iterative design is used to optimize advanced materials and manufacturing methods, such as 3D printing, to improve performance and reduce costs.
Common Design Iteration Mistakes
Here are some common mistakes that can occur during the iterative design process:
- Failing to involve users and stakeholders: Not gathering feedback from users and stakeholders, such as project managers, can lead to a solution that does not meet their needs.
- Lack of clear objectives and goals: With clear objectives and goals, it can be easier to know when a solution is satisfactory and ready to be implemented.
- Not testing and evaluating early and often: Long testing and evaluating a prototype can lead to wasted time and resources if significant changes are needed.
- Not being flexible and open to change: Being too attached to a specific idea or solution can prevent the team from considering other options and making necessary changes.
- Not enough time and resources: It can be easier to fully explore and test potential solutions with adequate time and resources.
- Focusing on aesthetics and neglecting functionality: Prioritizing aesthetics over functionality can result in a product that looks good but does not effectively solve the problem. We are keen to expand this point since it involves a favourite subject, CAE (Computer-Aided Engineering)!
- Not considering scalability: Failing how a solution will scale can lead to issues when it needs to accommodate a more extensive user base or complex requirements.
- Not considering long-term maintenance: Focusing only on the development and launch of a product, without considering long-term maintenance, can lead to a product that is difficult to update or maintain in the future.
How Deep Learning Helps to Correct Design Iteration Mistakes
The Impact of Deep Learning
A deep learning-based 3D engineering simulation solution, also known as a surrogate model for CAE (Computer-Aided Engineering), is a data-driven technology that can alleviate some of the common mistakes made during the iterative process in several ways.
We will discuss eight enabling factors that alleviate the issues described in the previous section and better meet the user needs during the CAD design process.
- Involving users and stakeholders from early stages: Using a deep learning-based simulation solution, engineers can quickly test and evaluate different design options and gather feedback from users and stakeholders, allowing them to make more informed decisions.
- Clear objectives and goals: Surrogate models can be trained on a set of design objectives and goals, so the model can provide guidance on which designs are most likely to meet these objectives.
- Testing and evaluating: With a deep learning-based simulation solution, engineers can test and evaluate designs much faster than traditional CAE methods, allowing more frequent testing and evaluation.
- Flexibility and openness to change: A deep learning-based simulation solution can adapt and change as new data is fed into the model, allowing for more flexibility in the design process.
- Time and resources: A deep learning-based simulation solution can significantly reduce the time and resources required to test and evaluate designs by providing a fast, accurate and computationally efficient tool.
- Functionality over aesthetics: Since the model is trained on design objectives and goals, it can prioritize functionality over aesthetics, helping to ensure that the final product effectively solves the problem.
- Scalability: Deep learning-based simulation solutions can be trained on large datasets, which allows them to handle increasingly complex designs and requirements as the product scales.
- Long-term maintenance: A deep learning-based simulation solution can be updated and retrained as new data becomes available, making it easier to maintain over time.
Deep learning can be accelerated thanks to the transfer learning capability that can reduce by 97%+ the required data needed to train the underlying neural network, for example.
More on Digital Twins and Software 1.0
We mentioned digital twins without a definition. A digital twin is a digital replica of a physical object or system that can be used to simulate its real-world behaviour. It is typically used for monitoring, analyzing, and optimizing the performance of the corresponding physical object or system.
We will give some examples and show some confusion arising in the product design world, mainly due to software vendors trying to push the concept within the frame of Industry 4.0 business.
Digital Twin Example - Turbine
For example, a digital twin of a turbine could be used to predict its energy output and identify potential issues before they occur. This could involve modelling the turbine's dynamics using differential equations and data from sensors on the turbine to update the model in real-time.
Consequently, the digital twin could optimize its performance and improve its overall efficiency by simulating the turbine's behaviour under various conditions.
Digital Twin Example - HVAC
An HVAC system is an example of a digital twin in the automotive, aerospace and civil engineering industries. The real-time data from sensors in the object (car, truck, aircraft or building), such as temperature, humidity, and airflow, can be used to update the HVAC system's mathematical model. The model is used to predict the performance of the HVAC system and identify potential issues before they occur.
By simulating the HVAC system's behaviour under various conditions, the digital twin could optimize its performance, increase end-user satisfaction, improve energy efficiency and reduce operational costs.
Upstream of Deployment: Digital Twins in Product Design
Digital twins are becoming increasingly relevant in product design, particularly in the automotive industry.
An example of how digital twins can be used in automotive product design is in the development of electric vehicles (EVs).
During the design phase of an EV, digital twins can be used to simulate the performance of the powertrain and battery systems, taking into account factors such as driving conditions, battery degradation, and thermal management. By running these simulations, engineers can optimize the design of the EV's powertrain and battery systems to improve their performance, increase their efficiency, and extend their range.
From Software 1.0 to Software 2.0
Software 1.0 refers to traditional software development, where the developer explicitly defines the program's logic and rules. The software follows these rules to perform a specific set of tasks.
Software 2.0, on the other hand, refers to using deep learning techniques to develop software that can learn and adapt to new situations. This is achieved by training the software on a large dataset, allowing it to learn the underlying patterns and relationships in the data. Once trained, the software can use this knowledge to make predictions without explicit instructions.
Deep learning algorithms like neural networks are part of the Software 2.0 universe, knowing that they can use previous knowledge to build predictions. The neural network is trained using a labelled dataset; it learns to recognize patterns and relationships in the data and use them to make predictions. Once trained, the network can generalize this knowledge to new, unseen data, making accurate predictions even when the data differs from what it was trained on.
The main advantages of software 2.0 are that it can make accurate predictions without the burden of traditional software and improve its performance over time by continuing to learn from new data; an example is x4image recognition. We will focus here on recognizing a very specific type of "image" (a 3D CAD, for instance) and using, instead of recognition, a specific mapping into the space of physical prediction such as stress & strain, temperature, pressure, velocity, electromagnetic fields over a 3D object.
The Development Process with Neural Concept Shape
The core of NCS technology is to empower product designers involved in the iterative process with CAE simulation results in seconds instead of hours or days. CAD teams can iterate significantly faster than traditional processes, where CAE represents a significant wait time. It makes them operate more efficiently with CAE teams, drastically reducing the number of iterations between product design and CAE teams.
Further to the immediate hard impact of simulating in 50 milliseconds instead of 1 hour, a full suite of features creates a production environment both for advanced and final users, respectively, NCS Expert and NCS Production users.
User Feedback From Development Team and Use Case
The user feedback from engineers in Methodology, CAE and R&D Departments was that they want to access the full power of deep learning optimization, although in a way usable for advanced CAE or optimization experts. This is why Neural Concept conceived a high-end platform that allows engineers to tap into a fully customizable environment without being software developers.
User research and user testing finally produced feedback that led to the following features available in the NCS Expert platform:
- Highest level of control: a low-level Python-based interface allows users to interact with the core technology and removes any limitations
- Best practice toolkits: A set of guided workflows helps engineers start with the best practices right away and carry out their experiments with confidence
- Off-shelf algorithms: Neural networks optimized and made ready to work both for prediction (CAE surrogate) and as generative designers
From Expert to Production to Support the Iterative Process
The graphic shows how leading-edge AI and CAE technology can be distilled into practical applications. As an example of the usage to support design iteration, a team of designers (top right in the image) will specify their needs in terms of formats and input/output relationships to a team of experts (either internal experts or a system integrator or Neural Concept). The Expert team will deliver, based on the quantity and quality of data, a packaged predictive neural network that will react, in a fraction of the traditional CAE time, to design changes.
Importantly, the delivered App is not a general-purpose solution that requires extensive training and adapting before becoming usable: usability problems are forgotten with a turnkey solution if initial planning occurs between Designers and Experts. It has been essential to leverage lessons learned from experiments in the early stages to have a now strongly consolidated methodology such as the illustrated one.
User Feedback from the Design Team and Use Case
NCS Production does more than help to obtain an optimal design. It can be integrated into the company's daily routine to counter the data inefficiencies and high computational costs that make traditional tools impractical at the production scale. A few of the feedbacks that were incorporated are the following:
- Be compatible with CAD interfaces from major vendors
- Lead from CAD to decision metrics without waiting (no need to use HPC or Cloud for simulations)
- Make simulation accessible to all designer engineers (immediate plug-and-play)
- Emulate high-fidelity simulation pipelines (CAD to postprocessing)
As an example of the usage to support design iteration, NCS could spare automotive designers having to continuously call back time-consuming CAE simulations in E-Drive motor housing design.
Conclusion: Benefits of Iterative Design Process
We have seen that the mechanism of feedback is necessary for biological and mechanical systems to adapt to an environment.
During design iterations, feedback occurs, allowing us to compare the quality of a solution to the initial baseline and the required targets (functional technical requirements, business targets and external constraints such as environmental regulations).
The way the iterative design process works is ready for the AI revolution that brings superhuman speed and lack of bias in many tasks that are otherwise becoming less and less cost-effective, such as the number of iterations between teams, the cost to build and maintain high fidelity prototypes either in the physical space (prototypes + testing) or in the virtual space (CAD + CAE simulation).
Using traditional high-fidelity approaches in validation phases, the AI-supported iterative design process will continually improve and meet ever wider and deeper user needs.