71 unsigned n_sfbw = n_lobw + n_upbw;
90 SpMat<T> reference_load;
92 uvec auxiliary_encoding;
93 Col<T> auxiliary_lambda;
94 Col<T> auxiliary_resistance;
95 Col<T> auxiliary_load;
96 SpMat<T> auxiliary_stiffness;
98 SpCol<T> trial_constraint_resistance;
99 SpCol<T> current_constraint_resistance;
106 T strain_energy = 0.;
107 T kinetic_energy = 0.;
108 T viscous_energy = 0.;
109 T complementary_energy = 0.;
112 Col<T> trial_load_factor;
114 Col<T> trial_settlement;
115 Col<T> trial_resistance;
116 Col<T> trial_damping_force;
117 Col<T> trial_inertial_force;
118 Col<T> trial_displacement;
119 Col<T> trial_velocity;
120 Col<T> trial_acceleration;
121 Col<T> trial_temperature;
123 Col<T> incre_load_factor;
125 Col<T> incre_settlement;
126 Col<T> incre_resistance;
127 Col<T> incre_damping_force;
128 Col<T> incre_inertial_force;
129 Col<T> incre_displacement;
130 Col<T> incre_velocity;
131 Col<T> incre_acceleration;
132 Col<T> incre_temperature;
134 Col<T> current_load_factor;
136 Col<T> current_settlement;
137 Col<T> current_resistance;
138 Col<T> current_damping_force;
139 Col<T> current_inertial_force;
140 Col<T> current_displacement;
141 Col<T> current_velocity;
142 Col<T> current_acceleration;
143 Col<T> current_temperature;
145 Col<T> pre_load_factor;
147 Col<T> pre_settlement;
148 Col<T> pre_resistance;
149 Col<T> pre_damping_force;
150 Col<T> pre_inertial_force;
151 Col<T> pre_displacement;
153 Col<T> pre_acceleration;
154 Col<T> pre_temperature;
156 shared_ptr<MetaMat<T>> global_mass =
nullptr;
157 shared_ptr<MetaMat<T>> global_damping =
nullptr;
158 shared_ptr<MetaMat<T>> global_stiffness =
nullptr;
159 shared_ptr<MetaMat<T>> global_geometry =
nullptr;
161 std::vector<std::mutex> global_mutex = std::vector<std::mutex>(20);
176 [[nodiscard]]
unsigned get_size()
const;
304 [[nodiscard]]
unsigned get_mpc()
const;
371 const shared_ptr<MetaMat<T>>&
get_mass()
const;
533 template<sp_d T1>
friend shared_ptr<MetaMat<T1>>&
get_mass(
const shared_ptr<
Factory<T1>>&);
629 , storage_type(
SS) {}
632 if(D == n_size)
return;
634 access::rw(initialized) =
false;
644 if(B == nlgeom)
return;
646 access::rw(initialized) =
false;
660 if(
AT == analysis_type)
return;
662 access::rw(initialized) =
false;
668 if(
SS == storage_type)
return;
670 access::rw(initialized) =
false;
678 if(L == n_lobw &&
U == n_upbw)
return;
682 access::rw(initialized) =
false;
693 if(
S == n_rfld)
return;
710 reference_dof.clear();
712 if(initialized || n_size == 0)
return 0;
719 switch(analysis_type) {
721 initialize_displacement();
725 initialize_stiffness();
731 initialize_resistance();
732 initialize_displacement();
733 initialize_stiffness();
734 initialize_geometry();
738 initialize_resistance();
739 initialize_damping_force();
740 initialize_inertial_force();
741 initialize_displacement();
742 initialize_velocity();
743 initialize_acceleration();
745 initialize_damping();
746 initialize_stiffness();
747 initialize_geometry();
753 initialize_auxiliary_resistance();
755 access::rw(initialized) =
true;
761 if(n_rfld == 0)
return;
763 trial_load_factor.zeros(n_rfld);
764 incre_load_factor.zeros(n_rfld);
765 current_load_factor.zeros(n_rfld);
767 reference_load.zeros(n_size, n_rfld);
771 trial_load.zeros(n_size);
772 incre_load.zeros(n_size);
773 current_load.zeros(n_size);
777 trial_settlement.zeros(n_size);
778 incre_settlement.zeros(n_size);
779 current_settlement.zeros(n_size);
783 trial_resistance.zeros(n_size);
784 incre_resistance.zeros(n_size);
785 current_resistance.zeros(n_size);
789 trial_damping_force.zeros(n_size);
790 incre_damping_force.zeros(n_size);
791 current_damping_force.zeros(n_size);
795 trial_inertial_force.zeros(n_size);
796 incre_inertial_force.zeros(n_size);
797 current_inertial_force.zeros(n_size);
801 trial_displacement.zeros(n_size);
802 incre_displacement.zeros(n_size);
803 current_displacement.zeros(n_size);
807 trial_velocity.zeros(n_size);
808 incre_velocity.zeros(n_size);
809 current_velocity.zeros(n_size);
813 trial_acceleration.zeros(n_size);
814 incre_acceleration.zeros(n_size);
815 current_acceleration.zeros(n_size);
819 trial_temperature.zeros(n_size);
820 incre_temperature.zeros(n_size);
821 current_temperature.zeros(n_size);
825 trial_constraint_resistance.zeros(n_size);
826 current_constraint_resistance.zeros(n_size);
842 eigenvalue.zeros(n_size);
843 eigenvector.zeros(n_size, n_size);
852 auxiliary_encoding.zeros(n_mpc);
853 auxiliary_resistance.zeros(n_mpc);
854 auxiliary_load.zeros(n_mpc);
855 auxiliary_stiffness.zeros(n_size, n_mpc);
1116 incre_time = trial_time - current_time;
1120 trial_load_factor = L;
1121 incre_load_factor = trial_load_factor - current_load_factor;
1126 incre_load = trial_load - current_load;
1130 trial_settlement =
S;
1131 incre_settlement = trial_settlement - current_settlement;
1135 trial_resistance = R;
1136 incre_resistance = trial_resistance - current_resistance;
1140 trial_damping_force = R;
1141 incre_damping_force = trial_damping_force - current_damping_force;
1145 trial_inertial_force = R;
1146 incre_inertial_force = trial_inertial_force - current_inertial_force;
1150 trial_displacement = D;
1151 incre_displacement = trial_displacement - current_displacement;
1156 incre_velocity = trial_velocity - current_velocity;
1160 trial_acceleration =
A;
1161 incre_acceleration = trial_acceleration - current_acceleration;
1165 trial_temperature =
M;
1166 incre_temperature = trial_temperature - current_temperature;
1171 trial_time = current_time + incre_time;
1175 incre_load_factor = L;
1176 trial_load_factor = current_load_factor + incre_load_factor;
1181 trial_load = current_load + incre_load;
1185 incre_settlement =
S;
1186 trial_settlement = current_settlement + incre_settlement;
1190 incre_resistance = R;
1191 trial_resistance = current_resistance + incre_resistance;
1195 incre_damping_force = R;
1196 trial_damping_force = current_damping_force + incre_damping_force;
1200 incre_inertial_force = R;
1201 trial_inertial_force = current_inertial_force + incre_inertial_force;
1205 incre_displacement = D;
1206 trial_displacement = current_displacement + incre_displacement;
1211 trial_velocity = current_velocity + incre_velocity;
1215 incre_acceleration =
A;
1216 trial_acceleration = current_acceleration + incre_acceleration;
1220 incre_temperature =
M;
1221 trial_temperature = current_temperature + incre_temperature;
1225 trial_time = current_time =
M;
1230 trial_load_factor = current_load_factor = L;
1231 incre_load_factor.zeros();
1235 trial_load = current_load = L;
1240 trial_settlement = current_settlement =
S;
1241 incre_settlement.zeros();
1245 trial_resistance = current_resistance = R;
1246 incre_resistance.zeros();
1250 trial_damping_force = current_damping_force = R;
1251 incre_damping_force.zeros();
1255 trial_inertial_force = current_inertial_force = R;
1256 incre_inertial_force.zeros();
1260 trial_displacement = current_displacement = D;
1261 incre_displacement.zeros();
1265 trial_velocity = current_velocity =
V;
1266 incre_velocity.zeros();
1270 trial_acceleration = current_acceleration =
A;
1271 incre_acceleration.zeros();
1275 trial_temperature = current_temperature =
M;
1276 incre_temperature.zeros();
1281 incre_time = trial_time - current_time;
1285 trial_load_factor += L;
1286 incre_load_factor = trial_load_factor - current_load_factor;
1291 incre_load = trial_load - current_load;
1295 trial_settlement +=
S;
1296 incre_settlement = trial_settlement - current_settlement;
1300 trial_resistance += R;
1301 incre_resistance = trial_resistance - current_resistance;
1305 trial_damping_force += R;
1306 incre_damping_force = trial_damping_force - current_damping_force;
1310 trial_inertial_force += R;
1311 incre_inertial_force = trial_inertial_force - current_inertial_force;
1315 trial_displacement += D;
1316 incre_displacement = trial_displacement - current_displacement;
1320 trial_velocity +=
V;
1321 incre_velocity = trial_velocity - current_velocity;
1325 trial_acceleration +=
A;
1326 incre_acceleration = trial_acceleration - current_acceleration;
1330 trial_temperature +=
M;
1331 incre_temperature = trial_temperature - current_temperature;
1336 trial_time = current_time + incre_time;
1340 incre_load_factor += L;
1341 trial_load_factor = current_load_factor + incre_load_factor;
1346 trial_load = current_load + incre_load;
1350 incre_settlement +=
S;
1351 trial_settlement = current_settlement + incre_settlement;
1355 incre_resistance += R;
1356 trial_resistance = current_resistance + incre_resistance;
1360 incre_damping_force += R;
1361 trial_damping_force = current_damping_force + incre_damping_force;
1365 incre_inertial_force += R;
1366 trial_inertial_force = current_inertial_force + incre_inertial_force;
1370 incre_displacement += D;
1371 trial_displacement = current_displacement + incre_displacement;
1375 incre_velocity +=
V;
1376 trial_velocity = current_velocity + incre_velocity;
1380 incre_acceleration +=
A;
1381 trial_acceleration = current_acceleration + incre_acceleration;
1385 incre_temperature +=
M;
1386 trial_temperature = current_temperature + incre_temperature;
1390 trial_time = current_time +=
M;
1395 trial_load_factor = current_load_factor += L;
1396 incre_load_factor.zeros();
1400 trial_load = current_load += L;
1405 trial_settlement = current_settlement +=
S;
1406 incre_settlement.zeros();
1410 trial_resistance = current_resistance += R;
1411 incre_resistance.zeros();
1415 trial_damping_force = current_damping_force += R;
1416 incre_damping_force.zeros();
1420 trial_inertial_force = current_inertial_force += R;
1421 incre_inertial_force.zeros();
1425 trial_displacement = current_displacement += D;
1426 incre_displacement.zeros();
1430 trial_velocity = current_velocity +=
V;
1431 incre_velocity.zeros();
1435 trial_acceleration = current_acceleration +=
A;
1436 incre_acceleration.zeros();
1440 trial_temperature = current_temperature +=
M;
1441 incre_temperature.zeros();
1445 auto se = std::async([&] {
if(!trial_resistance.empty() && !incre_displacement.empty()) strain_energy += .5 * dot(trial_resistance + current_resistance, incre_displacement); });
1446 auto ke = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) kinetic_energy = .5 * dot(global_mass * trial_velocity, trial_velocity); });
1447 auto ve = std::async([&] {
if(!trial_damping_force.empty() && !incre_displacement.empty()) viscous_energy += .5 * dot(trial_damping_force + current_damping_force, incre_displacement); });
1448 auto ce = std::async([&] {
if(!trial_displacement.empty() && !incre_resistance.empty()) complementary_energy += .5 * dot(trial_displacement + current_displacement, incre_resistance); });
1449 auto mm = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) momentum = global_mass * trial_velocity; });
1460 kinetic_energy = 0.;
1461 viscous_energy = 0.;
1462 complementary_energy = 0.;
1470 commit_load_factor();
1472 commit_settlement();
1473 commit_resistance();
1474 commit_damping_force();
1475 commit_inertial_force();
1476 commit_displacement();
1478 commit_acceleration();
1479 commit_temperature();
1480 commit_auxiliary_resistance();
1484 current_time = trial_time;
1489 if(trial_load_factor.is_empty())
return;
1490 current_load_factor = trial_load_factor;
1491 incre_load_factor.zeros();
1495 if(trial_load.is_empty())
return;
1496 current_load = trial_load;
1501 if(trial_settlement.is_empty())
return;
1502 current_settlement = trial_settlement;
1503 incre_settlement.zeros();
1507 if(trial_resistance.is_empty())
return;
1508 current_resistance = trial_resistance;
1509 incre_resistance.zeros();
1513 if(trial_damping_force.is_empty())
return;
1514 current_damping_force = trial_damping_force;
1515 incre_damping_force.zeros();
1519 if(trial_inertial_force.is_empty())
return;
1520 current_inertial_force = trial_inertial_force;
1521 incre_inertial_force.zeros();
1525 if(trial_displacement.is_empty())
return;
1526 current_displacement = trial_displacement;
1527 incre_displacement.zeros();
1531 if(trial_velocity.is_empty())
return;
1532 current_velocity = trial_velocity;
1533 incre_velocity.zeros();
1537 if(trial_acceleration.is_empty())
return;
1538 current_acceleration = trial_acceleration;
1539 incre_acceleration.zeros();
1543 if(trial_temperature.is_empty())
return;
1544 current_temperature = trial_temperature;
1545 incre_temperature.zeros();
1549 if(trial_constraint_resistance.is_empty())
return;
1550 current_constraint_resistance = trial_constraint_resistance;
1555 commit_pre_load_factor();
1557 commit_pre_settlement();
1558 commit_pre_resistance();
1559 commit_pre_damping_force();
1560 commit_pre_inertial_force();
1561 commit_pre_displacement();
1562 commit_pre_velocity();
1563 commit_pre_acceleration();
1564 commit_pre_temperature();
1590 access::rw(initialized) =
false;
1597 clear_load_factor();
1601 clear_damping_force();
1602 clear_inertial_force();
1603 clear_displacement();
1605 clear_acceleration();
1606 clear_temperature();
1607 clear_auxiliary_resistance();
1613 if(!pre_load_factor.is_empty()) pre_load_factor.zeros();
1614 if(!trial_load_factor.is_empty()) trial_load_factor.zeros();
1615 if(!incre_load_factor.is_empty()) incre_load_factor.zeros();
1616 if(!current_load_factor.is_empty()) current_load_factor.zeros();
1620 if(!pre_load.is_empty()) pre_load.zeros();
1621 if(!trial_load.is_empty()) trial_load.zeros();
1622 if(!incre_load.is_empty()) incre_load.zeros();
1623 if(!current_load.is_empty()) current_load.zeros();
1627 if(!pre_settlement.is_empty()) pre_settlement.zeros();
1628 if(!trial_settlement.is_empty()) trial_settlement.zeros();
1629 if(!incre_settlement.is_empty()) incre_settlement.zeros();
1630 if(!current_settlement.is_empty()) current_settlement.zeros();
1634 if(!pre_resistance.is_empty()) pre_resistance.zeros();
1635 if(!trial_resistance.is_empty()) trial_resistance.zeros();
1636 if(!incre_resistance.is_empty()) incre_resistance.zeros();
1637 if(!current_resistance.is_empty()) current_resistance.zeros();
1641 if(!pre_damping_force.is_empty()) pre_damping_force.zeros();
1642 if(!trial_damping_force.is_empty()) trial_damping_force.zeros();
1643 if(!incre_damping_force.is_empty()) incre_damping_force.zeros();
1644 if(!current_damping_force.is_empty()) current_damping_force.zeros();
1648 if(!pre_inertial_force.is_empty()) pre_inertial_force.zeros();
1649 if(!trial_inertial_force.is_empty()) trial_inertial_force.zeros();
1650 if(!incre_inertial_force.is_empty()) incre_inertial_force.zeros();
1651 if(!current_inertial_force.is_empty()) current_inertial_force.zeros();
1655 if(!pre_displacement.is_empty()) pre_displacement.zeros();
1656 if(!trial_displacement.is_empty()) trial_displacement.zeros();
1657 if(!incre_displacement.is_empty()) incre_displacement.zeros();
1658 if(!current_displacement.is_empty()) current_displacement.zeros();
1662 if(!pre_velocity.is_empty()) pre_velocity.zeros();
1663 if(!trial_velocity.is_empty()) trial_velocity.zeros();
1664 if(!incre_velocity.is_empty()) incre_velocity.zeros();
1665 if(!current_velocity.is_empty()) current_velocity.zeros();
1669 if(!pre_acceleration.is_empty()) pre_acceleration.zeros();
1670 if(!trial_acceleration.is_empty()) trial_acceleration.zeros();
1671 if(!incre_acceleration.is_empty()) incre_acceleration.zeros();
1672 if(!current_acceleration.is_empty()) current_acceleration.zeros();
1676 if(!pre_temperature.is_empty()) pre_temperature.zeros();
1677 if(!trial_temperature.is_empty()) trial_temperature.zeros();
1678 if(!incre_temperature.is_empty()) incre_temperature.zeros();
1679 if(!current_temperature.is_empty()) current_temperature.zeros();
1683 if(!trial_constraint_resistance.is_empty()) trial_constraint_resistance.zeros();
1684 if(!current_constraint_resistance.is_empty()) current_constraint_resistance.zeros();
1691 reset_load_factor();
1695 reset_damping_force();
1696 reset_inertial_force();
1697 reset_displacement();
1699 reset_acceleration();
1700 reset_temperature();
1701 reset_auxiliary_resistance();
1705 trial_time = current_time;
1710 if(trial_load_factor.is_empty())
return;
1711 trial_load_factor = current_load_factor;
1712 incre_load_factor.zeros();
1716 if(trial_load.is_empty())
return;
1717 trial_load = current_load;
1722 if(trial_settlement.is_empty())
return;
1723 trial_settlement = current_settlement;
1724 incre_settlement.zeros();
1728 if(trial_resistance.is_empty())
return;
1729 trial_resistance = current_resistance;
1730 incre_resistance.zeros();
1734 if(trial_damping_force.is_empty())
return;
1735 trial_damping_force = current_damping_force;
1736 incre_damping_force.zeros();
1740 if(trial_inertial_force.is_empty())
return;
1741 trial_inertial_force = current_inertial_force;
1742 incre_inertial_force.zeros();
1746 if(trial_displacement.is_empty())
return;
1747 trial_displacement = current_displacement;
1748 incre_displacement.zeros();
1752 if(trial_velocity.is_empty())
return;
1753 trial_velocity = current_velocity;
1754 incre_velocity.zeros();
1758 if(trial_acceleration.is_empty())
return;
1759 trial_acceleration = current_acceleration;
1760 incre_acceleration.zeros();
1764 if(trial_temperature.is_empty())
return;
1765 trial_temperature = current_temperature;
1766 incre_temperature.zeros();
1770 if(trial_constraint_resistance.is_empty())
return;
1771 trial_constraint_resistance = current_constraint_resistance;
1775 if(!eigenvalue.is_empty()) eigenvalue.zeros();
1776 if(!eigenvector.is_empty()) eigenvector.zeros();
1789 auxiliary_load.reset();
1790 auxiliary_stiffness.set_size(n_size, 0);
1791 auxiliary_resistance.reset();
1792 auxiliary_encoding.reset();
1796 global_mass =
nullptr;
1797 global_damping =
nullptr;
1798 global_stiffness =
nullptr;
1799 global_geometry =
nullptr;
1803 if(ER.is_empty())
return;
1804 for(
unsigned I = 0; I < EI.n_elem; ++I) trial_resistance(EI(I)) += ER(I);
1808 if(ER.is_empty())
return;
1809 for(
unsigned I = 0; I < EI.n_elem; ++I) trial_damping_force(EI(I)) += ER(I);
1813 if(ER.is_empty())
return;
1814 for(
unsigned I = 0; I < EI.n_elem; ++I) trial_inertial_force(EI(I)) += ER(I);
1818 if(EM.is_empty())
return;
1819 for(
unsigned I = 0; I < EI.n_elem; ++I)
for(
unsigned J = 0; J < EI.n_elem; ++J) global_mass->at(EI(J), EI(I)) += EM(J, I);
1823 if(EC.is_empty())
return;
1824 for(
unsigned I = 0; I < EI.n_elem; ++I)
for(
unsigned J = 0; J < EI.n_elem; ++J) global_damping->at(EI(J), EI(I)) += EC(J, I);
1828 if(EK.is_empty())
return;
1829 for(
unsigned I = 0; I < EI.n_elem; ++I)
for(
unsigned J = 0; J < EI.n_elem; ++J) global_stiffness->at(EI(J), EI(I)) += EK(J, I);
1833 if(EG.is_empty() || !nlgeom)
return;
1834 for(
unsigned I = 0; I < EI.n_elem; ++I)
for(
unsigned J = 0; J < EI.n_elem; ++J) global_geometry->at(EI(J), EI(I)) += EG(J, I);
1838 if(EK.is_empty())
return;
1839 for(
auto I = EK.begin(); I != EK.end(); ++I) global_stiffness->at(EI(I.row()), EI(I.col())) += *I;
void reset(ExternalMaterialData *data, int *info)
Definition: ElasticExternal.cpp:74
unique_ptr< MetaMat< T > > get_matrix_container(const Factory< T > *const W)
Definition: FactoryHelper.hpp:61
A Factory class.
Definition: Factory.hpp:67
friend Col< T1 > & get_pre_inertial_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_resistance(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_acceleration(const shared_ptr< Factory< T1 >> &)
friend unique_ptr< MetaMat< T1 > > get_matrix_container(const Factory< T1 > *)
friend Col< T1 > & get_trial_temperature(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_inertial_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_damping_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_load(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_acceleration(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_temperature(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_sushi(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_acceleration(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_inertial_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_auxiliary_load(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_velocity(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_velocity(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_velocity(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_inertial_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_load(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_settlement(const shared_ptr< Factory< T1 >> &)
friend SpMat< T1 > & get_reference_load(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_settlement(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_ninja(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_acceleration(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_resistance(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_damping_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_damping_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_settlement(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_auxiliary_resistance(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_resistance(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_current_settlement(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_displacement(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_load(const shared_ptr< Factory< T1 >> &)
friend Mat< T1 > & get_eigenvector(const shared_ptr< Factory< T1 >> &)
friend unique_ptr< MetaMat< T1 > > get_basic_container(const Factory< T1 > *)
friend Col< T1 > & get_pre_displacement(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_temperature(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_damping_force(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_pre_resistance(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_velocity(const shared_ptr< Factory< T1 >> &)
friend SpMat< T1 > & get_auxiliary_stiffness(const shared_ptr< Factory< T1 >> &)
friend T & get_pre_time(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_displacement(const shared_ptr< Factory< T1 >> &)
friend T & get_current_time(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_incre_temperature(const shared_ptr< Factory< T1 >> &)
friend T & get_incre_time(const shared_ptr< Factory< T1 >> &)
const bool initialized
Definition: Factory.hpp:171
friend Col< T1 > & get_current_displacement(const shared_ptr< Factory< T1 >> &)
friend suanpan::set< uword > & get_reference_dof(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_trial_load(const shared_ptr< Factory< T1 >> &)
friend Col< T1 > & get_eigenvalue(const shared_ptr< Factory< T1 >> &)
friend T & get_trial_time(const shared_ptr< Factory< T1 >> &)
void set_pre_inertial_force(const Col< T > &)
Definition: Factory.hpp:938
void set_eigenvalue(const Col< T > &)
Definition: Factory.hpp:956
void clear_acceleration()
Definition: Factory.hpp:1668
void initialize_load()
Definition: Factory.hpp:770
void set_mpc(unsigned)
Definition: Factory.hpp:850
void commit_temperature()
Definition: Factory.hpp:1542
void update_trial_time_by(const T &)
Definition: Factory.hpp:1279
bool is_sparse() const
Definition: Factory.hpp:675
void set_incre_velocity(const Col< T > &)
Definition: Factory.hpp:898
uword get_entry() const
Definition: Factory.hpp:641
void set_incre_temperature(const Col< T > &)
Definition: Factory.hpp:902
void print() const
Definition: Factory.hpp:1842
void clear_resistance()
Definition: Factory.hpp:1633
void initialize_auxiliary_resistance()
Definition: Factory.hpp:824
void clear_load_factor()
Definition: Factory.hpp:1612
void set_incre_acceleration(const Col< T > &)
Definition: Factory.hpp:900
int initialize()
Definition: Factory.hpp:709
void set_incre_time(const T &)
Definition: Factory.hpp:882
const Col< T > & get_current_acceleration() const
Definition: Factory.hpp:1054
void update_incre_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1359
const Col< T > & get_pre_damping_force() const
Definition: Factory.hpp:1068
void reset_displacement()
Definition: Factory.hpp:1745
void update_incre_temperature_by(const Col< T > &)
Definition: Factory.hpp:1384
void set_trial_time(const T &)
Definition: Factory.hpp:860
void set_ninja(const Col< T > &)
Definition: Factory.hpp:846
void update_trial_temperature_by(const Col< T > &)
Definition: Factory.hpp:1329
bool is_nlgeom() const
Definition: Factory.hpp:649
void update_incre_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1339
const Mat< T > & get_eigenvector() const
Definition: Factory.hpp:1112
const Col< T > & get_trial_velocity() const
Definition: Factory.hpp:1008
const Col< T > & get_trial_resistance() const
Definition: Factory.hpp:1000
void update_trial_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1284
const Col< T > & get_ninja() const
Definition: Factory.hpp:960
void set_pre_velocity(const Col< T > &)
Definition: Factory.hpp:942
const Col< T > & get_current_load() const
Definition: Factory.hpp:1040
void set_trial_settlement(const Col< T > &)
Definition: Factory.hpp:866
void set_incre_load_factor(const Col< T > &)
Definition: Factory.hpp:884
void update_incre_load_by(const Col< T > &)
Definition: Factory.hpp:1344
void set_solver_type(SolverType)
Definition: Factory.hpp:651
const Col< T > & get_pre_load() const
Definition: Factory.hpp:1062
void commit_acceleration()
Definition: Factory.hpp:1536
AnalysisType get_analysis_type() const
Definition: Factory.hpp:665
void set_current_resistance(const Col< T > &)
Definition: Factory.hpp:912
void update_incre_displacement(const Col< T > &)
Definition: Factory.hpp:1204
const T & get_current_time() const
Definition: Factory.hpp:1036
void set_incre_displacement(const Col< T > &)
Definition: Factory.hpp:896
void update_current_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1434
const uvec & get_auxiliary_encoding() const
Definition: Factory.hpp:968
void reset_auxiliary_resistance()
Definition: Factory.hpp:1769
void commit_resistance()
Definition: Factory.hpp:1506
const Col< T > & get_incre_inertial_force() const
Definition: Factory.hpp:1026
void set_storage_scheme(StorageScheme)
Definition: Factory.hpp:667
void initialize_damping()
Definition: Factory.hpp:831
void update_incre_velocity(const Col< T > &)
Definition: Factory.hpp:1209
void initialize_geometry()
Definition: Factory.hpp:835
void update_incre_displacement_by(const Col< T > &)
Definition: Factory.hpp:1369
void update_current_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1414
void set_trial_velocity(const Col< T > &)
Definition: Factory.hpp:876
void update_current_resistance(const Col< T > &)
Definition: Factory.hpp:1244
void clear_inertial_force()
Definition: Factory.hpp:1647
void update_trial_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1304
unsigned get_mpc() const
Definition: Factory.hpp:964
const Col< T > & get_current_settlement() const
Definition: Factory.hpp:1042
void assemble_mass(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1817
const SolverSetting< double > & get_solver_setting() const
Definition: Factory.hpp:657
void commit_load_factor()
Definition: Factory.hpp:1488
std::mutex & get_damping_mutex()
Definition: Factory.hpp:1104
void update_trial_velocity_by(const Col< T > &)
Definition: Factory.hpp:1319
void update_current_load_by(const Col< T > &)
Definition: Factory.hpp:1399
const shared_ptr< MetaMat< T > > & get_damping() const
Definition: Factory.hpp:1082
void set_pre_settlement(const Col< T > &)
Definition: Factory.hpp:932
void set_nlgeom(bool)
Definition: Factory.hpp:643
StorageScheme get_storage_scheme() const
Definition: Factory.hpp:673
void commit_inertial_force()
Definition: Factory.hpp:1518
void initialize_resistance()
Definition: Factory.hpp:782
const Col< T > & get_current_damping_force() const
Definition: Factory.hpp:1046
void set_solver_setting(const SolverSetting< double > &)
Definition: Factory.hpp:655
void update_trial_displacement_by(const Col< T > &)
Definition: Factory.hpp:1314
void reset_velocity()
Definition: Factory.hpp:1751
const Col< T > & get_trial_load_factor() const
Definition: Factory.hpp:994
void set_current_load(const Col< T > &)
Definition: Factory.hpp:908
std::mutex & get_trial_load_mutex()
Definition: Factory.hpp:1098
void initialize_stiffness()
Definition: Factory.hpp:833
void initialize_damping_force()
Definition: Factory.hpp:788
const Col< T > & get_pre_settlement() const
Definition: Factory.hpp:1064
void update_trial_temperature(const Col< T > &)
Definition: Factory.hpp:1164
void commit_velocity()
Definition: Factory.hpp:1530
T get_complementary_energy()
Definition: Factory.hpp:988
void reset()
Definition: Factory.hpp:1795
const Col< T > & get_incre_displacement() const
Definition: Factory.hpp:1028
void set_current_damping_force(const Col< T > &)
Definition: Factory.hpp:914
void update_trial_acceleration(const Col< T > &)
Definition: Factory.hpp:1159
const Col< T > & get_auxiliary_load() const
Definition: Factory.hpp:974
void commit_pre_settlement()
Definition: Factory.hpp:1573
const shared_ptr< MetaMat< T > > & get_mass() const
Definition: Factory.hpp:1080
void commit_status()
Definition: Factory.hpp:1466
void commit_pre_load_factor()
Definition: Factory.hpp:1569
const suanpan::set< uword > & get_reference_dof() const
Definition: Factory.hpp:703
void update_trial_inertial_force(const Col< T > &)
Definition: Factory.hpp:1144
void set_current_velocity(const Col< T > &)
Definition: Factory.hpp:920
void commit_displacement()
Definition: Factory.hpp:1524
void update_current_velocity_by(const Col< T > &)
Definition: Factory.hpp:1429
const Col< T > & get_incre_damping_force() const
Definition: Factory.hpp:1024
void update_trial_load_factor(const Col< T > &)
Definition: Factory.hpp:1119
void reset_load_factor()
Definition: Factory.hpp:1709
void clear_velocity()
Definition: Factory.hpp:1661
void update_current_load(const Col< T > &)
Definition: Factory.hpp:1234
void update_incre_settlement_by(const Col< T > &)
Definition: Factory.hpp:1349
unsigned get_reference_size() const
Definition: Factory.hpp:697
void update_current_acceleration(const Col< T > &)
Definition: Factory.hpp:1269
StorageScheme
Definition: Factory.hpp:48
void commit_pre_temperature()
Definition: Factory.hpp:1587
void commit_pre_status()
Definition: Factory.hpp:1553
const T & get_error() const
Definition: Factory.hpp:707
void set_trial_acceleration(const Col< T > &)
Definition: Factory.hpp:878
void set_error(const T &)
Definition: Factory.hpp:705
void update_trial_damping_force(const Col< T > &)
Definition: Factory.hpp:1139
const Col< T > & get_incre_settlement() const
Definition: Factory.hpp:1020
void reset_inertial_force()
Definition: Factory.hpp:1739
void set_reference_dof(const suanpan::set< uword > &)
Definition: Factory.hpp:701
const Col< T > & get_momentum()
Definition: Factory.hpp:990
void update_current_displacement(const Col< T > &)
Definition: Factory.hpp:1259
void clear_settlement()
Definition: Factory.hpp:1626
void set_pre_load(const Col< T > &)
Definition: Factory.hpp:930
std::mutex & get_auxiliary_stiffness_mutex()
Definition: Factory.hpp:1094
void commit_pre_damping_force()
Definition: Factory.hpp:1577
T get_strain_energy()
Definition: Factory.hpp:982
void commit_pre_inertial_force()
Definition: Factory.hpp:1579
void update_trial_settlement(const Col< T > &)
Definition: Factory.hpp:1129
void set_trial_inertial_force(const Col< T > &)
Definition: Factory.hpp:872
const Col< T > & get_eigenvalue() const
Definition: Factory.hpp:1110
void commit_pre_displacement()
Definition: Factory.hpp:1581
std::mutex & get_geometry_mutex()
Definition: Factory.hpp:1108
void commit_pre_acceleration()
Definition: Factory.hpp:1585
const Col< T > & get_incre_velocity() const
Definition: Factory.hpp:1030
void update_current_temperature_by(const Col< T > &)
Definition: Factory.hpp:1439
void set_incre_load(const Col< T > &)
Definition: Factory.hpp:886
void update_reference_size()
Definition: Factory.hpp:690
void set_pre_acceleration(const Col< T > &)
Definition: Factory.hpp:944
void set_incre_inertial_force(const Col< T > &)
Definition: Factory.hpp:894
T get_kinetic_energy()
Definition: Factory.hpp:984
void set_current_settlement(const Col< T > &)
Definition: Factory.hpp:910
void update_trial_settlement_by(const Col< T > &)
Definition: Factory.hpp:1294
void initialize_inertial_force()
Definition: Factory.hpp:794
void set_pre_resistance(const Col< T > &)
Definition: Factory.hpp:934
void commit_load()
Definition: Factory.hpp:1494
void update_trial_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1324
const Col< T > & get_pre_acceleration() const
Definition: Factory.hpp:1076
void update_incre_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1379
void commit_pre_load()
Definition: Factory.hpp:1571
void commit_pre_velocity()
Definition: Factory.hpp:1583
void update_trial_resistance_by(const Col< T > &)
Definition: Factory.hpp:1299
AnalysisType
Definition: Factory.hpp:39
void commit_pre_time()
Definition: Factory.hpp:1567
void commit_auxiliary_resistance()
Definition: Factory.hpp:1548
void update_current_settlement(const Col< T > &)
Definition: Factory.hpp:1239
void set_stiffness(const shared_ptr< MetaMat< T >> &)
Definition: Factory.hpp:952
void update_trial_load(const Col< T > &)
Definition: Factory.hpp:1124
void update_incre_load(const Col< T > &)
Definition: Factory.hpp:1179
const shared_ptr< MetaMat< T > > & get_stiffness() const
Definition: Factory.hpp:1084
void commit_settlement()
Definition: Factory.hpp:1500
const Col< T > & get_auxiliary_lambda() const
Definition: Factory.hpp:970
void reset_load()
Definition: Factory.hpp:1715
void reset_damping_force()
Definition: Factory.hpp:1733
void update_current_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1419
void set_trial_temperature(const Col< T > &)
Definition: Factory.hpp:880
std::mutex & get_auxiliary_encoding_mutex()
Definition: Factory.hpp:1088
SolverType
Definition: Factory.hpp:57
void assemble_damping_force(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1807
const Col< T > & get_pre_displacement() const
Definition: Factory.hpp:1072
void assemble_damping(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1822
const Col< T > & get_current_inertial_force() const
Definition: Factory.hpp:1048
std::mutex & get_mass_mutex()
Definition: Factory.hpp:1102
const Col< T > & get_pre_load_factor() const
Definition: Factory.hpp:1060
void update_incre_time(const T &)
Definition: Factory.hpp:1169
const Col< T > & get_trial_displacement() const
Definition: Factory.hpp:1006
void update_trial_velocity(const Col< T > &)
Definition: Factory.hpp:1154
void update_current_temperature(const Col< T > &)
Definition: Factory.hpp:1274
void reset_temperature()
Definition: Factory.hpp:1763
void assemble_stiffness(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1827
std::mutex & get_auxiliary_resistance_mutex()
Definition: Factory.hpp:1090
void set_current_acceleration(const Col< T > &)
Definition: Factory.hpp:922
void update_current_settlement_by(const Col< T > &)
Definition: Factory.hpp:1404
void initialize_settlement()
Definition: Factory.hpp:776
void clear_damping()
Definition: Factory.hpp:1781
const Col< T > & get_incre_load_factor() const
Definition: Factory.hpp:1016
void clear_energy()
Definition: Factory.hpp:1458
const SpMat< T > & get_reference_load() const
Definition: Factory.hpp:966
void update_incre_time_by(const T &)
Definition: Factory.hpp:1334
void initialize_displacement()
Definition: Factory.hpp:800
void reset_time()
Definition: Factory.hpp:1704
const Col< T > & get_current_displacement() const
Definition: Factory.hpp:1050
unsigned get_size() const
Definition: Factory.hpp:637
void reset_settlement()
Definition: Factory.hpp:1721
void clear_damping_force()
Definition: Factory.hpp:1640
void set_analysis_type(AnalysisType)
Definition: Factory.hpp:659
const Col< T > & get_incre_load() const
Definition: Factory.hpp:1018
void set_entry(uword)
Definition: Factory.hpp:639
const Col< T > & get_incre_acceleration() const
Definition: Factory.hpp:1032
void clear_geometry()
Definition: Factory.hpp:1785
T get_viscous_energy()
Definition: Factory.hpp:986
std::mutex & get_trial_constraint_resistance_mutex()
Definition: Factory.hpp:1096
const Col< T > & get_current_temperature() const
Definition: Factory.hpp:1056
void set_reference_size(unsigned)
Definition: Factory.hpp:692
void initialize_temperature()
Definition: Factory.hpp:818
void set_current_displacement(const Col< T > &)
Definition: Factory.hpp:918
void update_reference_dof(const uvec &)
Definition: Factory.hpp:699
const Col< T > & get_trial_inertial_force() const
Definition: Factory.hpp:1004
void set_current_inertial_force(const Col< T > &)
Definition: Factory.hpp:916
void set_trial_load(const Col< T > &)
Definition: Factory.hpp:864
void set_pre_time(const T &)
Definition: Factory.hpp:926
void update_incre_temperature(const Col< T > &)
Definition: Factory.hpp:1219
void update_current_velocity(const Col< T > &)
Definition: Factory.hpp:1264
const Col< T > & get_trial_settlement() const
Definition: Factory.hpp:998
void set_eigenvector(const Mat< T > &)
Definition: Factory.hpp:958
void initialize_load_factor()
Definition: Factory.hpp:760
const Col< T > & get_trial_load() const
Definition: Factory.hpp:996
void update_current_displacement_by(const Col< T > &)
Definition: Factory.hpp:1424
void set_trial_resistance(const Col< T > &)
Definition: Factory.hpp:868
const T & get_incre_time() const
Definition: Factory.hpp:1014
void set_pre_load_factor(const Col< T > &)
Definition: Factory.hpp:928
void update_current_damping_force(const Col< T > &)
Definition: Factory.hpp:1249
void update_current_load_factor(const Col< T > &)
Definition: Factory.hpp:1229
void commit_energy()
Definition: Factory.hpp:1444
void commit_damping_force()
Definition: Factory.hpp:1512
void update_incre_acceleration(const Col< T > &)
Definition: Factory.hpp:1214
const SpMat< T > & get_auxiliary_stiffness() const
Definition: Factory.hpp:976
void update_current_time_by(const T &)
Definition: Factory.hpp:1389
void assemble_inertial_force(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1812
void clear_status()
Definition: Factory.hpp:1589
void set_bandwidth(unsigned, unsigned)
Definition: Factory.hpp:677
void update_incre_velocity_by(const Col< T > &)
Definition: Factory.hpp:1374
const Col< T > & get_current_load_factor() const
Definition: Factory.hpp:1038
void commit_time()
Definition: Factory.hpp:1483
void clear_mass()
Definition: Factory.hpp:1779
void get_bandwidth(unsigned &, unsigned &) const
Definition: Factory.hpp:685
const Col< T > & get_pre_inertial_force() const
Definition: Factory.hpp:1070
void commit_pre_resistance()
Definition: Factory.hpp:1575
void reset_resistance()
Definition: Factory.hpp:1727
SolverType get_solver_type() const
Definition: Factory.hpp:653
std::mutex & get_auxiliary_load_mutex()
Definition: Factory.hpp:1092
const Col< T > & get_trial_acceleration() const
Definition: Factory.hpp:1010
void assemble_resistance(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1802
void set_incre_damping_force(const Col< T > &)
Definition: Factory.hpp:892
const SpCol< T > & get_trial_constraint_resistance() const
Definition: Factory.hpp:978
void update_incre_damping_force(const Col< T > &)
Definition: Factory.hpp:1194
const Col< T > & get_pre_velocity() const
Definition: Factory.hpp:1074
const Col< T > & get_current_resistance() const
Definition: Factory.hpp:1044
void initialize_velocity()
Definition: Factory.hpp:806
std::mutex & get_stiffness_mutex()
Definition: Factory.hpp:1106
void update_incre_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1364
const Col< T > & get_current_velocity() const
Definition: Factory.hpp:1052
void update_incre_load_factor(const Col< T > &)
Definition: Factory.hpp:1174
void set_incre_resistance(const Col< T > &)
Definition: Factory.hpp:890
void update_current_time(const T &)
Definition: Factory.hpp:1224
const Col< T > & get_pre_temperature() const
Definition: Factory.hpp:1078
void clear_load()
Definition: Factory.hpp:1619
const Col< T > & get_incre_temperature() const
Definition: Factory.hpp:1034
Factory(unsigned=0, AnalysisType=AnalysisType::NONE, StorageScheme=StorageScheme::FULL)
Definition: Factory.hpp:626
void set_size(unsigned)
Definition: Factory.hpp:631
void update_trial_displacement(const Col< T > &)
Definition: Factory.hpp:1149
const Col< T > & get_incre_resistance() const
Definition: Factory.hpp:1022
void assemble_geometry(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1832
const Col< T > & get_sushi() const
Definition: Factory.hpp:962
const Col< T > & get_auxiliary_resistance() const
Definition: Factory.hpp:972
const Col< T > & get_trial_damping_force() const
Definition: Factory.hpp:1002
void update_current_resistance_by(const Col< T > &)
Definition: Factory.hpp:1409
void set_damping(const shared_ptr< MetaMat< T >> &)
Definition: Factory.hpp:950
void set_pre_temperature(const Col< T > &)
Definition: Factory.hpp:946
void update_trial_load_by(const Col< T > &)
Definition: Factory.hpp:1289
const SpCol< T > & get_current_constraint_resistance() const
Definition: Factory.hpp:980
void clear_auxiliary_resistance()
Definition: Factory.hpp:1682
void update_incre_resistance_by(const Col< T > &)
Definition: Factory.hpp:1354
void set_incre_settlement(const Col< T > &)
Definition: Factory.hpp:888
void set_sushi(const Col< T > &)
Definition: Factory.hpp:848
void update_incre_settlement(const Col< T > &)
Definition: Factory.hpp:1184
void set_pre_displacement(const Col< T > &)
Definition: Factory.hpp:940
void set_current_load_factor(const Col< T > &)
Definition: Factory.hpp:906
void set_trial_displacement(const Col< T > &)
Definition: Factory.hpp:874
void update_trial_resistance(const Col< T > &)
Definition: Factory.hpp:1134
void clear_eigen()
Definition: Factory.hpp:1774
void clear_auxiliary()
Definition: Factory.hpp:1787
void set_geometry(const shared_ptr< MetaMat< T >> &)
Definition: Factory.hpp:954
void set_reference_load(const SpMat< T > &)
Definition: Factory.hpp:858
const T & get_pre_time() const
Definition: Factory.hpp:1058
void update_incre_resistance(const Col< T > &)
Definition: Factory.hpp:1189
void update_trial_time(const T &)
Definition: Factory.hpp:1114
void update_current_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1394
void set_trial_load_factor(const Col< T > &)
Definition: Factory.hpp:862
void initialize_eigen()
Definition: Factory.hpp:841
void update_incre_inertial_force(const Col< T > &)
Definition: Factory.hpp:1199
void clear_time()
Definition: Factory.hpp:1610
void clear_displacement()
Definition: Factory.hpp:1654
const T & get_trial_time() const
Definition: Factory.hpp:992
void set_mass(const shared_ptr< MetaMat< T >> &)
Definition: Factory.hpp:948
const shared_ptr< MetaMat< T > > & get_geometry() const
Definition: Factory.hpp:1086
void reset_status()
Definition: Factory.hpp:1687
void update_current_inertial_force(const Col< T > &)
Definition: Factory.hpp:1254
const Col< T > & get_trial_temperature() const
Definition: Factory.hpp:1012
void set_trial_damping_force(const Col< T > &)
Definition: Factory.hpp:870
std::mutex & get_trial_settlement_mutex()
Definition: Factory.hpp:1100
void initialize_mass()
Definition: Factory.hpp:829
void set_pre_damping_force(const Col< T > &)
Definition: Factory.hpp:936
void clear_temperature()
Definition: Factory.hpp:1675
void initialize_acceleration()
Definition: Factory.hpp:812
void update_trial_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1309
void set_current_temperature(const Col< T > &)
Definition: Factory.hpp:924
void reset_acceleration()
Definition: Factory.hpp:1757
void set_current_time(const T &)
Definition: Factory.hpp:904
const Col< T > & get_pre_resistance() const
Definition: Factory.hpp:1066
void clear_stiffness()
Definition: Factory.hpp:1783
std::set< T > set
Definition: container.h:54
void suanpan_info(const char *M,...)
Definition: print.cpp:47