
# a list of all monitor and custom function actors to be called by the MonitorFunction
set all_custom_functions {}
set all_monitor_actors {}

# the main custom function caller that will call all actors in $all_monitor_actors and in $all_custom_functions list
proc CustomFunctionCaller {step_id dt T n_iter norm perc process_id is_parallel} {
	global all_monitor_actors
	global all_custom_functions
	# Call monitors: we pass the parameters needed
	foreach p $all_monitor_actors {
		$p $step_id $dt $T $n_iter $norm $perc $process_id $is_parallel
	}
	# Call all other custom functions
	foreach p $all_custom_functions {
		$p
	}
}

# Misc_commands parameter

# parameter
parameter 1

# addToParameter
addToParameter 1 element 2542 sig0
addToParameter 1 element 2543 sig0
addToParameter 1 element 2544 sig0
addToParameter 1 element 2545 sig0
addToParameter 1 element 2546 sig0
addToParameter 1 element 2547 sig0
addToParameter 1 element 2548 sig0
addToParameter 1 element 2549 sig0
addToParameter 1 element 2550 sig0
addToParameter 1 element 2551 sig0
addToParameter 1 element 2552 sig0
addToParameter 1 element 2553 sig0
addToParameter 1 element 2554 sig0
addToParameter 1 element 2555 sig0
addToParameter 1 element 2556 sig0
addToParameter 1 element 2557 sig0
addToParameter 1 element 2558 sig0
addToParameter 1 element 2559 sig0
addToParameter 1 element 2560 sig0
addToParameter 1 element 2561 sig0
addToParameter 1 element 2562 sig0
addToParameter 1 element 2563 sig0
addToParameter 1 element 2564 sig0
addToParameter 1 element 2565 sig0
addToParameter 1 element 2566 sig0
addToParameter 1 element 2567 sig0
addToParameter 1 element 2568 sig0
addToParameter 1 element 2569 sig0
addToParameter 1 element 2570 sig0
addToParameter 1 element 2571 sig0
addToParameter 1 element 2572 sig0
addToParameter 1 element 2573 sig0
addToParameter 1 element 2574 sig0
addToParameter 1 element 2575 sig0
addToParameter 1 element 2576 sig0
addToParameter 1 element 2577 sig0
addToParameter 1 element 2578 sig0
addToParameter 1 element 2579 sig0
addToParameter 1 element 2580 sig0
addToParameter 1 element 2581 sig0
addToParameter 1 element 2582 sig0
addToParameter 1 element 2583 sig0
addToParameter 1 element 2584 sig0
addToParameter 1 element 2585 sig0
addToParameter 1 element 2586 sig0
addToParameter 1 element 2587 sig0
addToParameter 1 element 2588 sig0
addToParameter 1 element 2589 sig0
addToParameter 1 element 2590 sig0
addToParameter 1 element 2591 sig0
addToParameter 1 element 2592 sig0
addToParameter 1 element 2593 sig0
addToParameter 1 element 2594 sig0
addToParameter 1 element 2595 sig0
addToParameter 1 element 2596 sig0
addToParameter 1 element 2597 sig0
addToParameter 1 element 2598 sig0
addToParameter 1 element 2599 sig0
addToParameter 1 element 2600 sig0
addToParameter 1 element 2601 sig0
addToParameter 1 element 2602 sig0
addToParameter 1 element 2603 sig0
addToParameter 1 element 2604 sig0
addToParameter 1 element 2605 sig0
addToParameter 1 element 2606 sig0
addToParameter 1 element 2607 sig0
addToParameter 1 element 2608 sig0
addToParameter 1 element 2609 sig0
addToParameter 1 element 2610 sig0
addToParameter 1 element 2611 sig0
addToParameter 1 element 2612 sig0
addToParameter 1 element 2613 sig0
addToParameter 1 element 2614 sig0
addToParameter 1 element 2615 sig0
addToParameter 1 element 2616 sig0
addToParameter 1 element 2617 sig0
addToParameter 1 element 2618 sig0
addToParameter 1 element 2619 sig0
addToParameter 1 element 2620 sig0
addToParameter 1 element 2621 sig0
addToParameter 1 element 2622 sig0
addToParameter 1 element 2623 sig0
addToParameter 1 element 2624 sig0
addToParameter 1 element 2625 sig0
addToParameter 1 element 2626 sig0
addToParameter 1 element 2627 sig0
addToParameter 1 element 2628 sig0
addToParameter 1 element 2629 sig0
addToParameter 1 element 2630 sig0
addToParameter 1 element 2631 sig0
addToParameter 1 element 2632 sig0
addToParameter 1 element 2633 sig0
addToParameter 1 element 2634 sig0
addToParameter 1 element 2635 sig0
addToParameter 1 element 2636 sig0
addToParameter 1 element 2637 sig0
addToParameter 1 element 2638 sig0
addToParameter 1 element 2639 sig0
addToParameter 1 element 2640 sig0
addToParameter 1 element 2641 sig0
addToParameter 1 element 2642 sig0

#TCL script: custom_step_operation

set sig_ref 100.0
set dt0 0.1
proc update_sig0 {} {
	global sig_ref
	global dt0
	set time [getTime "%.12g"]
	if {$time < 0.99} {
		set sig0 [expr $sig_ref*($time+$dt0)]
		puts "T = $time -> sig0 = $sig0"
		updateParameter 1 $sig0
	}
}
updateParameter 1 0.0

lappend all_custom_functions update_sig0

recorder mpco "results.mpco" \
-N "displacement" "reactionForce" \
-E "section.force" "material.stress" "material.strain" "section.fiber.stress" "section.fiber.strain" \
-E "strain" "stress"

# Constraints.sp fix
	fix 1 1 1
	fix 1214 1 1
	fix 2 0 1
	fix 1215 0 1

# element ASDEmbeddedNodeElement $Tag  $Cnode   $Rnode1 $Rnode2 $Rnode3 <$Rnode4>   <-K $K> <-rot>
element ASDEmbeddedNodeElement 2643  1112   217 815 218   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2644  1113   814 109 110   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2645  1114   217 716 815   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2646  1115   716 717 816   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2647  1116   717 718 817   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2648  1117   718 719 818   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2649  1118   620 720 719   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2650  1119   621 622 721   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2651  1120   622 623 722   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2652  1121   623 624 723   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2653  1122   624 625 724   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2654  1123   526 626 625   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2655  1124   527 528 627   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2656  1125   528 529 628   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2657  1126   529 530 629   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2658  1127   530 531 630   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2659  1128   432 532 531   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2660  1129   433 533 532   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2661  1130   434 534 533   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2662  1131   435 436 535   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2663  1132   436 437 536   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2664  1133   437 438 537   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2665  1134   438 439 538   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2666  1135   340 440 439   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2667  1136   341 441 440   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2668  1137   342 442 441   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2669  1138   343 344 443   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2670  1139   344 345 444   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2671  1140   345 346 445   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2672  1141   346 347 446   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2673  1142   347 348 447   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2674  1143   348 349 448   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2675  1144   250 350 349   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2676  1145   251 351 350   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2677  1146   252 352 351   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2678  1147   253 353 352   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2679  1148   254 354 353   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2680  1149   255 256 355   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2681  1150   256 257 356   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2682  1151   257 258 357   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2683  1152   258 259 358   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2684  1153   259 260 359   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2685  1154   260 261 360   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2686  1155   261 262 361   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2687  1156   262 263 362   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2688  1157   263 264 363   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2689  1158   264 265 364   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2690  1159   265 266 365   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2691  1160   266 267 366   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2692  1161   267 268 367   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2693  1162   268 269 368   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2694  1163   269 270 369   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2695  1164   270 271 370   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2696  1165   271 272 371   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2697  1166   272 273 372   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2698  1167   273 274 373   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2699  1168   274 275 374   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2700  1169   275 276 375   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2701  1170   276 277 376   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2702  1171   277 278 377   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2703  1172   278 279 378   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2704  1173   279 280 379   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2705  1174   280 281 380   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2706  1175   281 282 381   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2707  1176   282 283 382   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2708  1177   283 284 383   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2709  1178   284 384 383   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2710  1179   285 385 384   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2711  1180   286 386 385   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2712  1181   287 387 386   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2713  1182   288 388 387   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2714  1183   289 389 388   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2715  1184   389 390 489   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2716  1185   390 391 490   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2717  1186   391 392 491   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2718  1187   392 393 492   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2719  1188   393 493 492   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2720  1189   394 494 493   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2721  1190   395 495 494   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2722  1191   396 496 495   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2723  1192   397 497 496   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2724  1193   497 498 597   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2725  1194   498 499 598   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2726  1195   499 500 599   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2727  1196   500 600 599   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2728  1197   501 601 600   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2729  1198   502 602 601   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2730  1199   503 603 602   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2731  1200   603 604 703   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2732  1201   604 704 703   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2733  1202   605 705 704   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2734  1203   606 706 705   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2735  1204   607 707 706   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2736  1205   707 708 807   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2737  1206   708 808 807   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2738  1207   709 809 808   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2739  1208   710 810 809   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2740  1209   711 811 810   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2741  1210   811 812 911   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2742  1211   812 912 911   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2743  1212   813 913 912   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2744  1213   814 110 913   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2745  2325   1430 2028 1431   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2746  2326   2027 1322 1323   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2747  2327   1430 1929 2028   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2748  2328   1929 1930 2029   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2749  2329   1930 1931 2030   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2750  2330   1931 1932 2031   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2751  2331   1833 1933 1932   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2752  2332   1834 1835 1934   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2753  2333   1835 1836 1935   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2754  2334   1836 1837 1936   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2755  2335   1837 1838 1937   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2756  2336   1739 1839 1838   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2757  2337   1740 1741 1840   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2758  2338   1741 1742 1841   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2759  2339   1742 1743 1842   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2760  2340   1743 1744 1843   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2761  2341   1645 1745 1744   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2762  2342   1646 1746 1745   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2763  2343   1647 1747 1746   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2764  2344   1648 1649 1748   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2765  2345   1649 1650 1749   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2766  2346   1650 1651 1750   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2767  2347   1651 1652 1751   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2768  2348   1553 1653 1652   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2769  2349   1554 1654 1653   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2770  2350   1555 1655 1654   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2771  2351   1556 1557 1656   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2772  2352   1557 1558 1657   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2773  2353   1558 1559 1658   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2774  2354   1559 1560 1659   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2775  2355   1560 1561 1660   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2776  2356   1561 1562 1661   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2777  2357   1463 1563 1562   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2778  2358   1464 1564 1563   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2779  2359   1465 1565 1564   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2780  2360   1466 1566 1565   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2781  2361   1467 1567 1566   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2782  2362   1468 1469 1568   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2783  2363   1469 1470 1569   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2784  2364   1470 1471 1570   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2785  2365   1471 1472 1571   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2786  2366   1472 1473 1572   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2787  2367   1473 1474 1573   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2788  2368   1474 1475 1574   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2789  2369   1475 1476 1575   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2790  2370   1476 1477 1576   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2791  2371   1477 1478 1577   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2792  2372   1478 1479 1578   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2793  2373   1479 1480 1579   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2794  2374   1480 1481 1580   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2795  2375   1481 1482 1581   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2796  2376   1482 1483 1582   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2797  2377   1483 1484 1583   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2798  2378   1484 1485 1584   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2799  2379   1485 1486 1585   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2800  2380   1486 1487 1586   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2801  2381   1487 1488 1587   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2802  2382   1488 1489 1588   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2803  2383   1489 1490 1589   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2804  2384   1490 1491 1590   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2805  2385   1491 1492 1591   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2806  2386   1492 1493 1592   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2807  2387   1493 1494 1593   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2808  2388   1494 1495 1594   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2809  2389   1495 1496 1595   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2810  2390   1496 1497 1596   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2811  2391   1497 1597 1596   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2812  2392   1498 1598 1597   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2813  2393   1499 1599 1598   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2814  2394   1500 1600 1599   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2815  2395   1501 1601 1600   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2816  2396   1502 1602 1601   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2817  2397   1602 1603 1702   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2818  2398   1603 1604 1703   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2819  2399   1604 1605 1704   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2820  2400   1605 1606 1705   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2821  2401   1606 1706 1705   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2822  2402   1607 1707 1706   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2823  2403   1608 1708 1707   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2824  2404   1609 1709 1708   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2825  2405   1610 1710 1709   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2826  2406   1710 1711 1810   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2827  2407   1711 1712 1811   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2828  2408   1712 1713 1812   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2829  2409   1713 1813 1812   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2830  2410   1714 1814 1813   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2831  2411   1715 1815 1814   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2832  2412   1716 1816 1815   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2833  2413   1816 1817 1916   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2834  2414   1817 1917 1916   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2835  2415   1818 1918 1917   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2836  2416   1819 1919 1918   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2837  2417   1820 1920 1919   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2838  2418   1920 1921 2020   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2839  2419   1921 2021 2020   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2840  2420   1922 2022 2021   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2841  2421   1923 2023 2022   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2842  2422   1924 2024 2023   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2843  2423   2024 2025 2124   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2844  2424   2025 2125 2124   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2845  2425   2026 2126 2125   -K 30000000.0 -rot
element ASDEmbeddedNodeElement 2846  2426   2027 1323 2126   -K 30000000.0 -rot

# analyses command
domainChange
constraints Plain
numberer RCM
system UmfPack
test NormUnbalance 0.0001 10  
algorithm Newton
integrator LoadControl 0.0
analysis Static
# ======================================================================================
# NON-ADAPTIVE LOAD CONTROL ANALYSIS
# ======================================================================================

# ======================================================================================
# USER INPUT DATA 
# ======================================================================================

# duration and initial time step
set total_time 1.0
set initial_num_incr 10

set time 0.0
set time_increment [expr $total_time / $initial_num_incr]
integrator LoadControl $time_increment 
for {set increment_counter 1} {$increment_counter <= $initial_num_incr} {incr increment_counter} {
	if {$process_id == 0} {
		puts "Increment: $increment_counter. time_increment = $time_increment. Current time = $time"
	}
	
	set ok [analyze 1 ]
	#barrier
	
	if {$ok == 0} {
		set num_iter [testIter]
		set time [expr $time + $time_increment]
		# print statistics
		set norms [testNorms]
		if {$num_iter > 0} {set last_norm [lindex $norms [expr $num_iter-1]]} else {set last_norm 0.0}
		if {$process_id == 0} {
			puts "Increment: $increment_counter - Iterations: $num_iter - Norm: $last_norm ( [expr $time/$total_time*100.0] % )"
		}
		
		# Call Custom Functions
		set perc [expr $time/$total_time]
		CustomFunctionCaller $increment_counter $time_increment $time $num_iter $last_norm $perc $process_id $is_parallel

	} else {
		error "ERROR: the analysis did not converge"
	}
}

if {$process_id == 0} {
	puts "Target time has been reached. Current time = $time"
	puts "SUCCESS."
}
wipeAnalysis

# Done!
puts "ANALYSIS SUCCESSFULLY FINISHED"
