Polymesher¶
Reference: Talischi, C., Paulino, G.H., Pereira, A. et al. PolyMesher: a general-purpose mesh generator for polygonal elements written in Matlab. Struct Multidisc Optim 45, 309–328 (2012). https://doi.org/10.1007/s00158-011-0706-z
[ ]:
from optymus.methods import polymesher
from optymus.benchmark import (
MbbDomain,
HornDomain,
CookDomain,
WrenchDomain,
MichellDomain,
SuspensionDomain,
)
[ ]:
MbbDomain.plot()
[ ]:
horn = polymesher(domain=HornDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 173.27step/s, Error=0.00328, Iteration=100, Time=0.516]
Iterations: 100%|██████████| 100/100 [00:00<00:00, 128.16step/s, Error=0.00328, Iteration=100, Time=0.516]
[ ]:
mbb = polymesher(domain=MbbDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 138.37step/s, Error=0.0017, Iteration=100, Time=0.591]
Iterations: 100%|██████████| 100/100 [00:00<00:00, 105.30step/s, Error=0.0017, Iteration=100, Time=0.591]
[ ]:
cook = polymesher(domain=CookDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 164.24step/s, Error=0.00183, Iteration=100, Time=0.54]
Iterations: 100%|██████████| 100/100 [00:00<00:00, 105.29step/s, Error=0.00183, Iteration=100, Time=0.54]
[ ]:
wrench = polymesher(domain=WrenchDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 154.91step/s, Error=0.00348, Iteration=100, Time=0.553]
Iterations: 100%|██████████| 100/100 [00:00<00:00, 113.93step/s, Error=0.00348, Iteration=100, Time=0.553]
[ ]:
michell = polymesher(domain=MichellDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 178.35step/s, Error=0.00239, Iteration=100, Time=0.458]
Iterations: 100%|██████████| 100/100 [00:00<00:00, 136.75step/s, Error=0.00239, Iteration=100, Time=0.458]
[ ]:
suspension = polymesher(domain=SuspensionDomain, n_elements=100, max_iter=100)
Iterations: 100%|██████████| 100/100 [00:00<00:00, 119.56step/s, Error=0.00317, Iteration=100, Time=0.701]
Iterations: 100%|██████████| 100/100 [00:01<00:00, 92.70step/s, Error=0.00317, Iteration=100, Time=0.701]