Machine Design Optimiser (MDO)¶
General Description¶
The AI-based tool for the design phase of mechanisms and dynamic machines encompasses various modules to address the complexities of optimizing dynamic systems. These modules aim to support the design process by creating models that establish relationships between machine performance indicators and design parameters. These models can be either data-driven or based on machine physics, allowing for flexibility in the design process.
The AI-assistant within the tool enables users to modify design parameters based on objective functions and criteria. Manufacturing and operation constraints, as well as boundary conditions, are defined to ensure the parameters fall within applicable ranges. Target criteria are established and weighted according to their importance, enabling the optimization of CAD parameters.
Additionally, the tool takes into account the evolution of machines over their lifecycle, considering advanced effects such as clearance, flexibility, thermal influences, and fatigue crack evolution. The impact of design parameters on these effects is analyzed to enhance the understanding of machine behavior.
Parametric models play a crucial role in the development of the AI module, incorporating optimization criteria for machine components. These models provide a framework for incorporating design parameters and optimization goals into the AI-assisted design process, facilitating efficient and effective design optimization for mechanisms and dynamic machines.
Usage Viewpoint¶
Use Model¶
Description¶
Environment configuration: MDO user (operator) define the process parameters for the MDO Module. These parameters are mainly of the machine to analyse, the simulation model (for model-based approach) or experimental database (for data-based approach). Based on this information the user must define the objective and the design parameters to use for the optimization process.
Deployment: Based on the information defined in the previous step the operator configures the parameters of the maximum number of itereations. As output the user will receive the optimal parameter proposal, and some sensibility graphs to evaluate the robustness of the solution.
Home page¶
Configuration¶
Evaluation¶
Usage activity diagram¶
The following image depicts the Usage Activity Diagram for the Machine Synthetic Data Generator. Note that Tasks labelled with “Manage” indicate a set of functions that are clustered here for better overview.
Functional Viewpoint¶
Functional diagram¶
Functional description¶
What: The main feature of this component is to find the optimal configuration of design parameters that gives the best performance of the machine.
Who: Design Engineer.
Where: Enterprise Tier.
Why: To find the best performance design for the application.
Input and output data for each component¶
Load machine configuration¶
Inputs:
Machine type – Machine in which the optimization process is developed.
Machine simulation model – Selection of the simulation model or experimental database of the machine configuration.
Design parameters – Subsets of machine design parameters that will be used to find the optimal solution.
Outputs:
Machine optimal parameters.
Configure optimization¶
Inputs:
Objective: Performance definition of the machine. Performance can be defined as a weighted sum of different performances.
Process – optimization process control parameters, to define the end of the simulation process.
Outputs:
Optimization process launcher.
The launcher, driven by the AI optimization process will call the simulation model automatically.
Perform optimization¶
Inputs:
Simulation model (Model-based or data-based simulation model)
Outputs:
Objectives evaluation for different configurations of model variables.
Evaluation¶
Inputs:
Optimization process solutions: Variables, objectives
Outputs:
Relation between the objective and the parameter values.
Pareto graphs in case various sub objectives are defined.
Software requirements¶
Software Component |
Description/Role |
Required Version/Configuration |
Dependencies |
---|---|---|---|
Windows OS |
Operating system needed to use the tool |
Windows 10 Pro |
N/A |
Docker |
Build, share and run containers |
latest |
N/A |
Lifecycle¶
This sequence diagram illustrates the flow of interactions between the User, Frontend, Backend and Data/Files objects during the main processes: login into the AIDEAS platform, configure the optimisation and apply it.
Objects¶
User: Represents the User interacting with the application.
Frontend: Represents the user interface and the presentation layer.
Backend: Represents the application logic and the server layer.
Database/Files: Represents the data or file storage layer.
Implementation Viewpoint¶
Description of implementation Component:¶
AI-MDO is a toolkit to optimally define the key design parameters of a machine considering its whole life.
Technical Description of its Components:¶
Dependencies:
Development Language: - Python
Libraries: NumPy, Pandas, SciPy, Keras, Py Torch, TensorFlow
Container: Docker
Database need: MongoDB
Interfaces:
User Interface: Yes, REACT
Synchronous/Asynchronous Interface: RESTful APIs
Network/Protocols: HTTP/HTTPS
Data Repository: MongoDB
Requires:
Other AIDEAS Solutions: none
Solution architecture¶
The AI-MDO backend development in Python utilizing popular libraries such as NumPy, Pandas, SciPy, Keras, PyTorch, and TensorFlow aligns with industry standards for data science and machine learning. NumPy provides efficient array and matrix processing capabilities, while Pandas offers comprehensive data analysis and processing functionalities. SciPy complements these libraries with additional scientific computing tools.
The use of machine learning libraries like Keras, PyTorch, and TensorFlow enables the training and evaluation of machine learning models, providing flexibility and a wide range of algorithms and techniques for optimization. These libraries are widely adopted and provide extensive support for building and deploying machine learning models.
On the frontend side, the use of REACT, a popular JavaScript library, ensures a responsive and interactive user interface. Redux is employed to manage the application state efficiently, enabling seamless updates and synchronization between components.
The communication between the backend and frontend is facilitated by a RESTful API, which follows standard protocols for data exchange. Using HTTPS protocols ensures secure transmission of data between the client and server.
To streamline the deployment process and ensure portability, Docker is employed. Docker allows for packaging all the necessary dependencies and components required for the software to run efficiently. This simplifies the setup and deployment of the AI-MDO system.
Tools like Postman can be used to test the API endpoints, facilitating the development and debugging process.
Overall, the chosen technologies and frameworks for both backend and frontend development, along with the use of Docker for containerization, provide a robust and scalable foundation for the AI-MDO system.