Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

Example input matrix

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. image

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

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

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

  • 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.

About

A topology optimization attempt for RF simulations

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages