Skip to content

application for finite element analysis (FEA) and topology optimization of an *.stl file. leveraging VTK for data visualization.

License

Notifications You must be signed in to change notification settings

blackforestdev/topology_optimization_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

topology_optimization_app/README.md

Topology Optimization and Finite Element Analysis (FEA) Application

Project Overview

This application provides tools for topology optimization and finite element analysis (FEA), making advanced design techniques more accessible and affordable for hobbyists, makers, and students. It leverages the benefits of 3D printing and additive manufacturing to optimize for strength, weight reduction, and material savings.

Features

  • Topology Optimization: Advanced algorithms for optimizing material layout within a given design space.
  • Finite Element Analysis (FEA): Tools to analyze the structural performance of designs.
  • Interactive 3D Visualization: Integration with VTK for interactive visualization and selection of mesh regions.
  • User-friendly GUI: Easy-to-use graphical interface for managing the optimization and analysis process.

Installation

Prerequisites

Installing Dependencies

Create a virtual environment and install the required packages:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Cloning the Repository
git clone https://github.com/blackforestdev/topology_optimization_app.git
cd topology_optimization_app

#Usage
##Running the Application

###Activate the virtual environment and run the main script:
source venv/bin/activate
python3 main.py

#GUI Overview

    File Menu: Load and save project files.
    Optimization Menu: Set up and run topology optimization.
    Analysis Menu: Perform FEA on the optimized design.
    View Menu: Toggle different visualization options.

##Example Workflow

    Load an STL file of the design space.
    Set material properties, loads, and constraints.
    Run topology optimization to generate an optimized design.
    Perform FEA to validate the structural performance.
    Visualize the results in the 3D viewer.

#Directory Structure
topology_optimization_app/
├── fea/
│   ├── __init__.py
│   ├── fea_solver.py
│   ├── loads_and_constraints.py
│   ├── material_properties.py
│   ├── mesh_generation.py
├── gui/
│   ├── __init__.py
│   ├── app.py
│   ├── controls.py
│   ├── settings_dialogs.py
├── optimization/
│   ├── __init__.py
│   ├── algorithms.py
│   ├── solver.py
├── tools/
│   ├── test_pymesh.py
│   ├── test_vtk.py
│   ├── topop_program_settup.py
│   ├── vtkTkRenderWindowInteractor_test.py
├── utils/
│   ├── __init__.py
│   ├── file_utils.py
├── vtk_components/
│   ├── __init__.py
│   ├── interactor.py
│   ├── renderer.py
│   ├── vtk_utilities.py
├── main.py
└── requirements.txt

#Contributing

##Contributions are welcome! Please follow these steps to contribute:

    Fork the repository.
    Create a new branch (git checkout -b feature/your-feature).
    Commit your changes (git commit -m 'Add some feature').
    Push to the branch (git push origin feature/your-feature).
    Open a pull request.

#License

###This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements

    Special thanks to the open-source community for providing the tools and libraries used in this project.
    Inspired by various academic and industry research in topology optimization and finite element analysis.

#Contact

For any questions or feedback, please contact blackforestdev.

About

application for finite element analysis (FEA) and topology optimization of an *.stl file. leveraging VTK for data visualization.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages