- Notifications
You must be signed in to change notification settings - Fork1
LC-Linkous/AntennaCalculationAutotuningTool
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Antenna Calculation and Autotuning Tool (AntennaCAT) is a comprehensive implementation of machine learning to automate, evaluate, and optimize the antenna design process using EM simulation software. It utilizes a combined antenna designer and internal calculator to accelerate the CAD construction and EM simulation of several common topologies, while eliminating model disparity for automated data collection.
AntennaCAT 2025.1 is live as of June 2025! We're excited to introduce some streamlined UI features, updated replication study templates, and some optimizer overhauls that include the ability to target threshold values instead of just targets!
We also have an article coming out! We are going to be in the June edition of IEEE Antennas and Propagation Magazine, which should be released in the next few weeks. To go with that release, we have the official AntennaCAT 2025.2! It will have some polished up features and a few new ones. As we work these new (and some previously unplanned) features into the software based on feedback and bug reports, thedevelopment branch of this repo has been introduced for anyone that wants a preview.
To those who have reached out about features (current, planned, and a few bugs), we want to say THANK YOU!! Your input has been greatly appreciated, especially in the early stages of this project and its development.
- Wiki and Documentation
- Current Release
- Release Schedule
- Requirements
- Organization
- Running
- Related Publications and Repositories
See theRelease Schedule below for code roll out updates.
As we prepare for major code releases, we're sharing information on the Wiki of how to download, set up and use AntennaCAT.
You canStart Here for general project information.
Pages are being updated daily, so check back in a few days if the information you're looking for hasn't been posted yet.
AntennaCAT 2025.1 is live!
What's happening now?
- Update to get inline with some ANSYS HFSS graphics changes, and some 2024/2025 features.
- Minor restructuring to get the save&load functionality switched over from a txt file to JSON. This was a requested feature, so it's been bumped up in priority. It's also a good time to clean up the 'file load' functions.
- Graphics library update for better previews and live parameter editing. Occasionally there’s some line-thickness issues that make it unclear if cuts are overlapping.
Why are we not matching the literature exactly?
- The driving goal behind the development of this software is for it to be useful and to encourage experimentation. Holding back features/functionality to be truer to the publications goes against that.
- Now that we have more users, we're getting feedback on how different versions of Windows and different setups work with AntennaCAT.
Why not release it all at once?
- The goal of several major releases close together is to have some roll-back points as collaborators join in and want to implement their own features. We won't wait to release what's already been implemented in recent publications, but there will be links to these 'check points' should anyone wish to download an earlier version.
Where are we so far?
- AntennaCAT 2025.1 is live!
We are in the quick release stage for several major features. See thePast Releases section on the Documentation Wiki page for the list of all releases. 2025.0, 2025.1, and 2025.2 and their corresponding lit will be listed in the Wiki.
What does that mean for code releases?
The code will always be released independently from the journal/magazine publication. While publications are awesome and we want to share what we're up to, sometimes we might move a little faster than planned. Or slower, because code takes time.
Post release 1, updates and code examples will be found athttps://lc-linkous.github.io/projects/antennaCAT AND thewiki
Documentation of usage examples will be posted in the Wiki on this page. The full explanation of all of the details that did not fit in the dissertation will begin appearing, but this may take some time
Stages of early 2025 major revision roll out:
AntennaCAT v. 2025.0
- The 12 topology replication set.
- All optimizers integrated fully with the GUI.
- This is the 'core' functionality of AntennaCAT without the add-ons.
- It sets us up for plugging in all of the developments from Summer 2024 onwards (2 conferences + dissertation)
AntennaCAT v. 2025.1
- Replication set updates from user feedback.
- Updated naming convention updates in the templates for the paramaterized HFSS files
- Surrogate model optimizers are integrated! Stress testing is ongoing to verify failed simulation recovery.
- Loading projects now has larger text boxes to make it easier to input parameter names
2024.0:
- This version is close to the early 2023 lit. All core AntennaCAT features - a stable first release so collaborators can find bugs while I document the newer updates. This release includes the calculator, several replication studies, the load/detect script features, optimizers WITHOUT the hyperparameter suggestion network. This version will be fully integrated with Ansys HFSS, with the template framework for the other EM simulation software included. Why not all of them hooked up? Licensing issue being handled over the academic Winter break so we can test on non-code development systems.
- The dissertation based on the AntennaCAT software has been released athttps://scholarscompass.vcu.edu/etd/7841/
- The individual optimizers have been released for unit testing
- The objective function library has been posted
- TheWiki is being updated daily
- Core features:
- theAntennaCalculator
- a couple of the replication studies (these are too useful to leave out)
- material dictionary #1 with ~25 common materials
- simulation setup
- batch data collection
- the optimizer set (without the ML additions and surrogate modeling)
- load/detect script features
- Ansys HFSS integration
- ANCAT project creation, basic save functionality (a newer feature, but not worth removing)
Library requirements for locally run Python code are included in requirements.txt and can beinstalled using 'pip install -r requirements.txt'
AntennaCAT has been tested with Python 3.9 (primary development), and 3.12 (specifically 3.12.7) for the 2024.0 release. Versions of Python between 3.9 and 3.12 are probably fine, but have not been tested.
cairocffi==0.9.0cffi==1.17.1contourpy==1.3.1cycler==0.12.1dxfgrabber==1.0.1ezdxf==1.3.4flexcache==0.3flexparser==0.4fonttools==4.55.0kiwisolver==1.4.7matplotlib==3.9.2numpy==2.1.3packaging==24.2pandas==2.2.3pcb-tools==0.1.6pcb-tools-extension==0.9.3pillow==11.0.0Pint==0.24.4platformdirs==4.3.6pycparser==2.22pyparsing==3.2.0python-dateutil==2.9.0.post0pytz==2024.2six==1.16.0typing_extensions==4.12.2tzdata==2024.2wxPython==4.2.2
Optionally, requirements can be installed manually with:
pip install wxPython, matplotlib, pandas, numpy, ezdxf, Pint, pcb-tools, pcb-tools-extension
The simplified project structure is shown below. Full file structure will be updated in the documentation for future collaboration efforts.
.├──AntennaCalculationAndAutotuning|├── .src# directory for source code of AntennaCAT.│ ││ ├── ...# root of the project code.│ ││ └──main.py# main program file. The project entry point.|├──README.md# this README.└──requirements.txt# project requirement minimum.
AntennaCAT and derivatives should be run from main.py, either in an IDE or with 'python main.py'.
While there are unit testing artifacts in some code files, entry at other points in the program will cause some features to not work.
It is recommended to run AntennaCAT in a virtual environment, but it is not a requirement.
L. Linkous, “Machine Learning Assisted Optimization for Calculation and Automated Tuning of Antennas,” VCU Scholars Compass, 2024.https://scholarscompass.vcu.edu/etd/7841/ (accessed Oct. 21, 2024).
L. Linkous, J. Lundquist, M. Suche and E. Topsakal, "Machine Learning Assisted Hyperparameter Tuning for Optimization," 2024 IEEE INC-USNC-URSI Radio Science Meeting (Joint with AP-S Symposium), Florence, Italy, 2024, pp. 107-108, doi: 10.23919/INC-USNC-URSI61303.2024.10632482.
L. Linkous and E. Topsakal, "Machine Learning Assisted Optimization Methods for Automated Antenna Design," 2024 United States National Committee of URSI National Radio Science Meeting (USNC-URSI NRSM), Boulder, CO, USA, 2024, pp. 377-378, doi: 10.23919/USNC-URSINRSM60317.2024.10464597. [Online:]https://ieeexplore.ieee.org/abstract/document/10464597
L. Linkous, J. Lundquist and E. Topsakal, "AntennaCAT: Automated Antenna Design and Tuning Tool," 2023 IEEE USNC-URSI Radio Science Meeting (Joint with AP-S Symposium), Portland, OR, USA, 2023, pp. 89-90, doi: 10.23919/USNC-URSI54200.2023.10289238. [Online:]https://ieeexplore.ieee.org/abstract/document/10289238
E. Karincic, E. Topsakal, and L. Linkous. "Patch Antenna Calculations and Fabrication Made Simple for Cyber Security Research," 2023 ASEE Annual Conference & Exposition, Baltimore , Maryland, 2023, June. ASEE Conferences, 2023. [Online:]https://peer.asee.org/43974
L. Linkous, E. Karincic, J. Lundquist and E. Topsakal, "Automated Antenna Calculation, Design and Tuning Tool for HFSS," 2023 United States National Committee of URSI National Radio Science Meeting (USNC-URSI NRSM), Boulder, CO, USA, 2023, pp. 229-230, doi: 10.23919/USNC-URSINRSM57470.2023.10043119. [Online:]https://ieeexplore.ieee.org/abstract/document/10043119
Individual Optimizer Repositories:
Base Optimizer | Alternate Version | Quantum-Inspired Optimizer | Surrogate Model Version |
---|---|---|---|
pso_python | pso_basic | pso_quantum | all versions are options insurrogate_model_optimization |
cat_swarm_python | sand_cat_python | cat_swarm_quantum | all versions are options insurrogate_model_optimization |
chicken_swarm_python | 2015_improved_chicken_swarm 2022 improved chicken swarm | chicken_swarm_quantum | all versions are options insurrogate_model_optimization |
sweep_python | *alternates in base repo | - | - |
bayesian optimization_python | - | - | *interchangeable surrogate models included in base repo |
multi_glods_python | GLODS DIRECT | - | multiGLODS option insurrogate_model_optimization |
TheObjective Function Test Suite used to collect performance data on the individual optimizers is now public.
About
Antenna Calculation and Autotuning (AntennaCAT) is a comprehensive implementation of machine learning to automate, evaluate, and optimize the antenna design process using EM simulation software.
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.