Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"cells": [
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"┌ Info: Precompiling VectorizedRoutines [0e69188a-a5d4-5622-b4e4-a72373136fc5]\n",
"└ @ Base loading.jl:1242\n"
]
}
],
"source": [
"using LinearAlgebra\n",
"using Plots\n",
"import JSON\n",
"using SparseArrays\n",
"using Images\n",
"using StaticArrays, BenchmarkTools\n",
"using VectorizedRoutines"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# based on https://paulino.ce.gatech.edu/conferences/papers/11pereira_anefficientandcompact.pdf and http://www.topopt.mek.dtu.dk/apps-and-software and https://github.com/blademwang11/Topopt/blob/master/top.jl"
]
},
{
"cell_type": "code",
"execution_count": 208,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Minimum compliance problem with OC\n",
"ndes: 180 x 60\n",
"volfrac: 0.4 rmin: 5.4 penal: 3.0\n",
" It:1 Obj:2027.5045897869754 Vol:0.40009542277892857 ch:0.20000000000000007 \n",
" It:2 Obj:1114.7016909445497 Vol:0.39999020279385833 ch:0.20000000000000007 \n",
" It:3 Obj:753.4184494393503 Vol:0.3999502677408073 ch:0.20000000000000007 \n",
" It:4 Obj:589.4415635399109 Vol:0.3999064413649337 ch:0.20000000000000007 \n",
" It:5 Obj:523.5760184027803 Vol:0.39979707078545607 ch:0.20000000000000007 \n",
" It:6 Obj:488.20184734540385 Vol:0.40009815713720864 ch:0.20000000000000007 \n",
" It:7 Obj:461.50052379589266 Vol:0.39996756594927774 ch:0.18770060047517856 \n",
" It:8 Obj:436.72776763237124 Vol:0.39997068078062337 ch:0.20000000000000007 \n",
" It:9 Obj:410.4692046583736 Vol:0.3999688727716305 ch:0.18787745329341016 \n",
" It:10 Obj:384.72649110474407 Vol:0.39986313163500126 ch:0.20000000000000007 \n",
" It:11 Obj:357.16627586508287 Vol:0.3999089619253164 ch:0.20000000000000007 \n",
" It:12 Obj:330.7267430567433 Vol:0.3999587977615742 ch:0.20000000000000007 \n",
" It:13 Obj:306.3854736897865 Vol:0.4000005457148307 ch:0.20000000000000007 \n",
" It:14 Obj:288.2315743878585 Vol:0.3999937032654836 ch:0.20000000000000007 \n",
" It:15 Obj:274.1857794613026 Vol:0.4000924533597078 ch:0.20000000000000007 \n",
" It:16 Obj:264.94569800587306 Vol:0.39991093897094926 ch:0.20000000000000007 \n",
" It:17 Obj:258.778788272396 Vol:0.40001652314033975 ch:0.20000000000000007 \n",
" It:18 Obj:253.94126738777538 Vol:0.4000506838849397 ch:0.20000000000000007 \n",
" It:19 Obj:250.66709616220618 Vol:0.39995490846201837 ch:0.20000000000000007 \n",
" It:20 Obj:248.25606527431827 Vol:0.3999689511352107 ch:0.20000000000000007 \n",
" It:21 Obj:245.94860165486534 Vol:0.3999625987049225 ch:0.20000000000000007 \n",
" It:22 Obj:243.74888320454812 Vol:0.40001523279698936 ch:0.20000000000000007 \n",
" It:23 Obj:241.74248423356713 Vol:0.3999991521014942 ch:0.20000000000000007 \n",
" It:24 Obj:240.15060386653911 Vol:0.39998006686729326 ch:0.19999999999999996 \n",
" It:25 Obj:238.9851828092882 Vol:0.3999868095951767 ch:0.20000000000000007 \n",
" It:26 Obj:238.2883622637742 Vol:0.3999890832908555 ch:0.20000000000000007 \n",
" It:27 Obj:237.70769589450794 Vol:0.39999265369511483 ch:0.20000000000000007 \n",
" It:28 Obj:237.2033385405354 Vol:0.3999873297303694 ch:0.20000000000000007 \n",
" It:29 Obj:236.7785782018123 Vol:0.4000004750882039 ch:0.20000000000000007 \n",
" It:30 Obj:236.38528197169884 Vol:0.40000930032038495 ch:0.20000000000000007 \n",
" It:31 Obj:236.01340184664818 Vol:0.39999547693055404 ch:0.20000000000000007 \n",
" It:32 Obj:235.68010033105958 Vol:0.3999863076827155 ch:0.20000000000000007 \n",
" It:33 Obj:235.34882677219787 Vol:0.399983492944396 ch:0.20000000000000007 \n",
" It:34 Obj:235.00188861867923 Vol:0.3999783526503072 ch:0.20000000000000007 \n",
" It:35 Obj:234.58246976540124 Vol:0.40001220457009634 ch:0.20000000000000007 \n",
" It:36 Obj:234.05200277972634 Vol:0.40000949855543694 ch:0.19999999999999996 \n",
" It:37 Obj:233.55899380756705 Vol:0.4000110177511946 ch:0.18617336635466353 \n",
" It:38 Obj:233.27010786399626 Vol:0.4000069938539628 ch:0.17978142653742213 \n",
" It:39 Obj:233.11518441068577 Vol:0.4000063017627396 ch:0.20000000000000007 \n",
" It:40 Obj:232.97338235727568 Vol:0.40000306597933594 ch:0.20000000000000007 \n",
" It:41 Obj:232.84740529927114 Vol:0.40000893315187996 ch:0.19389816395843684 \n",
" It:42 Obj:232.72590359510704 Vol:0.4000186686660424 ch:0.18505513698340847 \n",
" It:43 Obj:232.61140255654325 Vol:0.400016677927953 ch:0.19999999999999996 \n",
" It:44 Obj:232.4992077261653 Vol:0.4000186108562634 ch:0.20000000000000007 \n",
" It:45 Obj:232.3858313790211 Vol:0.39997875918956705 ch:0.18327746197747163 \n",
" It:46 Obj:232.30661116189532 Vol:0.40000973547322244 ch:0.19999999999999996 \n",
" It:47 Obj:232.15853579148654 Vol:0.40001168068250686 ch:0.19999999999999996 \n",
" It:48 Obj:232.053578645034 Vol:0.4000093199237478 ch:0.1905299525710673 \n",
" It:49 Obj:231.9449504778675 Vol:0.4000029303868017 ch:0.20000000000000007 \n",
" It:50 Obj:231.85252598763685 Vol:0.39999374282219546 ch:0.19999999999999996 \n",
" It:51 Obj:231.7803279999307 Vol:0.4000061150743422 ch:0.20000000000000007 \n",
" It:52 Obj:231.70429963617062 Vol:0.40000693539397547 ch:0.19999999999999996 \n",
" It:53 Obj:231.64871048345847 Vol:0.39999783954100687 ch:0.19999999999999996 \n",
" It:54 Obj:231.60544645904872 Vol:0.4000038082639503 ch:0.19999999999999996 \n",
" It:55 Obj:231.5490138260903 Vol:0.4000031973739572 ch:0.20000000000000007 \n",
" It:56 Obj:231.51023671347502 Vol:0.39999194653001385 ch:0.19999999999999996 \n",
" It:57 Obj:231.4813083608297 Vol:0.39999922260188936 ch:0.19999999999999996 \n",
" It:58 Obj:231.4378185297698 Vol:0.39998697695130736 ch:0.20000000000000007 \n",
" It:59 Obj:231.42354630492807 Vol:0.40000608616923794 ch:0.20000000000000007 \n",
" It:60 Obj:231.3741601994792 Vol:0.4000044769429046 ch:0.20000000000000007 \n",
" It:61 Obj:231.35808804896516 Vol:0.4000047745231512 ch:0.19999999999999996 \n",
" It:62 Obj:231.33046713293854 Vol:0.4000023069999686 ch:0.19999999999999996 \n",
" It:63 Obj:231.31242226625997 Vol:0.40000604490383124 ch:0.20000000000000007 \n",
" It:64 Obj:231.2859561188247 Vol:0.4000088288999765 ch:0.19999999999999996 \n",
" It:65 Obj:231.26388971006176 Vol:0.3999902272723369 ch:0.20000000000000007 \n",
" It:66 Obj:231.26360775967555 Vol:0.4000028436763249 ch:0.2 \n",
" It:67 Obj:231.21052887334906 Vol:0.39998363387917835 ch:0.20000000000000007 \n",
" It:68 Obj:231.16126282828367 Vol:0.3999966595140699 ch:0.20000000000000007 \n",
" It:69 Obj:231.00955474316663 Vol:0.3999948093069101 ch:0.2 \n",
" It:70 Obj:230.84962914564034 Vol:0.3999994675102865 ch:0.20000000000000007 \n",
" It:71 Obj:230.72174862728477 Vol:0.4000070854760428 ch:0.10831384065901184 \n",
" It:72 Obj:230.6652257431345 Vol:0.3999979551430493 ch:0.10467794427747956 \n",
" It:73 Obj:230.65216672164127 Vol:0.4000137571485584 ch:0.11465852537583232 \n",
" It:74 Obj:230.62407943059083 Vol:0.39998860392602525 ch:0.10727277810298819 \n",
" It:75 Obj:230.64000357471792 Vol:0.3999999847837149 ch:0.09043574537315746 \n",
" It:76 Obj:230.60332563808464 Vol:0.39999633016805797 ch:0.09966436564085313 \n",
" It:77 Obj:230.6029927416497 Vol:0.40000815018720576 ch:0.10568588951008007 \n",
" It:78 Obj:230.58424001449677 Vol:0.400012237813244 ch:0.0857765548662438 \n",
" It:79 Obj:230.57582506098322 Vol:0.3999922812211131 ch:0.09163559738827798 \n",
" It:80 Obj:230.59135657580924 Vol:0.40000796430569163 ch:0.10038008813144539 \n",
" It:81 Obj:230.55945926383777 Vol:0.40000784951599655 ch:0.09343351317216542 \n",
" It:82 Obj:230.5560907696892 Vol:0.4000125145408255 ch:0.1047787660774191 \n",
" It:83 Obj:230.5416919096785 Vol:0.40000971837483695 ch:0.10241141085253858 \n",
" It:84 Obj:230.5386959339299 Vol:0.4000013776524882 ch:0.1001918822636847 \n",
" It:85 Obj:230.5379249281579 Vol:0.40000766033727647 ch:0.08117966609068494 \n",
" It:86 Obj:230.52403122345746 Vol:0.4000118783484707 ch:0.09106458518806149 \n",
" It:87 Obj:230.52192392948672 Vol:0.4000005918048181 ch:0.09968899731685321 \n",
" It:88 Obj:230.53975249216543 Vol:0.4000012273360151 ch:0.10993967990187825 \n",
" It:89 Obj:230.53879340153085 Vol:0.39999496378883914 ch:0.08373973218385711 \n",
" It:90 Obj:230.54443930328696 Vol:0.3999959315381369 ch:0.09356921335699042 \n",
" It:91 Obj:230.54567825614973 Vol:0.4000062213930901 ch:0.1040387746496565 \n",
" It:92 Obj:230.54346314286468 Vol:0.3999921436372145 ch:0.11365156776338747 \n",
" It:93 Obj:230.56712462359442 Vol:0.399999515576815 ch:0.10713271479092734 \n",
" It:94 Obj:230.54644444174556 Vol:0.4000097301170341 ch:0.08436647674690345 \n",
" It:95 Obj:230.52790300922828 Vol:0.39999166429831345 ch:0.08181782489274836 \n",
" It:96 Obj:230.54581782342933 Vol:0.3999921044174427 ch:0.08772236436718661 \n",
" It:97 Obj:230.53555644656538 Vol:0.39999879026960117 ch:0.09300957627295148 \n",
" It:98 Obj:230.52939863197176 Vol:0.40000229020843686 ch:0.10287740536142964 \n",
" It:99 Obj:230.52201967556425 Vol:0.40000942491006114 ch:0.11407316014985758 \n",
" It:100 Obj:230.5143220195186 Vol:0.40001105549662835 ch:0.08851946352667905 \n",
" It:101 Obj:230.5093273235246 Vol:0.39999182987697646 ch:0.0965405661451545 \n",
" It:102 Obj:230.5298516523536 Vol:0.3999900863850748 ch:0.10720168704035149 \n",
" It:103 Obj:230.52559198178662 Vol:0.4000084142015186 ch:0.10033559971908346 \n",
" It:104 Obj:230.5016900582213 Vol:0.3999978597615209 ch:0.11006873909633441 \n",
" It:105 Obj:230.52081745179677 Vol:0.4000010895851494 ch:0.08658069717768568 \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" It:106 Obj:230.51132470848992 Vol:0.39999947831401633 ch:0.09643395346865746 \n",
" It:107 Obj:230.51171441015492 Vol:0.4000082830708686 ch:0.10680940157333807 \n",
" It:108 Obj:230.50451233709833 Vol:0.399997570234539 ch:0.11598006529983185 \n",
" It:109 Obj:230.52453728239152 Vol:0.399990521141379 ch:0.10908467195033222 \n",
" It:110 Obj:230.5275773026536 Vol:0.39998979904982274 ch:0.10092390101429727 \n",
" It:111 Obj:230.53013534123662 Vol:0.3999907263706001 ch:0.09067101524408527 \n",
" It:112 Obj:230.52974587932454 Vol:0.3999989623616449 ch:0.10085857119458874 \n",
" It:113 Obj:230.5271799269135 Vol:0.3999919348988265 ch:0.11008409476681824 \n",
" It:114 Obj:230.54855229371913 Vol:0.3999920718452961 ch:0.10900180315672758 \n",
" It:115 Obj:230.55158447390113 Vol:0.3999896485271591 ch:0.1095730412959961 \n",
" It:116 Obj:230.55914068311336 Vol:0.40001112222536994 ch:0.07875514932727634 \n",
" It:117 Obj:230.53553019985182 Vol:0.40000955223062806 ch:0.0885769151877358 \n",
" It:118 Obj:230.55544485913543 Vol:0.39999964404393384 ch:0.0985676916848871 \n",
" It:119 Obj:230.57259148031483 Vol:0.4000035664826363 ch:0.11024101864302271 \n",
" It:120 Obj:230.5733632730787 Vol:0.39999038856788016 ch:0.10732711078162382 \n",
" It:121 Obj:230.60011600076842 Vol:0.3999980124666443 ch:0.08403713944101132 \n",
" It:122 Obj:230.5835697183139 Vol:0.40000594209746043 ch:0.09357551025154975 \n",
" It:123 Obj:230.58776259800567 Vol:0.40000382992354094 ch:0.10280483032184629 \n",
" It:124 Obj:230.60677028269117 Vol:0.39999532684948763 ch:0.11321479785698918 \n",
" It:125 Obj:230.63272714212167 Vol:0.3999924424734859 ch:0.11350920836970979 \n",
" It:126 Obj:230.6450324474306 Vol:0.40000784284550367 ch:0.09362909438067024 \n",
" It:127 Obj:230.63331504634988 Vol:0.4000044307302197 ch:0.09963209641199655 \n",
" It:128 Obj:230.66071323958326 Vol:0.4000016074862809 ch:0.09886603383294557 \n",
" It:129 Obj:230.6685160231628 Vol:0.3999950345293098 ch:0.11096744623460353 \n",
" It:130 Obj:230.68123232474105 Vol:0.3999974344036957 ch:0.12078380364341168 \n",
" It:131 Obj:230.68621396923368 Vol:0.3999943759590862 ch:0.07720741591453695 \n",
" It:132 Obj:230.6943644359299 Vol:0.39999627024259016 ch:0.08835928775399415 \n",
" It:133 Obj:230.698405158678 Vol:0.4000052458324285 ch:0.10038579062527675 \n",
" It:134 Obj:230.69990964389723 Vol:0.4000012819356083 ch:0.111405915776432 \n",
" It:135 Obj:230.72469982234676 Vol:0.3999906951851086 ch:0.12225522850157589 \n",
" It:136 Obj:230.7550242959922 Vol:0.40001057667239903 ch:0.07750808872834275 \n",
" It:137 Obj:230.7279773227763 Vol:0.3999941896904671 ch:0.0878630227174585 \n",
" It:138 Obj:230.76312080793247 Vol:0.39999535031719113 ch:0.10001036730349822 \n",
" It:139 Obj:230.76494240298913 Vol:0.3999993916680073 ch:0.11290544596639485 \n",
" It:140 Obj:230.7720606080953 Vol:0.39999007905922773 ch:0.1244583292340169 \n",
" It:141 Obj:230.79901431668856 Vol:0.40000399750018417 ch:0.09087802016701774 \n",
" It:142 Obj:230.78420435144045 Vol:0.39999175812322846 ch:0.10157194937365721 \n",
" It:143 Obj:230.81703621414795 Vol:0.3999965930719082 ch:0.1148970660867098 \n",
" It:144 Obj:230.82118071974617 Vol:0.4000060181131577 ch:0.12806886012738328 \n",
" It:145 Obj:230.82961677532086 Vol:0.40000873685852334 ch:0.12546987578770585 \n",
" It:146 Obj:230.84067198805784 Vol:0.4000037625339007 ch:0.0921554359585911 \n",
" It:147 Obj:230.8514729181254 Vol:0.40000071686260763 ch:0.10354313587998498 \n",
" It:148 Obj:230.86143922947474 Vol:0.40000492914456637 ch:0.11580415289937462 \n",
" It:149 Obj:230.86760134371528 Vol:0.39999238455857855 ch:0.11029743382854407 \n",
" It:150 Obj:230.89868036614638 Vol:0.40000691256814846 ch:0.12571705737730876 \n",
" It:151 Obj:230.88554957491016 Vol:0.4000098992662701 ch:0.07444768699597948 \n",
" It:152 Obj:230.8940862492192 Vol:0.399997420810854 ch:0.08463996536804708 \n",
" It:153 Obj:230.92161374805983 Vol:0.399995799509448 ch:0.09709593539143535 \n",
" It:154 Obj:230.92985394614337 Vol:0.40000135392294295 ch:0.11043935695293716 \n",
" It:155 Obj:230.93639505538277 Vol:0.40000984691032315 ch:0.12450751243090019 \n",
" It:156 Obj:230.93983297732888 Vol:0.40000959226467053 ch:0.07409131925859652 \n",
" It:157 Obj:230.9454644366964 Vol:0.3999908716153634 ch:0.08419564422387771 \n",
" It:158 Obj:230.97316522681592 Vol:0.40000647277326057 ch:0.09805444535959451 \n",
" It:159 Obj:230.95113682866628 Vol:0.40000115308337203 ch:0.11036558999262047 \n",
" It:160 Obj:230.97026304685792 Vol:0.3999890817725564 ch:0.12279396375397611 \n",
" It:161 Obj:230.98619117153032 Vol:0.3999973251643885 ch:0.08655716953444337 \n",
" It:162 Obj:230.96154154950108 Vol:0.39999246391721105 ch:0.0942171335942309 \n",
" It:163 Obj:230.95792297837238 Vol:0.39999371585528637 ch:0.10795863296865504 \n",
" It:164 Obj:230.94899280785802 Vol:0.399999517391223 ch:0.1296387738520669 \n",
" It:165 Obj:230.94226760687297 Vol:0.40000835702141674 ch:0.1536076526809087 \n",
" It:166 Obj:230.94106107777304 Vol:0.4000023734287374 ch:0.10162894361197061 \n",
" It:167 Obj:230.95856872845152 Vol:0.39999103443670686 ch:0.09128460065898647 \n",
" It:168 Obj:230.97162773521904 Vol:0.4000083091895935 ch:0.10665424387418121 \n",
" It:169 Obj:230.95184427095012 Vol:0.4000041099178935 ch:0.12043181453961616 \n",
" It:170 Obj:230.97515632071367 Vol:0.4000105062875789 ch:0.1362109275419654 \n",
" It:171 Obj:230.97857674684894 Vol:0.40000650214960254 ch:0.09323376524579208 \n",
" It:172 Obj:230.98952289454027 Vol:0.40000233590823125 ch:0.10105207897328594 \n",
" It:173 Obj:230.99658790581543 Vol:0.39999415534628807 ch:0.11460722174472937 \n",
" It:174 Obj:231.0051827062066 Vol:0.4000098928486465 ch:0.132418441857875 \n",
" It:175 Obj:230.98451051731212 Vol:0.40000111912918873 ch:0.08318806816859409 \n",
" It:176 Obj:231.00593889218675 Vol:0.399999807012237 ch:0.09649354565709589 \n",
" It:177 Obj:231.00693248932419 Vol:0.4000044858941082 ch:0.11182170380217726 \n",
" It:178 Obj:231.00781832727802 Vol:0.39999428438290335 ch:0.12658171422865128 \n",
" It:179 Obj:231.03136361788532 Vol:0.40000628569707 ch:0.1145858130834625 \n",
" It:180 Obj:231.01385422787445 Vol:0.4000080478765347 ch:0.09566934570640673 \n",
" It:181 Obj:231.0164134076793 Vol:0.39999580578746535 ch:0.10996301504763795 \n",
" It:182 Obj:231.0394784131991 Vol:0.39999337329214507 ch:0.12641299339540435 \n",
" It:183 Obj:231.0437156780357 Vol:0.3999977184987514 ch:0.13393386118319517 \n",
" It:184 Obj:231.04594870333494 Vol:0.3999958115286606 ch:0.09573245374895101 \n",
" It:185 Obj:231.05110711236202 Vol:0.39999921136024036 ch:0.11149952022076359 \n",
" It:186 Obj:231.05346008154893 Vol:0.3999922926112615 ch:0.1268417084549589 \n",
" It:187 Obj:231.07688705156727 Vol:0.4000019187557982 ch:0.1348819232627143 \n",
" It:188 Obj:231.0787061887543 Vol:0.4000089447930201 ch:0.1068944507850349 \n",
" It:189 Obj:231.08526444069798 Vol:0.4000051928609652 ch:0.12272139340116728 \n",
" It:190 Obj:231.11546727692703 Vol:0.40000524775158175 ch:0.1296177953573282 \n",
" It:191 Obj:231.13122799343785 Vol:0.3999999793035724 ch:0.13406327204708257 \n",
" It:192 Obj:231.14835759485965 Vol:0.3999938378024899 ch:0.15640748412247818 \n",
" It:193 Obj:231.1628534206731 Vol:0.4000072591229263 ch:0.12107061492072047 \n",
" It:194 Obj:231.15239692620196 Vol:0.3999981971561202 ch:0.13750828506418444 \n",
" It:195 Obj:231.17878669348468 Vol:0.3999976153960763 ch:0.09718297639457862 \n",
" It:196 Obj:231.1809111954642 Vol:0.3999924575369553 ch:0.1130525970987567 \n",
" It:197 Obj:231.1837399067217 Vol:0.39999541875281147 ch:0.1309675756694556 \n",
" It:198 Obj:231.18075342349744 Vol:0.4000033675183219 ch:0.14148111212804526 \n",
" It:199 Obj:231.18329250246524 Vol:0.4000055330384655 ch:0.15206876386094348 \n",
" It:200 Obj:231.19803307372757 Vol:0.40000297295589715 ch:0.12787253977362667 \n",
" It:201 Obj:231.23274731342076 Vol:0.40000991565609884 ch:0.14710889594259924 \n",
" It:202 Obj:231.25332472157427 Vol:0.399999013678753 ch:0.10862748442284353 \n",
" It:203 Obj:231.29382336460657 Vol:0.4000063942937442 ch:0.1265612560241609 \n",
" It:204 Obj:231.31013210837995 Vol:0.4000040040578726 ch:0.14410307565186808 \n",
" It:205 Obj:231.35031269429206 Vol:0.4000065631467974 ch:0.11046188231096454 \n",
" It:206 Obj:231.3734757051509 Vol:0.3999928343005789 ch:0.12690089307633579 \n",
" It:207 Obj:231.41958485268472 Vol:0.4000067497762318 ch:0.14566117343617657 \n",
" It:208 Obj:231.43323799873238 Vol:0.40000721904337827 ch:0.1191977276197016 \n",
" It:209 Obj:231.4712011470583 Vol:0.4000009969947128 ch:0.14391256738909586 \n",
" It:210 Obj:231.5138320187584 Vol:0.4000006515249428 ch:0.16364242098670345 \n",
" It:211 Obj:231.55363504686667 Vol:0.400001354222054 ch:0.132229488409073 \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" It:212 Obj:231.57415523712532 Vol:0.4000021861958535 ch:0.1489130175089115 \n",
" It:213 Obj:231.60979622822185 Vol:0.4000106796612289 ch:0.13644450586946788 \n",
" It:214 Obj:231.6269810252282 Vol:0.4000037383142454 ch:0.1604213234674453 \n",
" It:215 Obj:231.66319853383925 Vol:0.39999385764715584 ch:0.14148544349858594 \n",
" It:216 Obj:231.67553766716077 Vol:0.39999675778782773 ch:0.13906861048363583 \n",
" It:217 Obj:231.66951943003622 Vol:0.4000074622603774 ch:0.15838418124406373 \n",
" It:218 Obj:231.65442931340075 Vol:0.39999559522935246 ch:0.1641893814099301 \n",
" It:219 Obj:231.66679956977643 Vol:0.399991293914096 ch:0.17667756652813926 \n",
" It:220 Obj:231.65363283242934 Vol:0.40000493035525714 ch:0.15993734463010323 \n",
" It:221 Obj:231.58643081839335 Vol:0.39998939065542843 ch:0.15361822232149502 \n",
" It:222 Obj:231.56976907622436 Vol:0.39999226954347133 ch:0.13500363687247352 \n",
" It:223 Obj:231.5161289478882 Vol:0.3999937238065343 ch:0.14695906651294854 \n",
" It:224 Obj:231.48306846865614 Vol:0.4000076523261736 ch:0.11874332591627734 \n",
" It:225 Obj:231.4402528023066 Vol:0.39999722125899956 ch:0.0648909703009134 \n",
" It:226 Obj:231.44223358914005 Vol:0.40000209681956855 ch:0.06197149286151038 \n",
" It:227 Obj:231.421992642571 Vol:0.4000039126793764 ch:0.07650140067984007 \n",
" It:228 Obj:231.41484790226238 Vol:0.40000671162389895 ch:0.09393632652917866 \n",
" It:229 Obj:231.40860719241954 Vol:0.4000077900004592 ch:0.11359041873187925 \n",
" It:230 Obj:231.40614132530283 Vol:0.39999200034871746 ch:0.13321561413990002 \n",
" It:231 Obj:231.4332081885261 Vol:0.4000027674990446 ch:0.15733406765108138 \n",
" It:232 Obj:231.4198453218778 Vol:0.4000020798649289 ch:0.09086409979164944 \n",
" It:233 Obj:231.42783160372954 Vol:0.3999974054307331 ch:0.09169391675749294 \n",
" It:234 Obj:231.43632525372743 Vol:0.4000076739131602 ch:0.0474516122149794 \n",
" It:235 Obj:231.41626025175557 Vol:0.3999948336142214 ch:0.04946772782894093 \n",
" It:236 Obj:231.4368857100976 Vol:0.40000453635975547 ch:0.053781937906480115 \n",
" It:237 Obj:231.4175961470961 Vol:0.3999938486408963 ch:0.05521138800150327 \n",
" It:238 Obj:231.4387332151668 Vol:0.4000085039561946 ch:0.059451989877039146 \n",
" It:239 Obj:231.41828488393656 Vol:0.4000038540080113 ch:0.07123330296697084 \n",
" It:240 Obj:231.43736838594432 Vol:0.40000710741113676 ch:0.08854989394559704 \n",
" It:241 Obj:231.44090740325598 Vol:0.3999961084777932 ch:0.10751402589702036 \n",
" It:242 Obj:231.46977758972366 Vol:0.39999240012180853 ch:0.1295666240946013 \n",
" It:243 Obj:231.4842284257913 Vol:0.39999146867144014 ch:0.15284176991478549 \n",
" It:244 Obj:231.4993795138978 Vol:0.3999938495088091 ch:0.14734204251413763 \n",
" It:245 Obj:231.5163660213762 Vol:0.40000540192901657 ch:0.10824850689165222 \n",
" It:246 Obj:231.51329250942985 Vol:0.40000012260984535 ch:0.12117953444332996 \n",
" It:247 Obj:231.54492051357747 Vol:0.39999477766440217 ch:0.052338810538067104 \n",
" It:248 Obj:231.56267494366966 Vol:0.40000784909894105 ch:0.06328138899346586 \n",
" It:249 Obj:231.54776630533146 Vol:0.4000026483662719 ch:0.07405705904426962 \n",
" It:250 Obj:231.56993696062037 Vol:0.400005601183224 ch:0.08706835673107466 \n",
" It:251 Obj:231.57682981766658 Vol:0.39999509526395277 ch:0.0993571525600706 \n",
" It:252 Obj:231.607104244901 Vol:0.3999952021424763 ch:0.11331398783382673 \n",
" It:253 Obj:231.62011490466085 Vol:0.4000024372757692 ch:0.12779322795705095 \n",
" It:254 Obj:231.63033112535578 Vol:0.3999932370713722 ch:0.15060034460716376 \n",
" It:255 Obj:231.67156997727045 Vol:0.4000052077056162 ch:0.1816654093815646 \n",
" It:256 Obj:231.67721843005984 Vol:0.39999960159122117 ch:0.060942194561539154 \n",
" It:257 Obj:231.70259015585162 Vol:0.39999277491941293 ch:0.06744162345547344 \n",
" It:258 Obj:231.72140927425687 Vol:0.39999210673653623 ch:0.073997006097557 \n",
" It:259 Obj:231.73234502118407 Vol:0.3999965505245623 ch:0.08996069960317976 \n",
" It:260 Obj:231.73796198946957 Vol:0.40000225094790015 ch:0.11332159224871391 \n",
" It:261 Obj:231.74028200341522 Vol:0.40000516466699737 ch:0.1397829670454569 \n",
" It:262 Obj:231.74244182297724 Vol:0.399990049779936 ch:0.16685511220217242 \n",
" It:263 Obj:231.7766475726052 Vol:0.3999979857883259 ch:0.15355715503712053 \n",
" It:264 Obj:231.7810684878712 Vol:0.40000799127044123 ch:0.19031775318673683 \n",
" It:265 Obj:231.784741697685 Vol:0.4000076946977204 ch:0.08906433208650322 \n",
" It:266 Obj:231.80379840036628 Vol:0.40000259732394 ch:0.06867178392956419 \n",
" It:267 Obj:231.82276145236412 Vol:0.40000171793951117 ch:0.07248174042223954 \n",
" It:268 Obj:231.8350256461237 Vol:0.4000040878754159 ch:0.08834037847983794 \n",
" It:269 Obj:231.84347155365052 Vol:0.4000044699924503 ch:0.11509634382543477 \n",
" It:270 Obj:231.85148772019272 Vol:0.40000399401957903 ch:0.14758497978107588 \n",
" It:271 Obj:231.86090372154536 Vol:0.40000559937631225 ch:0.1846327642615745 \n",
" It:272 Obj:231.87517944295888 Vol:0.40000483707062334 ch:0.1653890478356651 \n",
" It:273 Obj:231.90000960751104 Vol:0.3999909140268582 ch:0.03323802117298358 \n",
" It:274 Obj:231.93521711932715 Vol:0.40000148053302154 ch:0.04384747497847599 \n",
" It:275 Obj:231.93271515393226 Vol:0.39999288956896195 ch:0.057249133856324824 \n",
" It:276 Obj:231.9635948563735 Vol:0.4000079444842117 ch:0.07657873383666666 \n",
" It:277 Obj:231.9558740934666 Vol:0.4000026703527417 ch:0.10077165279481642 \n",
" It:278 Obj:231.98179280123432 Vol:0.40000231499432376 ch:0.13340605483662699 \n",
" It:279 Obj:231.99681617901908 Vol:0.40000471654960723 ch:0.17311072373648329 \n",
" It:280 Obj:232.01257655932477 Vol:0.4000078021521855 ch:0.20000000000000007 \n",
" It:281 Obj:232.03572115965312 Vol:0.3999973932216442 ch:0.1103441476250337 \n",
" It:282 Obj:232.07383293862955 Vol:0.4000002018035349 ch:0.1473457765476428 \n",
" It:283 Obj:232.08322791736293 Vol:0.4000007484753208 ch:0.18995674462609613 \n",
" It:284 Obj:232.1034498857912 Vol:0.3999961797374315 ch:0.20000000000000007 \n",
" It:285 Obj:232.14212960406482 Vol:0.39999247586236075 ch:0.04685508468354033 \n",
" It:286 Obj:232.1799124052339 Vol:0.3999917706867033 ch:0.05643054083458926 \n",
" It:287 Obj:232.20915784038021 Vol:0.39999370403522166 ch:0.06770751558050636 \n",
" It:288 Obj:232.2328422904145 Vol:0.39999641107274203 ch:0.08063483654935227 \n",
" It:289 Obj:232.25309497842755 Vol:0.4000014406368815 ch:0.09485307157241818 \n",
" It:290 Obj:232.26868875347765 Vol:0.4000060709738946 ch:0.10997508324714866 \n",
" It:291 Obj:232.2781136923354 Vol:0.4000042756853721 ch:0.1346261972927903 \n",
" It:292 Obj:232.28125567415145 Vol:0.3999908041053393 ch:0.1782798867651113 \n",
" It:293 Obj:232.29207427047004 Vol:0.40000741482804897 ch:0.20000000000000007 \n",
" It:294 Obj:232.27881322490262 Vol:0.4000047463938762 ch:0.10113635469196014 \n",
" It:295 Obj:232.3286813073118 Vol:0.4000067576890997 ch:0.06704825113945867 \n",
" It:296 Obj:232.37736403486684 Vol:0.39999134719099605 ch:0.07291103560769552 \n",
" It:297 Obj:232.441360055171 Vol:0.39999964036408947 ch:0.0810857909207543 \n",
" It:298 Obj:232.46848653126295 Vol:0.3999900988190926 ch:0.08615982299645997 \n",
" It:299 Obj:232.52083748192092 Vol:0.4000051900847977 ch:0.09466897582335365 \n",
" It:300 Obj:232.5404792112663 Vol:0.3999995791974792 ch:0.07522898778899884 \n",
" It:301 Obj:232.588326772308 Vol:0.4000079176221412 ch:0.10128312107101706 \n",
" It:302 Obj:232.60953863587866 Vol:0.3999939663692223 ch:0.1333091589500866 \n",
" It:303 Obj:232.6595253044286 Vol:0.4000005700437852 ch:0.17597911764717966 \n",
" It:304 Obj:232.68705735834124 Vol:0.4000028281280714 ch:0.19999999999999996 \n",
" It:305 Obj:232.7336308611722 Vol:0.4000023836716524 ch:0.10070385187093633 \n",
" It:306 Obj:232.77957143821357 Vol:0.4000033715369303 ch:0.046628244564358434 \n",
" It:307 Obj:232.80877910729006 Vol:0.40000280521395815 ch:0.05095597485939374 \n",
" It:308 Obj:232.83666896163322 Vol:0.4000043822052673 ch:0.05631259066072891 \n",
" It:309 Obj:232.86224901543545 Vol:0.400004129316614 ch:0.06163484579830858 \n",
" It:310 Obj:232.88814483324347 Vol:0.40000676914591454 ch:0.06683023674017452 \n",
" It:311 Obj:232.91222975331198 Vol:0.3999944652783538 ch:0.0704789358221094 \n",
" It:312 Obj:232.95616832799752 Vol:0.4000055293087877 ch:0.09387143019470637 \n",
" It:313 Obj:232.9690414369786 Vol:0.40000171335034246 ch:0.13907544998588328 \n",
" It:314 Obj:232.99616769767988 Vol:0.3999995772814346 ch:0.2 \n",
" It:315 Obj:233.01249901638096 Vol:0.39999675291374975 ch:0.20000000000000007 \n",
" It:316 Obj:233.03888248060366 Vol:0.3999989695588517 ch:0.16439753781178523 \n",
" It:317 Obj:233.07505129784704 Vol:0.399998620762805 ch:0.05872035603232262 \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" It:318 Obj:233.12008883289565 Vol:0.3999966755259199 ch:0.07597745966619346 \n",
" It:319 Obj:233.16273294846968 Vol:0.3999952298462835 ch:0.1048264318139347 \n",
" It:320 Obj:233.20090795942647 Vol:0.399993031736744 ch:0.14418444461170232 \n",
" It:321 Obj:233.2365900703642 Vol:0.3999992612547617 ch:0.19540374128223448 \n",
" It:322 Obj:233.26239628696194 Vol:0.4000070434755838 ch:0.19999999999999996 \n",
" It:323 Obj:233.30337248999405 Vol:0.40000112082285744 ch:0.15120133381621248 \n",
" It:324 Obj:233.37370916715847 Vol:0.39999186407749804 ch:0.07337341599597047 \n",
" It:325 Obj:233.4518780088486 Vol:0.40000606544923284 ch:0.07571167293915826 \n",
" It:326 Obj:233.5093037047364 Vol:0.4000041514333486 ch:0.07114071856816229 \n",
" It:327 Obj:233.58467912621435 Vol:0.3999939162476551 ch:0.080485518664841 \n",
" It:328 Obj:233.67104940600606 Vol:0.39999933180993524 ch:0.10735507126782973 \n",
" It:329 Obj:233.73487160293692 Vol:0.4000026682006798 ch:0.14090418352117828 \n",
" It:330 Obj:233.79327703244104 Vol:0.4000008216290209 ch:0.2 \n",
" It:331 Obj:233.8056592701079 Vol:0.399999705332595 ch:0.20000000000000007 \n",
" It:332 Obj:233.79809081451523 Vol:0.39999754495960393 ch:0.19999999999999996 \n",
" It:333 Obj:233.76755346513372 Vol:0.4000003620369793 ch:0.176787837150707 \n",
" It:334 Obj:233.69943472866848 Vol:0.40000025616952345 ch:0.20000000000000007 \n",
" It:335 Obj:233.56224552668323 Vol:0.39999794721366616 ch:0.16738377016335093 \n",
" It:336 Obj:233.42571012319362 Vol:0.39999841464405295 ch:0.1894181150903329 \n",
" It:337 Obj:233.37798277340596 Vol:0.4000014894992755 ch:0.19999999999999996 \n",
" It:338 Obj:233.365912877621 Vol:0.39999971528267386 ch:0.09351093108880998 \n",
" It:339 Obj:233.3445999496069 Vol:0.4000021919314361 ch:0.08709307006681466 \n",
" It:340 Obj:233.3278147421836 Vol:0.3999989686851891 ch:0.09568766578128685 \n",
" It:341 Obj:233.32220722662396 Vol:0.39999763232773083 ch:0.10556117385765484 \n",
" It:342 Obj:233.31426664426573 Vol:0.4000015240154153 ch:0.11554953625440667 \n",
" It:343 Obj:233.30575858644045 Vol:0.39999919805996065 ch:0.06485536279336751 \n",
" It:344 Obj:233.30024963623913 Vol:0.3999998510904962 ch:0.07848798932490997 \n",
" It:345 Obj:233.29061624412452 Vol:0.4000021370450783 ch:0.09345874341174881 \n",
" It:346 Obj:233.2820725474728 Vol:0.40000172162698583 ch:0.10863091648871392 \n",
" It:347 Obj:233.2781470889868 Vol:0.3999993730772398 ch:0.12362656475300404 \n",
" It:348 Obj:233.27803797749158 Vol:0.39999711601450205 ch:0.13940788328456988 \n",
" It:349 Obj:233.279557609109 Vol:0.3999989401091955 ch:0.09858323180712125 \n",
" It:350 Obj:233.28000007744947 Vol:0.4000008427364143 ch:0.09914885014370423 \n",
" It:351 Obj:233.27865095664924 Vol:0.40000282734820014 ch:0.11733939339975588 \n",
" It:352 Obj:233.26904249839677 Vol:0.3999971727515987 ch:0.1788796219654134 \n",
" It:353 Obj:233.25087639572683 Vol:0.3999975482438965 ch:0.19999999999999996 \n",
" It:354 Obj:233.22154200348749 Vol:0.39999725745540116 ch:0.19999999999999996 \n",
" It:355 Obj:233.20518532940923 Vol:0.40000020805107744 ch:0.12162724049938822 \n",
" It:356 Obj:233.19883427467354 Vol:0.39999933354849976 ch:0.1347399734499789 \n",
" It:357 Obj:233.19913187070094 Vol:0.4000003396410573 ch:0.11181119765177872 \n",
" It:358 Obj:233.19171222923708 Vol:0.4000029809168733 ch:0.12810111308551508 \n",
" It:359 Obj:233.17965665242735 Vol:0.4000010104748886 ch:0.14334669626897434 \n",
" It:360 Obj:233.16660682583782 Vol:0.39999871622882877 ch:0.16441907505245534 \n",
" It:361 Obj:233.14871886966756 Vol:0.3999988512753761 ch:0.19615770521040377 \n",
" It:362 Obj:233.11921415423086 Vol:0.4000018065217984 ch:0.2 \n",
" It:363 Obj:233.07539865551618 Vol:0.4000018668600931 ch:0.19999999999999996 \n",
" It:364 Obj:233.03513461433948 Vol:0.3999960975435754 ch:0.17115984489444136 \n",
" It:365 Obj:233.0085037685182 Vol:0.3999939692774599 ch:0.1850876966145193 \n",
" It:366 Obj:232.98912583505813 Vol:0.3999950720895074 ch:0.1623562000917883 \n",
" It:367 Obj:232.97445654936612 Vol:0.4000040493673261 ch:0.1495267939031899 \n",
" It:368 Obj:232.96149646719778 Vol:0.3999937120795313 ch:0.14046896055838076 \n",
" It:369 Obj:232.97195730770386 Vol:0.4000013546061851 ch:0.12146123752147286 \n",
" It:370 Obj:232.96268568269767 Vol:0.3999950542059277 ch:0.14367686918063172 \n",
" It:371 Obj:232.96373195997307 Vol:0.3999984264090233 ch:0.1894495767222295 \n",
" It:372 Obj:232.9579500814008 Vol:0.39999600556395065 ch:0.19999999999999996 \n",
" It:373 Obj:232.9636488823254 Vol:0.40000084769427247 ch:0.10873743754756715 \n",
" It:374 Obj:232.9607829384708 Vol:0.39999963185235576 ch:0.12920134221795132 \n",
" It:375 Obj:232.96065427132663 Vol:0.40000008189383074 ch:0.15038680657921777 \n",
" It:376 Obj:232.95553730285317 Vol:0.40000150668145823 ch:0.14374974303868326 \n",
" It:377 Obj:232.9451774085182 Vol:0.40000545635217644 ch:0.14761436562697539 \n",
" It:378 Obj:232.92478116866735 Vol:0.3999984504878943 ch:0.17542355750754568 \n",
" It:379 Obj:232.9162843783382 Vol:0.40000091695836754 ch:0.15361242329505742 \n",
" It:380 Obj:232.90543468059462 Vol:0.3999931472734841 ch:0.13917261222599475 \n",
" It:381 Obj:232.91266430026388 Vol:0.4000039333471483 ch:0.1572971929396315 \n",
" It:382 Obj:232.91660893933187 Vol:0.399999003976024 ch:0.19288095451384524 \n",
" It:383 Obj:232.9390826886314 Vol:0.39999830777069983 ch:0.11688580318063241 \n",
" It:384 Obj:232.9439668329782 Vol:0.39999418294721145 ch:0.1529836957708438 \n",
" It:385 Obj:232.9402692968569 Vol:0.39999596265693743 ch:0.19324358144305553 \n",
" It:386 Obj:232.9287469825495 Vol:0.4000013475830979 ch:0.19010393108921886 \n",
" It:387 Obj:232.92051140687022 Vol:0.3999970127569285 ch:0.10928787165707382 \n",
" It:388 Obj:232.92422787698408 Vol:0.4000029160170022 ch:0.13677260953424675 \n",
" It:389 Obj:232.91838136650813 Vol:0.4000068300907439 ch:0.16692028489378907 \n",
" It:390 Obj:232.91496613217015 Vol:0.39999512105172985 ch:0.19171357081824802 \n",
" It:391 Obj:232.93021513847265 Vol:0.40000436532825157 ch:0.19999999999999996 \n",
" It:392 Obj:232.9280433356386 Vol:0.3999953090967681 ch:0.17922280333686036 \n",
" It:393 Obj:232.93445616873697 Vol:0.4000022818823084 ch:0.19999999999999996 \n",
" It:394 Obj:232.92154551697448 Vol:0.4000022283102731 ch:0.16018586996317757 \n",
" It:395 Obj:232.90337315428042 Vol:0.3999999714795758 ch:0.20000000000000007 \n",
" It:396 Obj:232.87275413757007 Vol:0.400005669688167 ch:0.16340637980037398 \n",
" It:397 Obj:232.82222501844913 Vol:0.3999933923734369 ch:0.1834458792981234 \n",
" It:398 Obj:232.78110700188887 Vol:0.40000464975860656 ch:0.19999999999999996 \n",
" It:399 Obj:232.73742135542335 Vol:0.4000050608758475 ch:0.1606379380481297 \n",
" It:400 Obj:232.74714507464472 Vol:0.40000223990109773 ch:0.20000000000000007 \n",
" It:401 Obj:232.76784404824167 Vol:0.4000058273325146 ch:0.19999999999999996 \n",
" It:402 Obj:232.78352383970955 Vol:0.3999946404033576 ch:0.19999999999999996 \n",
" It:403 Obj:232.8112469148427 Vol:0.39999879755112894 ch:0.19999999999999996 \n",
" It:404 Obj:232.8258175705308 Vol:0.3999988627572765 ch:0.19999999999999996 \n",
" It:405 Obj:232.8193639294035 Vol:0.4000015559781133 ch:0.19999999999999996 \n",
" It:406 Obj:232.75077216651277 Vol:0.3999989768075294 ch:0.2 \n",
" It:407 Obj:232.5769876240954 Vol:0.3999977072777898 ch:0.19999999999999996 \n",
" It:408 Obj:232.35746199427942 Vol:0.40000111145528167 ch:0.2 \n",
" It:409 Obj:232.14614968568011 Vol:0.3999981163262872 ch:0.20000000000000007 \n",
" It:410 Obj:231.95407931924154 Vol:0.3999981096944779 ch:0.19999999999999996 \n",
" It:411 Obj:231.7411857329647 Vol:0.40000138029928756 ch:0.19999999999999996 \n",
" It:412 Obj:231.59000403670603 Vol:0.39999897681153235 ch:0.14819222798123732 \n",
" It:413 Obj:231.5256246632726 Vol:0.39999812979279503 ch:0.20000000000000007 \n",
" It:414 Obj:231.463210927946 Vol:0.4000006636187266 ch:0.19999999999999996 \n",
" It:415 Obj:231.40660067703067 Vol:0.39999813615132496 ch:0.19999999999999996 \n",
" It:416 Obj:231.3676315832951 Vol:0.39999820543027714 ch:0.07057692120233505 \n",
" It:417 Obj:231.34798246964084 Vol:0.400000899612641 ch:0.07865523226876259 \n",
" It:418 Obj:231.329097869233 Vol:0.4000002155269664 ch:0.09463922373765321 \n",
" It:419 Obj:231.3121871515213 Vol:0.4000007156451107 ch:0.11252237180402902 \n",
" It:420 Obj:231.29492017633711 Vol:0.4000004892601711 ch:0.1325613049809219 \n",
" It:421 Obj:231.2781420890268 Vol:0.3999992946294476 ch:0.15252951537888704 \n",
" It:422 Obj:231.2630299281794 Vol:0.4000005038366957 ch:0.08996292658059013 \n",
" It:423 Obj:231.25096123202746 Vol:0.4000010837241581 ch:0.09874180954160483 \n",
" It:424 Obj:231.2428945725298 Vol:0.39999984558611856 ch:0.05149317482105409 \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" It:425 Obj:231.23481488882828 Vol:0.3999989003524051 ch:0.02977305873425079 \n",
" It:426 Obj:231.227234988135 Vol:0.40000146155238564 ch:0.027179202790127144 \n",
" It:427 Obj:231.21911703939548 Vol:0.3999988099624654 ch:0.025785379214798954 \n",
" It:428 Obj:231.21524901506254 Vol:0.4000003800236225 ch:0.025191233513919803 \n",
" It:429 Obj:231.21066802182878 Vol:0.39999870512305824 ch:0.028097881483432896 \n",
" It:430 Obj:231.20917517737846 Vol:0.4000008961314346 ch:0.036360047545297855 \n",
" It:431 Obj:231.20664143993943 Vol:0.3999991050767953 ch:0.056187996054693504 \n",
" It:432 Obj:231.20676062646402 Vol:0.40000096589933076 ch:0.0874384228992624 \n",
" It:433 Obj:231.20268437336077 Vol:0.4000014768474366 ch:0.13599629736154717 \n",
" It:434 Obj:231.18976609851524 Vol:0.4000018620269385 ch:0.2 \n",
" It:435 Obj:231.15917216191082 Vol:0.40000231780541323 ch:0.19999999999999996 \n",
" It:436 Obj:231.13175479144172 Vol:0.40000031768158484 ch:0.19999999999999996 \n",
" It:437 Obj:231.116102394914 Vol:0.39999607551920974 ch:0.0635742731290394 \n",
" It:438 Obj:231.1156827997015 Vol:0.40000133314066827 ch:0.07069292232225044 \n",
" It:439 Obj:231.11084873808994 Vol:0.39999779914335015 ch:0.07438676592132454 \n",
" It:440 Obj:231.11179722669138 Vol:0.40000137136154257 ch:0.08013816697207965 \n",
" It:441 Obj:231.1082737551098 Vol:0.4000038854909322 ch:0.08716630307091616 \n",
" It:442 Obj:231.1046786118198 Vol:0.3999957044666989 ch:0.10607480769947181 \n",
" It:443 Obj:231.10576203340304 Vol:0.40000069283612955 ch:0.13137784931126328 \n",
" It:444 Obj:231.09258177150463 Vol:0.39999706322888673 ch:0.15701768758709644 \n",
" It:445 Obj:231.06751842957607 Vol:0.3999957449519247 ch:0.18360237432178728 \n",
" It:446 Obj:230.99232682595007 Vol:0.4000027742919507 ch:0.19999999999999996 \n",
" It:447 Obj:230.88756119583073 Vol:0.4000022047179374 ch:0.19999999999999996 \n",
" It:448 Obj:230.80926326695166 Vol:0.40000003342745283 ch:0.08163065367082001 \n",
" It:449 Obj:230.78433206160338 Vol:0.40000262551837834 ch:0.07341554663665306 \n",
" It:450 Obj:230.77777164250386 Vol:0.39999988841019113 ch:0.08662107578295258 \n",
" It:451 Obj:230.77474949222756 Vol:0.4000016897706227 ch:0.10195401959669881 \n",
" It:452 Obj:230.76936651337982 Vol:0.40000011016513753 ch:0.11673311585850787 \n",
" It:453 Obj:230.76699893345932 Vol:0.3999963070502404 ch:0.13141661954439976 \n",
" It:454 Obj:230.76755497115317 Vol:0.3999974741038281 ch:0.12570615044315192 \n",
" It:455 Obj:230.767280158947 Vol:0.39999965974968044 ch:0.05221876829195371 \n",
" It:456 Obj:230.7684566028855 Vol:0.3999977546768937 ch:0.05337072823580258 \n",
" It:457 Obj:230.77275741712933 Vol:0.40000168758970117 ch:0.059014948782627086 \n",
" It:458 Obj:230.7733456452409 Vol:0.3999984667417975 ch:0.07033784550250438 \n",
" It:459 Obj:230.7744726959852 Vol:0.4000028151602805 ch:0.08407832772929152 \n",
" It:460 Obj:230.76767675277537 Vol:0.3999976032846433 ch:0.10153250030274807 \n",
" It:461 Obj:230.7622142999638 Vol:0.4000038190511266 ch:0.13327296466878968 \n",
" It:462 Obj:230.74395509622843 Vol:0.4000010286885705 ch:0.16767147387673365 \n",
" It:463 Obj:230.72983828296736 Vol:0.40000098378259114 ch:0.20000000000000007 \n",
" It:464 Obj:230.7183765617351 Vol:0.3999982319649069 ch:0.09972457845079608 \n",
" It:465 Obj:230.71497576399048 Vol:0.4000015172869859 ch:0.11511954360889198 \n",
" It:466 Obj:230.70869085421188 Vol:0.40000174145446005 ch:0.12883202441840624 \n",
" It:467 Obj:230.7044526986382 Vol:0.3999979398007619 ch:0.11574463730652917 \n",
" It:468 Obj:230.70211422342612 Vol:0.39999968052345036 ch:0.10712192786626085 \n",
" It:469 Obj:230.69321634339815 Vol:0.39999935701485567 ch:0.13700320284105127 \n",
" It:470 Obj:230.68131463402247 Vol:0.3999985182730136 ch:0.1710216097739341 \n",
" It:471 Obj:230.66729588768675 Vol:0.3999972097440464 ch:0.19999999999999996 \n",
" It:472 Obj:230.65469125630207 Vol:0.399996060580745 ch:0.1019534699470197 \n",
" It:473 Obj:230.64738431230472 Vol:0.39999682416085625 ch:0.11747379696075622 \n",
" It:474 Obj:230.6395316614644 Vol:0.4000022723876421 ch:0.13327459046539314 \n",
" It:475 Obj:230.6295394613203 Vol:0.4000025953847726 ch:0.10858755007326948 \n",
" It:476 Obj:230.62398025863146 Vol:0.40000313999047066 ch:0.039943113205366976 \n",
" It:477 Obj:230.61931566291614 Vol:0.3999957310924483 ch:0.04768951045166839 \n",
" It:478 Obj:230.61920281018268 Vol:0.3999999481250625 ch:0.05817499979041324 \n",
" It:479 Obj:230.61079073988736 Vol:0.3999974209326815 ch:0.06939439602927416 \n",
" It:480 Obj:230.60551915116102 Vol:0.3999984006218673 ch:0.08305709466776345 \n",
" It:481 Obj:230.5966761782324 Vol:0.40000302305515395 ch:0.0982837646977211 \n",
" It:482 Obj:230.58454566299355 Vol:0.4000023531556347 ch:0.11315271613162503 \n",
" It:483 Obj:230.57573216329504 Vol:0.3999968552469384 ch:0.12789817086765098 \n",
" It:484 Obj:230.57067847959257 Vol:0.39999695907607347 ch:0.14420556460757872 \n",
" It:485 Obj:230.56352023731978 Vol:0.39999759929288287 ch:0.041656648640365584 \n",
" It:486 Obj:230.55874730170615 Vol:0.3999984389595134 ch:0.05021124987504241 \n",
" It:487 Obj:230.55417776154613 Vol:0.4000017225895234 ch:0.06076071321073501 \n",
" It:488 Obj:230.5477622214442 Vol:0.3999985407475764 ch:0.07254242918051523 \n",
" It:489 Obj:230.54462788189397 Vol:0.3999995138870704 ch:0.08679795434231724 \n",
" It:490 Obj:230.53774382408946 Vol:0.4000046919274279 ch:0.10255524060378596 \n",
" It:491 Obj:230.52738854590982 Vol:0.40000452751747323 ch:0.1178253508863275 \n",
" It:492 Obj:230.52032106778023 Vol:0.3999996310802918 ch:0.13292864830439466 \n",
" It:493 Obj:230.51692514590718 Vol:0.39999915002604497 ch:0.12870723377372717 \n",
" It:494 Obj:230.5125041235475 Vol:0.40000059429030427 ch:0.04840928066498737 \n",
" It:495 Obj:230.50934799824194 Vol:0.3999951443660537 ch:0.0580184038632473 \n",
" It:496 Obj:230.51008699838545 Vol:0.40000475741141717 ch:0.07083676915150106 \n",
" It:497 Obj:230.50067625144555 Vol:0.39999768468461905 ch:0.08331673439752052 \n",
" It:498 Obj:230.49987474809345 Vol:0.3999976119625645 ch:0.09860587418496342 \n",
" It:499 Obj:230.49279619589345 Vol:0.4000046512491324 ch:0.11478909538195048 \n",
" It:500 Obj:230.47987004238388 Vol:0.39999664559943726 ch:0.12822106497490304 \n",
" It:501 Obj:230.47609646507414 Vol:0.3999975495165548 ch:0.14409346728585548 \n",
" It:502 Obj:230.46826186522503 Vol:0.4000000499375341 ch:0.16161161035841232 \n",
" It:503 Obj:230.46330866608656 Vol:0.39999912685492955 ch:0.10721318256783952 \n",
" It:504 Obj:230.46155104759313 Vol:0.40000255270632606 ch:0.0679726123070844 \n",
" It:505 Obj:230.45459092674122 Vol:0.39999884447212025 ch:0.08098164358134124 \n",
" It:506 Obj:230.45043979607186 Vol:0.40000035259399047 ch:0.09636479602731718 \n",
" It:507 Obj:230.44116386767195 Vol:0.3999971198896701 ch:0.11168411152865565 \n",
" It:508 Obj:230.43366506874634 Vol:0.40000102463394394 ch:0.12859540652347612 \n",
" It:509 Obj:230.42182487427615 Vol:0.40000116500754657 ch:0.14435125263684123 \n",
" It:510 Obj:230.41436581891364 Vol:0.3999968761042743 ch:0.15653285689606367 \n",
" It:511 Obj:230.41382352851753 Vol:0.3999987657864618 ch:0.05669877413578589 \n",
" It:512 Obj:230.40515278522952 Vol:0.40000135879224863 ch:0.06905424821103495 \n",
" It:513 Obj:230.39505170695236 Vol:0.3999962469152542 ch:0.08284781273551073 \n",
" It:514 Obj:230.38837568936341 Vol:0.40000462400409525 ch:0.10030155420766812 \n",
" It:515 Obj:230.37142163149628 Vol:0.3999955782045119 ch:0.11588543976574517 \n",
" It:516 Obj:230.36513230113889 Vol:0.40000221737066444 ch:0.13552084013534338 \n",
" It:517 Obj:230.34875650209153 Vol:0.40000285217289105 ch:0.15292220834525283 \n",
" It:518 Obj:230.33776882610107 Vol:0.40000366607631205 ch:0.05117808027209833 \n",
" It:519 Obj:230.329843910502 Vol:0.40000490074048417 ch:0.06251929188852201 \n",
" It:520 Obj:230.3212541679566 Vol:0.3999986538248605 ch:0.07572498928573207 \n",
" It:521 Obj:230.31629106386958 Vol:0.3999966259951 ch:0.09189258175669313 \n",
" It:522 Obj:230.30689611091415 Vol:0.3999990252030803 ch:0.1100513585805104 \n",
" It:523 Obj:230.2933495212864 Vol:0.39999427138214205 ch:0.12808580971870687 \n",
" It:524 Obj:230.28439748215737 Vol:0.39999589292378407 ch:0.14787249621568177 \n",
" It:525 Obj:230.2721625473094 Vol:0.3999964811906348 ch:0.09653565181620682 \n",
" It:526 Obj:230.26351959509776 Vol:0.4000035457889406 ch:0.06340454489909875 \n",
" It:527 Obj:230.25199532156856 Vol:0.4000008404523928 ch:0.07733267648250558 \n",
" It:528 Obj:230.24593529617425 Vol:0.40000314504087664 ch:0.09450496515014373 \n",
" It:529 Obj:230.23482745342523 Vol:0.39999755393938474 ch:0.1127853809040964 \n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" It:530 Obj:230.22794617074794 Vol:0.399999831081099 ch:0.13325885630719858 \n",
" It:531 Obj:230.2154307298561 Vol:0.3999945172392873 ch:0.152973097499576 \n",
" It:532 Obj:230.20949961667836 Vol:0.4000058112739843 ch:0.08341989084193613 \n",
" It:533 Obj:230.19455664217992 Vol:0.39999710320159826 ch:0.07314200763254985 \n",
" It:534 Obj:230.19356774934909 Vol:0.399996497730573 ch:0.09002047446263495 \n",
" It:535 Obj:230.1831311557541 Vol:0.40000443998274765 ch:0.10950387844274267 \n",
" It:536 Obj:230.1609756470286 Vol:0.40000525411709703 ch:0.12941168149149862 \n",
" It:537 Obj:230.13746788227266 Vol:0.400000717288507 ch:0.1495250165156965 \n",
" It:538 Obj:230.11385700062226 Vol:0.4000075634724671 ch:0.181977049632721 \n",
" It:539 Obj:230.0847503260013 Vol:0.4000084123122081 ch:0.18030959202054975 \n",
" It:540 Obj:230.0673605401215 Vol:0.3999998904597777 ch:0.07887427181413503 \n",
" It:541 Obj:230.06006315141826 Vol:0.39999920159299296 ch:0.09933220070158044 \n",
" It:542 Obj:230.04113268492603 Vol:0.4000066192943594 ch:0.12455129261012438 \n",
" It:543 Obj:230.01053122880555 Vol:0.40000401711631783 ch:0.15041953993848234 \n",
" It:544 Obj:229.98595103152695 Vol:0.39999401075395596 ch:0.1756687885551934 \n",
" It:545 Obj:229.9704270912622 Vol:0.39999354284326144 ch:0.0795235479752412 \n",
" It:546 Obj:229.95979116452696 Vol:0.3999966967143458 ch:0.03659510470658789 \n",
" It:547 Obj:229.9519265704912 Vol:0.3999961278169666 ch:0.036812791359633446 \n",
" It:548 Obj:229.9474566770103 Vol:0.3999950328171802 ch:0.04346346047029309 \n",
" It:549 Obj:229.94398482138953 Vol:0.40000706977835526 ch:0.053977828335009914 \n",
" It:550 Obj:229.92964553024953 Vol:0.40000089217376383 ch:0.06588964388842272 \n",
" It:551 Obj:229.9282665163451 Vol:0.39999751458442884 ch:0.08086252251674364 \n",
" It:552 Obj:229.92300284299398 Vol:0.39999725041029316 ch:0.09827990744261184 \n",
" It:553 Obj:229.91330268673772 Vol:0.40000026167389463 ch:0.11734057245848939 \n",
" It:554 Obj:229.8997594394487 Vol:0.4000066529519856 ch:0.13701603304168397 \n",
" It:555 Obj:229.8838747608071 Vol:0.4000003285520177 ch:0.1550816955755 \n",
" It:556 Obj:229.8794497458382 Vol:0.4000030532957173 ch:0.04986468889972984 \n",
" It:557 Obj:229.87350715136512 Vol:0.4000004118307847 ch:0.034385863809859196 \n",
" It:558 Obj:229.87361065603397 Vol:0.399998331345411 ch:0.035717819132630946 \n",
" It:559 Obj:229.8737329578988 Vol:0.3999970060282363 ch:0.03702926649118299 \n",
" It:560 Obj:229.8735599181166 Vol:0.3999968668114749 ch:0.04296598207321234 \n",
" It:561 Obj:229.87258124227094 Vol:0.39999821048318746 ch:0.050570242885853156 \n",
" It:562 Obj:229.8703318865553 Vol:0.40000126718209855 ch:0.05934162582744157 \n",
" It:563 Obj:229.86636579974208 Vol:0.400005628181322 ch:0.06913756403743637 \n",
" It:564 Obj:229.86035931687945 Vol:0.3999943991813287 ch:0.07857343403589817 \n",
" It:565 Obj:229.864024312104 Vol:0.4000040085943452 ch:0.08996389394818272 \n",
" It:566 Obj:229.8511485756922 Vol:0.399999585847094 ch:0.09894227258952548 \n",
" It:567 Obj:229.8495931127626 Vol:0.4000003943370058 ch:0.10869201526402505 \n",
" It:568 Obj:229.843988233731 Vol:0.4000061085495233 ch:0.11860446785227319 \n",
" It:569 Obj:229.8340254106913 Vol:0.4000077271284675 ch:0.08682022063993605 \n",
" It:570 Obj:229.82315797527718 Vol:0.39999472834383193 ch:0.10474648956497101 \n",
" It:571 Obj:229.81925138779008 Vol:0.4000052348548874 ch:0.12688378374453546 \n",
" It:572 Obj:229.79271663981257 Vol:0.4000034541323844 ch:0.1481037369109972 \n",
" It:573 Obj:229.77249353814108 Vol:0.4000049496556882 ch:0.13121041194661442 \n",
" It:574 Obj:229.7467921544736 Vol:0.3999975300772345 ch:0.06823007256220148 \n",
" It:575 Obj:229.72454774566978 Vol:0.39999361505701037 ch:0.08046384181180954 \n",
" It:576 Obj:229.69248015950706 Vol:0.399992629498475 ch:0.08866040387955904 \n",
" It:577 Obj:229.65665918950813 Vol:0.3999935942064911 ch:0.09042398384384465 \n",
" It:578 Obj:229.62400148123822 Vol:0.3999957583002001 ch:0.08717754993269655 \n",
" It:579 Obj:229.5974206975714 Vol:0.399998494294803 ch:0.08193315087921693 \n",
" It:580 Obj:229.57664859910824 Vol:0.4000005020799712 ch:0.07659902160111365 \n",
" It:581 Obj:229.56067017205447 Vol:0.4000000266135348 ch:0.07184343040954266 \n",
" It:582 Obj:229.5487469185519 Vol:0.39999633661234124 ch:0.03525166047985928 \n",
" It:583 Obj:229.5438310717946 Vol:0.4000043840839485 ch:0.016983311945965474 \n",
" It:584 Obj:229.53271867164986 Vol:0.39999476633215947 ch:0.016008290698884875 \n",
" It:585 Obj:229.53568343245263 Vol:0.4000008159068237 ch:0.017023147594145693 \n",
" It:586 Obj:229.52653729750241 Vol:0.4000047079066649 ch:0.017017433739267673 \n",
" It:587 Obj:229.5194001659595 Vol:0.40000707972106875 ch:0.016963856665792365 \n",
" It:588 Obj:229.51370930404164 Vol:0.39999391771580306 ch:0.015688658048906623 \n",
" It:589 Obj:229.5202622970906 Vol:0.39999695342230684 ch:0.01666689529088139 \n",
" It:590 Obj:229.51401718614613 Vol:0.3999983033023867 ch:0.01652379739356058 \n",
" It:591 Obj:229.50925433713633 Vol:0.3999988649553773 ch:0.016350020746235705 \n",
" It:592 Obj:229.5053148014454 Vol:0.3999988906204298 ch:0.016151113009501117 \n",
" It:593 Obj:229.50197281317094 Vol:0.39999842412953235 ch:0.015931950699949793 \n",
" It:594 Obj:229.4992046957442 Vol:0.3999976469115804 ch:0.015692868749745292 \n",
" It:595 Obj:229.49683386678066 Vol:0.39999671622097555 ch:0.015439607394401422 \n",
" It:596 Obj:229.4947047640121 Vol:0.3999957079575721 ch:0.015177572915086035 \n",
" It:597 Obj:229.49274652537957 Vol:0.39999465742676504 ch:0.014909169857732163 \n",
" It:598 Obj:229.49092389963783 Vol:0.3999935898225365 ch:0.01463643221173061 \n",
" It:599 Obj:229.48921058829802 Vol:0.4000062641379883 ch:0.015857229893629476 \n",
" It:600 Obj:229.4769959580458 Vol:0.4000025108754215 ch:0.014152602614852294 \n",
" It:601 Obj:229.47772257119206 Vol:0.399999488539033 ch:0.013853621086778123 \n",
" It:602 Obj:229.47787061766996 Vol:0.3999970070912132 ch:0.013561440626825405 \n",
" It:603 Obj:229.47763114906743 Vol:0.3999946637528097 ch:0.01327542731427589 \n",
" It:604 Obj:229.4772901811749 Vol:0.400005638584042 ch:0.014617236461677119 \n",
" It:605 Obj:229.46662048516907 Vol:0.4000012839372773 ch:0.012790856295604724 \n",
" It:606 Obj:229.46814677166634 Vol:0.39999781813582064 ch:0.01249739792543536 \n",
" It:607 Obj:229.46896688770886 Vol:0.3999949607895577 ch:0.012215912547724916 \n",
" It:608 Obj:229.4693180176933 Vol:0.40000568438544976 ch:0.013658988022349439 \n",
" It:609 Obj:229.4591937119044 Vol:0.4000009706539788 ch:0.011754036981588944 \n",
" It:610 Obj:229.4612316769331 Vol:0.3999971634575754 ch:0.011473288941591386 \n",
" It:611 Obj:229.46253388066032 Vol:0.39999397843787105 ch:0.01120683528652 \n",
" It:612 Obj:229.4633454651689 Vol:0.4000047002419306 ch:0.012752135894717687 \n",
" It:613 Obj:229.4534973424803 Vol:0.39999927888330067 ch:0.0094450007424558 \n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAALQAAAA8CAAAAADqRc9bAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAL9SURBVGje7Zq/a1UxFMdzbu8rygMRihaRgrj4A9z8C1wd/Tuc3Yoizh2Krg7i4OLm0Elx0UEH6WIHQVAKFjpUpPrqfY1DTV6Sd/LjJCc2g2d6Lzfnm889yU1Oci9IcewGVIfuuImFEOS4tQBNpm4CmkrdBjSRuhFoGnUr0CTqZqAp1O1AE6j90G82pRD7kwp0IwDAFpRkasArkxepI5qrT66Jre+/l84tTn7AeNwPHRYUT5vUZt9Kx3KDGLOXUkop3zkt6T/bNDUHOi/SCQZodL6ovx+JcrbY5VrUeI/qgk0ePV4DTxu66DVV8X59am8LunCdT7MG8yn80k2y6gtT9S4z8qXgANTlZ2I689OEDF8uMIcSvNf7aVhofvIHVIedeXk+HrpkiCghKxasmS0tMSE/s5lhB6mjqSOxwvvfdJIsOZWDHK0WHJc4kekCHEPE0uj9RGmx7iLOQghRvKjv2Q936DFLovb1PZiT6OGdImZ7Qo5EIIU6IME191F1VP1h5KsReMp45j5JvndVp/+c1eAjc/06ncmckRio6p9y4zSzX3T3G5m5jPJ4X05NHiL5ua7yucdATXscLdeHec1ezKNeMJu+ne63UZbmKscF5FpK7LLmvsR1Oy6AuKYkFjlzn1XtVs4sD5gSxR6bPX02AZllB+T1z+rtmFPx0HB0XIXUvJOSQVnMFwoSAN8ISZe0PL+upNUr3a/hsaaI2knxNKFS+R4TpaZsSyzH4XmcuSvfF6MjhLjGibAvc5gtSUONtgGEV35Et2CL5/gB2xSQlQP9VOfEZHZIqQNM3mp/8GHSs/0000owzRexFrsDvPgBG7Il/TP7xu0leveotGNZt6PUhCQTc3+qf62OV+z7qHnaOnIwiLbhu3ClArOTPLGcH5lW622NuTQyv/zcrfeGScFLIXpW5ZMZO3aySd7hUS3Mf2GVcQ6PusyGPCP09brMJj7f8Dg4UfnLs1nCx9vQ/rfzi2KYiL4X8lB9bADc44Z9nv4X1tBHKv+h27M/LTchAcVxJDEAAAAASUVORK5CYII=",
"text/plain": [
"60×180 Array{Gray{Float64},2} with eltype Gray{Float64}:\n",
" Gray{Float64}(1.0) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.88197e-73) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.63216e-173) Gray{Float64}(0.0) \n",
" Gray{Float64}(6.20198e-306) Gray{Float64}(0.0) \n",
" ⋮ ⋱ \n",
" Gray{Float64}(1.0) Gray{Float64}(1.93162e-115)\n",
" Gray{Float64}(1.0) Gray{Float64}(3.25102e-53) \n",
" Gray{Float64}(1.0) … Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) … Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) "
]
},
"execution_count": 208,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function topologyOptimization(nelx,nely,volfrac,rmin,penal)\n",
" function lk()\n",
" E=1\n",
" nu=0.3\n",
" k=[1/2-nu/6,1/8+nu/8,-1/4-nu/12,-1/8+3*nu/8,-1/4+nu/12,-1/8-nu/8,nu/6,1/8-3*nu/8]\n",
" KE = E/(1-nu^2)*[ k[0+1] k[1+1] k[2+1] k[3+1] k[4+1] k[5+1] k[6+1] k[7+1];\n",
" k[1+1] k[0+1] k[7+1] k[6+1] k[5+1] k[4+1] k[3+1] k[2+1];\n",
" k[2+1] k[7+1] k[0+1] k[5+1] k[6+1] k[3+1] k[4+1] k[1+1];\n",
" k[3+1] k[6+1] k[5+1] k[0+1] k[7+1] k[2+1] k[1+1] k[4+1];\n",
" k[4+1] k[5+1] k[6+1] k[7+1] k[0+1] k[1+1] k[2+1] k[3+1];\n",
" k[5+1] k[4+1] k[3+1] k[2+1] k[1+1] k[0+1] k[7+1] k[6+1];\n",
" k[6+1] k[3+1] k[4+1] k[1+1] k[2+1] k[7+1] k[0+1] k[5+1];\n",
" k[7+1] k[2+1] k[1+1] k[4+1] k[3+1] k[6+1] k[5+1] k[0+1] ];\n",
" return (KE)\n",
" end\n",
" println(\"Minimum compliance problem with OC\")\n",
" println(\"ndes: $nelx x $nely\")\n",
" println(\"volfrac: $volfrac rmin: $rmin penal: $penal\")\n",
" # Max and min stiffness\n",
" Emin=1e-9\n",
" Emax=1.0\n",
" # dofs:\n",
" ndof = 2*(nelx+1)*(nely+1)\n",
" # Allocate design variables (as array), initialize and allocate sens.\n",
" x=volfrac * ones(Float64,nely,nelx)\n",
" xold=copy(x)\n",
" xPhys=copy(x)\n",
" g=0 # must be initialized to use the NGuyen/Paulino OC approach\n",
" dc=zeros(Float64,(nely,nelx))\n",
" \n",
" # FE: Build the index vectors for the for coo matrix format.\n",
" KE=lk()\n",
" nodenrs = reshape(1:(1+nelx)*(1+nely),1+nely,1+nelx)\n",
" edofVec = reshape(2*nodenrs[1:end-1,1:end-1].+1,nelx*nely,1)\n",
" edofMat = repeat(edofVec,1,8).+repeat([0 1 2*nely.+[2 3 0 1] -2 -1],nelx*nely,1)\n",
" iK = convert(Array{Int},reshape(kron(edofMat,ones(8,1))',64*nelx*nely,1))\n",
" jK = convert(Array{Int},reshape(kron(edofMat,ones(1,8))',64*nelx*nely,1))\n",
" # DEFINE LOADS AND SUPPORTS (HALF MBB-BEAM)\n",
" F = sparse([2],[1],[-1.0],2*(nely+1)*(nelx+1),1)\n",
" U = zeros(2*(nely+1)*(nelx+1),1)\n",
" fixeddofs = union(1:2:2*(nely+1),2*(nelx+1)*(nely+1))\n",
" alldofs = 1:(2*(nely+1)*(nelx+1))\n",
" freedofs = setdiff(alldofs,fixeddofs)\n",
" # Prepare filter\n",
" iH = ones(convert(Int,nelx*nely*(2*(ceil(rmin)-1)+1)^2),1)\n",
" jH = ones(Int,size(iH))\n",
" sH = zeros(size(iH))\n",
" k = 0;\n",
" for i1 = 1:nelx\n",
" for j1 = 1:nely\n",
" e1 = (i1-1)*nely+j1\n",
" for i2 = max(i1-(ceil(rmin)-1),1):min(i1+(ceil(rmin)-1),nelx)\n",
" for j2 = max(j1-(ceil(rmin)-1),1):min(j1+(ceil(rmin)-1),nely)\n",
" e2 = (i2-1)*nely+j2\n",
" k = k+1\n",
" iH[k] = e1\n",
" jH[k] = e2\n",
" sH[k] = max(0,rmin-sqrt((i1-i2)^2+(j1-j2)^2))\n",
" end\n",
" end\n",
" end\n",
" end\n",
" H = sparse(vec(iH),vec(jH),vec(sH))\n",
" Hs = sum(H,dims=2)\n",
" ###################################################\n",
" loop = 0\n",
" change = 1\n",
" maxIter=1000\n",
" # Start iteration\n",
" for i =1:maxIter\n",
" if (change > 0.01)\n",
" # Start iteration\n",
" loop += 1\n",
" # FE-ANALYSIS\n",
" sK = reshape(KE[:]*(Emin.+xPhys[:]'.^penal*(Emax-Emin)),64*nelx*nely,1)\n",
" K = sparse(vec(iK),vec(jK),vec(sK)); K = (K+K')/2\n",
" @timed U[freedofs] = K[freedofs,freedofs] \\ Array(F[freedofs])\n",
" # Objective function and sensitivity analysis\n",
" ce = reshape(sum((U[edofMat]*KE).*U[edofMat],dims=2),nely,nelx)\n",
" c = sum(sum((Emin.+xPhys.^penal*(Emax-Emin)).*ce))\n",
" \n",
" dc = -penal*(Emax-Emin)*xPhys.^(penal-1).*ce\n",
" dv = ones(nely,nelx)\n",
" dc[:] = H*(dc[:]./Hs)\n",
" dv[:] = H*(dv[:]./Hs)\n",
" # OPTIMALITY CRITERIA UPDATE OF DESIGN VARIABLES AND PHYSICAL DENSITIES\n",
" l1 = 0; l2 = 1e9; move = 0.2; xnew = 0\n",
" while (l2-l1)/(l1+l2) > 1e-3\n",
" lmid = 0.5*(l2+l1)\n",
" xnew = max.(0,max.(x.-move,min.(1,min.(x.+move,x.*sqrt.((0.0.-dc)./dv./lmid)))))\n",
" xPhys[:] = (H*xnew[:])./Hs\n",
" if sum(xPhys[:]) > volfrac*nelx*nely\n",
" l1 = lmid\n",
" else\n",
" l2 = lmid\n",
" end\n",
" end\n",
" change = maximum(abs.(xnew[:].-x[:]))\n",
" x = xnew\n",
" m=mean(xPhys[:])\n",
" println(\" It:$loop Obj:$c Vol:$m ch:$change \")\n",
"\n",
" xPhys = copy(x)\n",
" end\n",
" end\n",
" return xPhys\n",
"end\n",
"nelx=180\n",
"nely=60\n",
"volfrac=0.4\n",
"rmin=5.4\n",
"penal=3.0\n",
"\n",
"xPhys=topologyOptimization(nelx,nely,volfrac,rmin,penal)\n",
"Gray.(xPhys)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAALQAAAA8CAAAAADqRc9bAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAL9SURBVGje7Zq/a1UxFMdzbu8rygMRihaRgrj4A9z8C1wd/Tuc3Yoizh2Krg7i4OLm0Elx0UEH6WIHQVAKFjpUpPrqfY1DTV6Sd/LjJCc2g2d6Lzfnm889yU1Oci9IcewGVIfuuImFEOS4tQBNpm4CmkrdBjSRuhFoGnUr0CTqZqAp1O1AE6j90G82pRD7kwp0IwDAFpRkasArkxepI5qrT66Jre+/l84tTn7AeNwPHRYUT5vUZt9Kx3KDGLOXUkop3zkt6T/bNDUHOi/SCQZodL6ovx+JcrbY5VrUeI/qgk0ePV4DTxu66DVV8X59am8LunCdT7MG8yn80k2y6gtT9S4z8qXgANTlZ2I689OEDF8uMIcSvNf7aVhofvIHVIedeXk+HrpkiCghKxasmS0tMSE/s5lhB6mjqSOxwvvfdJIsOZWDHK0WHJc4kekCHEPE0uj9RGmx7iLOQghRvKjv2Q936DFLovb1PZiT6OGdImZ7Qo5EIIU6IME191F1VP1h5KsReMp45j5JvndVp/+c1eAjc/06ncmckRio6p9y4zSzX3T3G5m5jPJ4X05NHiL5ua7yucdATXscLdeHec1ezKNeMJu+ne63UZbmKscF5FpK7LLmvsR1Oy6AuKYkFjlzn1XtVs4sD5gSxR6bPX02AZllB+T1z+rtmFPx0HB0XIXUvJOSQVnMFwoSAN8ISZe0PL+upNUr3a/hsaaI2knxNKFS+R4TpaZsSyzH4XmcuSvfF6MjhLjGibAvc5gtSUONtgGEV35Et2CL5/gB2xSQlQP9VOfEZHZIqQNM3mp/8GHSs/0000owzRexFrsDvPgBG7Il/TP7xu0leveotGNZt6PUhCQTc3+qf62OV+z7qHnaOnIwiLbhu3ClArOTPLGcH5lW622NuTQyv/zcrfeGScFLIXpW5ZMZO3aySd7hUS3Mf2GVcQ6PusyGPCP09brMJj7f8Dg4UfnLs1nCx9vQ/rfzi2KYiL4X8lB9bADc44Z9nv4X1tBHKv+h27M/LTchAcVxJDEAAAAASUVORK5CYII=",
"text/plain": [
"60×180 Array{Gray{Float64},2} with eltype Gray{Float64}:\n",
" Gray{Float64}(1.0) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(0.0) \n",
" Gray{Float64}(1.88197e-73) … Gray{Float64}(0.0) \n",
" Gray{Float64}(1.63216e-173) Gray{Float64}(0.0) \n",
" Gray{Float64}(6.20198e-306) Gray{Float64}(0.0) \n",
" ⋮ ⋱ \n",
" Gray{Float64}(1.0) Gray{Float64}(1.93162e-115)\n",
" Gray{Float64}(1.0) Gray{Float64}(3.25102e-53) \n",
" Gray{Float64}(1.0) … Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) … Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) \n",
" Gray{Float64}(1.0) Gray{Float64}(1.0) "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Gray.(xPhys)"
]
},
{
"cell_type": "code",
"execution_count": 209,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CompliantTopologyOptimization (generic function with 1 method)"
]
},
"execution_count": 209,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function CompliantTopologyOptimization(nelx,nely,volfrac,rmin,penal,maxIter,Load,Support,Spring,DOut)\n",
" function lk()\n",
" E=1\n",
" nu=0.3\n",
" k=[1/2-nu/6,1/8+nu/8,-1/4-nu/12,-1/8+3*nu/8,-1/4+nu/12,-1/8-nu/8,nu/6,1/8-3*nu/8]\n",
" KE = E/(1-nu^2)*[ k[0+1] k[1+1] k[2+1] k[3+1] k[4+1] k[5+1] k[6+1] k[7+1];\n",
" k[1+1] k[0+1] k[7+1] k[6+1] k[5+1] k[4+1] k[3+1] k[2+1];\n",
" k[2+1] k[7+1] k[0+1] k[5+1] k[6+1] k[3+1] k[4+1] k[1+1];\n",
" k[3+1] k[6+1] k[5+1] k[0+1] k[7+1] k[2+1] k[1+1] k[4+1];\n",
" k[4+1] k[5+1] k[6+1] k[7+1] k[0+1] k[1+1] k[2+1] k[3+1];\n",
" k[5+1] k[4+1] k[3+1] k[2+1] k[1+1] k[0+1] k[7+1] k[6+1];\n",
" k[6+1] k[3+1] k[4+1] k[1+1] k[2+1] k[7+1] k[0+1] k[5+1];\n",
" k[7+1] k[2+1] k[1+1] k[4+1] k[3+1] k[6+1] k[5+1] k[0+1] ];\n",
" return (KE)\n",
" end\n",
" println(\"Minimum compliance problem with OC\")\n",
" println(\"ndes: $nelx x $nely\")\n",
" println(\"volfrac: $volfrac rmin: $rmin penal: $penal\")\n",
" # Max and min stiffness\n",
" Emin=1e-9\n",
" Emax=1.0\n",
" change = 1\n",
" # dofs:\n",
" ndof = 2*(nelx+1)*(nely+1)\n",
" # Allocate design variables (as array), initialize and allocate sens.\n",
" x=volfrac * ones(Float64,nely,nelx)\n",
" xold=copy(x)\n",
" xPhys=copy(x)\n",
" g=0 # must be initialized to use the NGuyen/Paulino OC approach\n",
" dc=zeros(Float64,(nely,nelx))\n",
" \n",
" # FE: Build the index vectors for the for coo matrix format.\n",
" KE=lk()\n",
" nodenrs = reshape(1:(1+nelx)*(1+nely),1+nely,1+nelx)\n",
" edofVec = reshape(2*nodenrs[1:end-1,1:end-1].+1,nelx*nely,1)\n",
" edofMat = repeat(edofVec,1,8).+repeat([0 1 2*nely.+[2 3 0 1] -2 -1],nelx*nely,1)\n",
" iK = convert(Array{Int},reshape(kron(edofMat,ones(8,1))',64*nelx*nely,1))\n",
" jK = convert(Array{Int},reshape(kron(edofMat,ones(1,8))',64*nelx*nely,1))\n",
" \n",
" \n",
" # DEFINE LOADS AND SUPPORTS \n",
" F = sparse(2 .*Load[:,1] .-2 .+ Load[:,2],ones(size(Load,1)),Load[:,3],2*(nely+1)*(nelx+1),2)\n",
" DofDOut = 2 * DOut[1] - 2 +DOut[2]; #only one\n",
" F=Array(F)\n",
" F[DofDOut,2]=-1\n",
" fixeddofs = 2 .*Support[:,1] .-2 .+ Support[:,2]\n",
" NSpring = size(Spring,1);\n",
" s = sparse(2 .*Spring[:,1] .-2 .+ Spring[:,2],ones(size(Spring,1)),Spring[:,3],2*(nely+1)*(nelx+1),2)\n",
" m=Array(s)[:,1]\n",
" S= sparse(diagm(m))\n",
" \n",
" U = zeros(2*(nely+1)*(nelx+1),2)\n",
"\n",
" alldofs = 1:(2*(nely+1)*(nelx+1))\n",
" freedofs = setdiff(alldofs,fixeddofs)\n",
" \n",
" # Prepare filter\n",
" iH = ones(convert(Int,nelx*nely*(2*(ceil(rmin)-1)+1)^2),1)\n",
" jH = ones(Int,size(iH))\n",
" sH = zeros(size(iH))\n",
" k = 0;\n",
" for i1 = 1:nelx\n",
" for j1 = 1:nely\n",
" e1 = (i1-1)*nely+j1\n",
" for i2 = max(i1-(ceil(rmin)-1),1):min(i1+(ceil(rmin)-1),nelx)\n",
" for j2 = max(j1-(ceil(rmin)-1),1):min(j1+(ceil(rmin)-1),nely)\n",
" e2 = (i2-1)*nely+j2\n",
" k = k+1\n",
" iH[k] = e1\n",
" jH[k] = e2\n",
" sH[k] = max(0,rmin-sqrt((i1-i2)^2+(j1-j2)^2))\n",
" end\n",
" end\n",
" end\n",
" end\n",
" H = sparse(vec(iH),vec(jH),vec(sH))\n",
" Hs = sum(H,dims=2)\n",
" \n",
" change= 1\n",
" loop = 0\n",
" changeStable=0\n",
" # Start iteration\n",
" for penal in 1.0:0.5:4\n",
" println(\" Penalty: $penal\")\n",
" loop = 0\n",
" for i =1:maxIter\n",
" if (change < 0.01)\n",
" changeStable+=1\n",