https://github.com/0xcoto/topopt
A topology optimization attempt for RF simulations
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.7%) to scientific vocabulary
Repository
A topology optimization attempt for RF simulations
Basic Info
- Host: GitHub
- Owner: 0xCoto
- License: gpl-3.0
- Language: Python
- Default Branch: windows
- Size: 43.9 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
topopt
A topology optimization attempt for RF simulations
create.py takes a three-dimensional pattern input, e.g., a 5x5x5 binary matrix (space), with a resolution of 1x1x1 mm, as defined in block_size.
- Debian branch: https://github.com/0xCoto/topopt/blob/debian
- Windows branch: https://github.com/0xCoto/topopt/blob/windows
Example input matrix
python
space = [
[[0,1,0,0,1], [1,0,0,1,0], [0,1,0,1,1], [0,0,0,1,1], [0,1,1,0,1]],
[[1,1,1,0,1], [0,0,0,1,0], [0,0,1,1,1], [0,0,0,1,1], [0,1,0,0,0]],
[[0,1,0,1,0], [1,1,0,0,0], [1,0,0,1,0], [0,1,1,1,0], [0,1,1,1,1]],
[[0,1,0,1,0], [0,1,0,1,1], [1,1,0,1,0], [1,0,0,1,0], [0,0,0,0,0]],
[[1,0,0,1,1], [0,1,1,0,1], [0,1,0,1,1], [0,1,1,0,1], [1,0,1,0,0]],
]
After converting to a binary array, a cell value of False indicates material absence at the associated matrix index, while True indicates material presence.
The output is a ~~STEP~~ STL file with all the created objects included.

Open issues
Multi-material definition
This could be achieved by either creating multiple space objects, each corresponding to a unique material (STL file), or by assigning non-binary integer/real values to the matrix.
Binary optimization
Many algorithms have to be tested to evaluate which optimization technique performs best for this problem. A variety of optimization methods can be adapted to alternate binary values in the matrix by setting appropriate constraints, i.e. stating the linear problem in the form of:
Minimize/maximize:
|S_ij(frequency)|
Subject to:
Row constraints
py
x11+x12+x13+x14+x15 = 1
x21+x22+x23+x24+x25 = 1
x31+x32+x33+x34+x35 = 1
x41+x42+x43+x44+x45 = 1
x51+x52+x53+x54+x55 = 1
Column constraints
py
x11+x21+x31+x41+x51 = 1
x12+x22+x32+x42+x52 = 1
x13+x23+x33+x43+x53 = 1
x14+x24+x34+x44+x54 = 1
x15+x25+x35+x45+x55 = 1
Solver API
- [x] ~~An E/M solver API shall be made use of/crafted to be called by the optimizer to evaluate the simulated scattering parameter magnitude at the frequency of interest (objective function)~~ - Done.
Owner
- Name: Apostolos
- Login: 0xCoto
- Kind: user
- Repositories: 2
- Profile: https://github.com/0xCoto
Contact: 0xcoto@protonmail.com
GitHub Events
Total
Last Year
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Apostolos | c****r@g****m | 14 |
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- 0xCoto (1)