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;
103 T current_time =
T(0);
106 T strain_energy =
T(0);
107 T kinetic_energy =
T(0);
108 T viscous_energy =
T(0);
109 T complementary_energy =
T(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);
170 void assemble_matrix_helper(shared_ptr<
MetaMat<T>>&,
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
178 [[nodiscard]]
unsigned get_size()
const;
306 [[nodiscard]]
unsigned get_mpc()
const;
373 const shared_ptr<MetaMat<T>>&
get_mass()
const;
535 template<sp_d T1>
friend shared_ptr<MetaMat<T1>>&
get_mass(
const shared_ptr<
Factory<T1>>&);
618 void assemble_mass(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
619 void assemble_damping(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
621 void assemble_geometry(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
633 , storage_type(
SS) {}
636 if(D == n_size)
return;
638 access::rw(initialized) =
false;
648 if(B == nlgeom)
return;
650 access::rw(initialized) =
false;
664 if(
AT == analysis_type)
return;
666 access::rw(initialized) =
false;
672 if(
SS == storage_type)
return;
674 access::rw(initialized) =
false;
682 if(L == n_lobw &&
U == n_upbw)
return;
686 access::rw(initialized) =
false;
697 if(
S == n_rfld)
return;
714 reference_dof.clear();
716 if(initialized || n_size == 0)
return 0;
723 switch(analysis_type) {
725 initialize_displacement();
729 initialize_stiffness();
735 initialize_resistance();
736 initialize_displacement();
737 initialize_stiffness();
738 initialize_geometry();
742 initialize_resistance();
743 initialize_damping_force();
744 initialize_inertial_force();
745 initialize_displacement();
746 initialize_velocity();
747 initialize_acceleration();
749 initialize_damping();
750 initialize_stiffness();
751 initialize_geometry();
757 initialize_auxiliary_resistance();
759 access::rw(initialized) =
true;
765 if(n_rfld == 0)
return;
767 trial_load_factor.zeros(n_rfld);
768 incre_load_factor.zeros(n_rfld);
769 current_load_factor.zeros(n_rfld);
771 reference_load.zeros(n_size, n_rfld);
775 trial_load.zeros(n_size);
776 incre_load.zeros(n_size);
777 current_load.zeros(n_size);
781 trial_settlement.zeros(n_size);
782 incre_settlement.zeros(n_size);
783 current_settlement.zeros(n_size);
787 trial_resistance.zeros(n_size);
788 incre_resistance.zeros(n_size);
789 current_resistance.zeros(n_size);
793 trial_damping_force.zeros(n_size);
794 incre_damping_force.zeros(n_size);
795 current_damping_force.zeros(n_size);
799 trial_inertial_force.zeros(n_size);
800 incre_inertial_force.zeros(n_size);
801 current_inertial_force.zeros(n_size);
805 trial_displacement.zeros(n_size);
806 incre_displacement.zeros(n_size);
807 current_displacement.zeros(n_size);
811 trial_velocity.zeros(n_size);
812 incre_velocity.zeros(n_size);
813 current_velocity.zeros(n_size);
817 trial_acceleration.zeros(n_size);
818 incre_acceleration.zeros(n_size);
819 current_acceleration.zeros(n_size);
823 trial_temperature.zeros(n_size);
824 incre_temperature.zeros(n_size);
825 current_temperature.zeros(n_size);
829 trial_constraint_resistance.zeros(n_size);
830 current_constraint_resistance.zeros(n_size);
846 eigenvalue.zeros(n_size);
847 eigenvector.zeros(n_size, n_size);
856 auxiliary_encoding.zeros(n_mpc);
857 auxiliary_resistance.zeros(n_mpc);
858 auxiliary_load.zeros(n_mpc);
859 auxiliary_stiffness.zeros(n_size, n_mpc);
1120 incre_time = trial_time - current_time;
1124 trial_load_factor = L;
1125 incre_load_factor = trial_load_factor - current_load_factor;
1130 incre_load = trial_load - current_load;
1134 trial_settlement =
S;
1135 incre_settlement = trial_settlement - current_settlement;
1139 trial_resistance = R;
1140 incre_resistance = trial_resistance - current_resistance;
1144 trial_damping_force = R;
1145 incre_damping_force = trial_damping_force - current_damping_force;
1149 trial_inertial_force = R;
1150 incre_inertial_force = trial_inertial_force - current_inertial_force;
1154 trial_displacement = D;
1155 incre_displacement = trial_displacement - current_displacement;
1160 incre_velocity = trial_velocity - current_velocity;
1164 trial_acceleration =
A;
1165 incre_acceleration = trial_acceleration - current_acceleration;
1169 trial_temperature =
M;
1170 incre_temperature = trial_temperature - current_temperature;
1175 trial_time = current_time + incre_time;
1179 incre_load_factor = L;
1180 trial_load_factor = current_load_factor + incre_load_factor;
1185 trial_load = current_load + incre_load;
1189 incre_settlement =
S;
1190 trial_settlement = current_settlement + incre_settlement;
1194 incre_resistance = R;
1195 trial_resistance = current_resistance + incre_resistance;
1199 incre_damping_force = R;
1200 trial_damping_force = current_damping_force + incre_damping_force;
1204 incre_inertial_force = R;
1205 trial_inertial_force = current_inertial_force + incre_inertial_force;
1209 incre_displacement = D;
1210 trial_displacement = current_displacement + incre_displacement;
1215 trial_velocity = current_velocity + incre_velocity;
1219 incre_acceleration =
A;
1220 trial_acceleration = current_acceleration + incre_acceleration;
1224 incre_temperature =
M;
1225 trial_temperature = current_temperature + incre_temperature;
1229 trial_time = current_time =
M;
1234 trial_load_factor = current_load_factor = L;
1235 incre_load_factor.zeros();
1239 trial_load = current_load = L;
1244 trial_settlement = current_settlement =
S;
1245 incre_settlement.zeros();
1249 trial_resistance = current_resistance = R;
1250 incre_resistance.zeros();
1254 trial_damping_force = current_damping_force = R;
1255 incre_damping_force.zeros();
1259 trial_inertial_force = current_inertial_force = R;
1260 incre_inertial_force.zeros();
1264 trial_displacement = current_displacement = D;
1265 incre_displacement.zeros();
1269 trial_velocity = current_velocity =
V;
1270 incre_velocity.zeros();
1274 trial_acceleration = current_acceleration =
A;
1275 incre_acceleration.zeros();
1279 trial_temperature = current_temperature =
M;
1280 incre_temperature.zeros();
1285 incre_time = trial_time - current_time;
1289 trial_load_factor += L;
1290 incre_load_factor = trial_load_factor - current_load_factor;
1295 incre_load = trial_load - current_load;
1299 trial_settlement +=
S;
1300 incre_settlement = trial_settlement - current_settlement;
1304 trial_resistance += R;
1305 incre_resistance = trial_resistance - current_resistance;
1309 trial_damping_force += R;
1310 incre_damping_force = trial_damping_force - current_damping_force;
1314 trial_inertial_force += R;
1315 incre_inertial_force = trial_inertial_force - current_inertial_force;
1319 trial_displacement += D;
1320 incre_displacement = trial_displacement - current_displacement;
1324 trial_velocity +=
V;
1325 incre_velocity = trial_velocity - current_velocity;
1329 trial_acceleration +=
A;
1330 incre_acceleration = trial_acceleration - current_acceleration;
1334 trial_temperature +=
M;
1335 incre_temperature = trial_temperature - current_temperature;
1340 trial_time = current_time + incre_time;
1344 incre_load_factor += L;
1345 trial_load_factor = current_load_factor + incre_load_factor;
1350 trial_load = current_load + incre_load;
1354 incre_settlement +=
S;
1355 trial_settlement = current_settlement + incre_settlement;
1359 incre_resistance += R;
1360 trial_resistance = current_resistance + incre_resistance;
1364 incre_damping_force += R;
1365 trial_damping_force = current_damping_force + incre_damping_force;
1369 incre_inertial_force += R;
1370 trial_inertial_force = current_inertial_force + incre_inertial_force;
1374 incre_displacement += D;
1375 trial_displacement = current_displacement + incre_displacement;
1379 incre_velocity +=
V;
1380 trial_velocity = current_velocity + incre_velocity;
1384 incre_acceleration +=
A;
1385 trial_acceleration = current_acceleration + incre_acceleration;
1389 incre_temperature +=
M;
1390 trial_temperature = current_temperature + incre_temperature;
1394 trial_time = current_time +=
M;
1399 trial_load_factor = current_load_factor += L;
1400 incre_load_factor.zeros();
1404 trial_load = current_load += L;
1409 trial_settlement = current_settlement +=
S;
1410 incre_settlement.zeros();
1414 trial_resistance = current_resistance += R;
1415 incre_resistance.zeros();
1419 trial_damping_force = current_damping_force += R;
1420 incre_damping_force.zeros();
1424 trial_inertial_force = current_inertial_force += R;
1425 incre_inertial_force.zeros();
1429 trial_displacement = current_displacement += D;
1430 incre_displacement.zeros();
1434 trial_velocity = current_velocity +=
V;
1435 incre_velocity.zeros();
1439 trial_acceleration = current_acceleration +=
A;
1440 incre_acceleration.zeros();
1444 trial_temperature = current_temperature +=
M;
1445 incre_temperature.zeros();
1449 auto se = std::async([&] {
if(!trial_resistance.empty() && !incre_displacement.empty()) strain_energy += .5 * dot(trial_resistance + current_resistance, incre_displacement); });
1450 auto ke = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) kinetic_energy = .5 * dot(global_mass * trial_velocity, trial_velocity); });
1451 auto ve = std::async([&] {
if(!trial_damping_force.empty() && !incre_displacement.empty()) viscous_energy += .5 * dot(trial_damping_force + current_damping_force, incre_displacement); });
1452 auto ce = std::async([&] {
if(!trial_displacement.empty() && !incre_resistance.empty()) complementary_energy += .5 * dot(trial_displacement + current_displacement, incre_resistance); });
1453 auto mm = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) momentum = global_mass * trial_velocity; });
1463 strain_energy =
T(0);
1464 kinetic_energy =
T(0);
1465 viscous_energy =
T(0);
1466 complementary_energy =
T(0);
1476 commit_load_factor();
1478 commit_settlement();
1479 commit_resistance();
1480 commit_damping_force();
1481 commit_inertial_force();
1482 commit_displacement();
1484 commit_acceleration();
1485 commit_temperature();
1486 commit_auxiliary_resistance();
1490 current_time = trial_time;
1495 if(trial_load_factor.is_empty())
return;
1496 current_load_factor = trial_load_factor;
1497 incre_load_factor.zeros();
1501 if(trial_load.is_empty())
return;
1502 current_load = trial_load;
1507 if(trial_settlement.is_empty())
return;
1508 current_settlement = trial_settlement;
1509 incre_settlement.zeros();
1513 if(trial_resistance.is_empty())
return;
1514 current_resistance = trial_resistance;
1515 incre_resistance.zeros();
1519 if(trial_damping_force.is_empty())
return;
1520 current_damping_force = trial_damping_force;
1521 incre_damping_force.zeros();
1525 if(trial_inertial_force.is_empty())
return;
1526 current_inertial_force = trial_inertial_force;
1527 incre_inertial_force.zeros();
1531 if(trial_displacement.is_empty())
return;
1532 current_displacement = trial_displacement;
1533 incre_displacement.zeros();
1537 if(trial_velocity.is_empty())
return;
1538 current_velocity = trial_velocity;
1539 incre_velocity.zeros();
1543 if(trial_acceleration.is_empty())
return;
1544 current_acceleration = trial_acceleration;
1545 incre_acceleration.zeros();
1549 if(trial_temperature.is_empty())
return;
1550 current_temperature = trial_temperature;
1551 incre_temperature.zeros();
1555 if(trial_constraint_resistance.is_empty())
return;
1556 current_constraint_resistance = trial_constraint_resistance;
1561 commit_pre_load_factor();
1563 commit_pre_settlement();
1564 commit_pre_resistance();
1565 commit_pre_damping_force();
1566 commit_pre_inertial_force();
1567 commit_pre_displacement();
1568 commit_pre_velocity();
1569 commit_pre_acceleration();
1570 commit_pre_temperature();
1596 access::rw(initialized) =
false;
1603 clear_load_factor();
1607 clear_damping_force();
1608 clear_inertial_force();
1609 clear_displacement();
1611 clear_acceleration();
1612 clear_temperature();
1613 clear_auxiliary_resistance();
1619 if(!pre_load_factor.is_empty()) pre_load_factor.zeros();
1620 if(!trial_load_factor.is_empty()) trial_load_factor.zeros();
1621 if(!incre_load_factor.is_empty()) incre_load_factor.zeros();
1622 if(!current_load_factor.is_empty()) current_load_factor.zeros();
1626 if(!pre_load.is_empty()) pre_load.zeros();
1627 if(!trial_load.is_empty()) trial_load.zeros();
1628 if(!incre_load.is_empty()) incre_load.zeros();
1629 if(!current_load.is_empty()) current_load.zeros();
1633 if(!pre_settlement.is_empty()) pre_settlement.zeros();
1634 if(!trial_settlement.is_empty()) trial_settlement.zeros();
1635 if(!incre_settlement.is_empty()) incre_settlement.zeros();
1636 if(!current_settlement.is_empty()) current_settlement.zeros();
1640 if(!pre_resistance.is_empty()) pre_resistance.zeros();
1641 if(!trial_resistance.is_empty()) trial_resistance.zeros();
1642 if(!incre_resistance.is_empty()) incre_resistance.zeros();
1643 if(!current_resistance.is_empty()) current_resistance.zeros();
1647 if(!pre_damping_force.is_empty()) pre_damping_force.zeros();
1648 if(!trial_damping_force.is_empty()) trial_damping_force.zeros();
1649 if(!incre_damping_force.is_empty()) incre_damping_force.zeros();
1650 if(!current_damping_force.is_empty()) current_damping_force.zeros();
1654 if(!pre_inertial_force.is_empty()) pre_inertial_force.zeros();
1655 if(!trial_inertial_force.is_empty()) trial_inertial_force.zeros();
1656 if(!incre_inertial_force.is_empty()) incre_inertial_force.zeros();
1657 if(!current_inertial_force.is_empty()) current_inertial_force.zeros();
1661 if(!pre_displacement.is_empty()) pre_displacement.zeros();
1662 if(!trial_displacement.is_empty()) trial_displacement.zeros();
1663 if(!incre_displacement.is_empty()) incre_displacement.zeros();
1664 if(!current_displacement.is_empty()) current_displacement.zeros();
1668 if(!pre_velocity.is_empty()) pre_velocity.zeros();
1669 if(!trial_velocity.is_empty()) trial_velocity.zeros();
1670 if(!incre_velocity.is_empty()) incre_velocity.zeros();
1671 if(!current_velocity.is_empty()) current_velocity.zeros();
1675 if(!pre_acceleration.is_empty()) pre_acceleration.zeros();
1676 if(!trial_acceleration.is_empty()) trial_acceleration.zeros();
1677 if(!incre_acceleration.is_empty()) incre_acceleration.zeros();
1678 if(!current_acceleration.is_empty()) current_acceleration.zeros();
1682 if(!pre_temperature.is_empty()) pre_temperature.zeros();
1683 if(!trial_temperature.is_empty()) trial_temperature.zeros();
1684 if(!incre_temperature.is_empty()) incre_temperature.zeros();
1685 if(!current_temperature.is_empty()) current_temperature.zeros();
1689 if(!trial_constraint_resistance.is_empty()) trial_constraint_resistance.zeros();
1690 if(!current_constraint_resistance.is_empty()) current_constraint_resistance.zeros();
1697 reset_load_factor();
1701 reset_damping_force();
1702 reset_inertial_force();
1703 reset_displacement();
1705 reset_acceleration();
1706 reset_temperature();
1707 reset_auxiliary_resistance();
1711 trial_time = current_time;
1716 if(trial_load_factor.is_empty())
return;
1717 trial_load_factor = current_load_factor;
1718 incre_load_factor.zeros();
1722 if(trial_load.is_empty())
return;
1723 trial_load = current_load;
1728 if(trial_settlement.is_empty())
return;
1729 trial_settlement = current_settlement;
1730 incre_settlement.zeros();
1734 if(trial_resistance.is_empty())
return;
1735 trial_resistance = current_resistance;
1736 incre_resistance.zeros();
1740 if(trial_damping_force.is_empty())
return;
1741 trial_damping_force = current_damping_force;
1742 incre_damping_force.zeros();
1746 if(trial_inertial_force.is_empty())
return;
1747 trial_inertial_force = current_inertial_force;
1748 incre_inertial_force.zeros();
1752 if(trial_displacement.is_empty())
return;
1753 trial_displacement = current_displacement;
1754 incre_displacement.zeros();
1758 if(trial_velocity.is_empty())
return;
1759 trial_velocity = current_velocity;
1760 incre_velocity.zeros();
1764 if(trial_acceleration.is_empty())
return;
1765 trial_acceleration = current_acceleration;
1766 incre_acceleration.zeros();
1770 if(trial_temperature.is_empty())
return;
1771 trial_temperature = current_temperature;
1772 incre_temperature.zeros();
1776 if(trial_constraint_resistance.is_empty())
return;
1777 trial_constraint_resistance = current_constraint_resistance;
1781 if(!eigenvalue.is_empty()) eigenvalue.zeros();
1782 if(!eigenvector.is_empty()) eigenvector.zeros();
1795 auxiliary_load.reset();
1796 auxiliary_stiffness.set_size(n_size, 0);
1797 auxiliary_resistance.reset();
1798 auxiliary_encoding.reset();
1802 global_mass =
nullptr;
1803 global_damping =
nullptr;
1804 global_stiffness =
nullptr;
1805 global_geometry =
nullptr;
1809 if(ER.is_empty())
return;
1810 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_resistance(EI(I)) += ER(I);
1814 if(ER.is_empty())
return;
1815 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_damping_force(EI(I)) += ER(I);
1819 if(ER.is_empty())
return;
1820 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_inertial_force(EI(I)) += ER(I);
1824 if(EM.is_empty())
return;
1827 else for(
auto I = 0llu; I < EI.n_elem; ++I)
for(
auto J = 0llu; J < EI.n_elem; ++J) GM->unsafe_at(EI(J), EI(I)) += EM(J, I);
1830template<sp_d T>
void Factory<T>::assemble_mass(
const Mat<T>& EM,
const uvec& EI,
const std::vector<MappingDOF>& MAP) { this->assemble_matrix_helper(global_mass, EM, EI, MAP); }
1832template<sp_d T>
void Factory<T>::assemble_damping(
const Mat<T>& EC,
const uvec& EI,
const std::vector<MappingDOF>& MAP) { this->assemble_matrix_helper(global_damping, EC, EI, MAP); }
1834template<sp_d T>
void Factory<T>::assemble_stiffness(
const Mat<T>& EK,
const uvec& EI,
const std::vector<MappingDOF>& MAP) { this->assemble_matrix_helper(global_stiffness, EK, EI, MAP); }
1836template<sp_d T>
void Factory<T>::assemble_geometry(
const Mat<T>& EG,
const uvec& EI,
const std::vector<MappingDOF>& MAP) { this->assemble_matrix_helper(global_geometry, EG, EI, MAP); }
1839 if(EK.is_empty())
return;
1840 for(
auto I = EK.begin(); I != EK.end(); ++I) global_stiffness->at(EI(I.row()), EI(I.col())) += *I;
1844 suanpan_info(
"A Factory object with size of {}.\n", n_size);
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_settlement(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_velocity(const shared_ptr< Factory< T1 > > &)
friend SpMat< T1 > & get_reference_load(const shared_ptr< Factory< T1 > > &)
friend T1 & get_current_time(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_damping_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_resistance(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_auxiliary_resistance(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_inertial_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_displacement(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_load(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_acceleration(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_temperature(const shared_ptr< Factory< T1 > > &)
friend SpMat< T1 > & get_auxiliary_stiffness(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_load(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_acceleration(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_temperature(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_resistance(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_velocity(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_inertial_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_displacement(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_damping_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_settlement(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_acceleration(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_damping_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_settlement(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_displacement(const shared_ptr< Factory< T1 > > &)
friend unique_ptr< MetaMat< T1 > > get_basic_container(const Factory< T1 > *)
friend Col< T1 > & get_pre_load(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_damping_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_temperature(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_auxiliary_load(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_pre_inertial_force(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_ninja(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_settlement(const shared_ptr< Factory< T1 > > &)
friend T1 & get_pre_time(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_resistance(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_inertial_force(const shared_ptr< Factory< T1 > > &)
friend suanpan::set< uword > & get_reference_dof(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_acceleration(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_temperature(const shared_ptr< Factory< T1 > > &)
friend T1 & get_incre_time(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_eigenvalue(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_current_resistance(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_sushi(const shared_ptr< Factory< T1 > > &)
const bool initialized
Definition: Factory.hpp:173
friend unique_ptr< MetaMat< T1 > > get_matrix_container(const Factory< T1 > *)
friend Col< T1 > & get_incre_load(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_velocity(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_incre_displacement(const shared_ptr< Factory< T1 > > &)
friend Mat< T1 > & get_eigenvector(const shared_ptr< Factory< T1 > > &)
friend Col< T1 > & get_trial_velocity(const shared_ptr< Factory< T1 > > &)
friend T1 & get_trial_time(const shared_ptr< Factory< T1 > > &)
void set_pre_inertial_force(const Col< T > &)
Definition: Factory.hpp:942
void set_eigenvalue(const Col< T > &)
Definition: Factory.hpp:960
void clear_acceleration()
Definition: Factory.hpp:1674
void initialize_load()
Definition: Factory.hpp:774
void set_mpc(unsigned)
Definition: Factory.hpp:854
void commit_temperature()
Definition: Factory.hpp:1548
bool is_sparse() const
Definition: Factory.hpp:679
void set_incre_velocity(const Col< T > &)
Definition: Factory.hpp:902
uword get_entry() const
Definition: Factory.hpp:645
void set_incre_temperature(const Col< T > &)
Definition: Factory.hpp:906
void assemble_stiffness(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition: Factory.hpp:1834
void print() const
Definition: Factory.hpp:1843
void clear_resistance()
Definition: Factory.hpp:1639
void initialize_auxiliary_resistance()
Definition: Factory.hpp:828
void clear_load_factor()
Definition: Factory.hpp:1618
void set_incre_acceleration(const Col< T > &)
Definition: Factory.hpp:904
int initialize()
Definition: Factory.hpp:713
const Col< T > & get_current_acceleration() const
Definition: Factory.hpp:1058
void update_incre_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1363
const Col< T > & get_pre_damping_force() const
Definition: Factory.hpp:1072
void reset_displacement()
Definition: Factory.hpp:1751
void update_incre_temperature_by(const Col< T > &)
Definition: Factory.hpp:1388
void set_ninja(const Col< T > &)
Definition: Factory.hpp:850
void update_trial_temperature_by(const Col< T > &)
Definition: Factory.hpp:1333
bool is_nlgeom() const
Definition: Factory.hpp:653
void update_incre_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1343
const Mat< T > & get_eigenvector() const
Definition: Factory.hpp:1116
const Col< T > & get_trial_velocity() const
Definition: Factory.hpp:1012
const Col< T > & get_trial_resistance() const
Definition: Factory.hpp:1004
void update_trial_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1288
const Col< T > & get_ninja() const
Definition: Factory.hpp:964
void set_pre_velocity(const Col< T > &)
Definition: Factory.hpp:946
const Col< T > & get_current_load() const
Definition: Factory.hpp:1044
void set_trial_settlement(const Col< T > &)
Definition: Factory.hpp:870
void set_incre_load_factor(const Col< T > &)
Definition: Factory.hpp:888
void set_trial_time(T)
Definition: Factory.hpp:864
void update_incre_load_by(const Col< T > &)
Definition: Factory.hpp:1348
void set_solver_type(SolverType)
Definition: Factory.hpp:655
const Col< T > & get_pre_load() const
Definition: Factory.hpp:1066
void commit_acceleration()
Definition: Factory.hpp:1542
AnalysisType get_analysis_type() const
Definition: Factory.hpp:669
void set_current_resistance(const Col< T > &)
Definition: Factory.hpp:916
void update_incre_displacement(const Col< T > &)
Definition: Factory.hpp:1208
void set_incre_displacement(const Col< T > &)
Definition: Factory.hpp:900
void update_current_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1438
const uvec & get_auxiliary_encoding() const
Definition: Factory.hpp:972
void reset_auxiliary_resistance()
Definition: Factory.hpp:1775
void commit_resistance()
Definition: Factory.hpp:1512
const Col< T > & get_incre_inertial_force() const
Definition: Factory.hpp:1030
void set_storage_scheme(StorageScheme)
Definition: Factory.hpp:671
void initialize_damping()
Definition: Factory.hpp:835
void update_incre_velocity(const Col< T > &)
Definition: Factory.hpp:1213
void initialize_geometry()
Definition: Factory.hpp:839
void update_incre_displacement_by(const Col< T > &)
Definition: Factory.hpp:1373
void update_current_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1418
void assemble_mass(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition: Factory.hpp:1830
void set_trial_velocity(const Col< T > &)
Definition: Factory.hpp:880
void update_current_resistance(const Col< T > &)
Definition: Factory.hpp:1248
void clear_inertial_force()
Definition: Factory.hpp:1653
void update_trial_damping_force_by(const Col< T > &)
Definition: Factory.hpp:1308
unsigned get_mpc() const
Definition: Factory.hpp:968
const Col< T > & get_current_settlement() const
Definition: Factory.hpp:1046
const SolverSetting< double > & get_solver_setting() const
Definition: Factory.hpp:661
void commit_load_factor()
Definition: Factory.hpp:1494
std::mutex & get_damping_mutex()
Definition: Factory.hpp:1108
void update_trial_velocity_by(const Col< T > &)
Definition: Factory.hpp:1323
void update_current_load_by(const Col< T > &)
Definition: Factory.hpp:1403
const shared_ptr< MetaMat< T > > & get_damping() const
Definition: Factory.hpp:1086
void set_pre_settlement(const Col< T > &)
Definition: Factory.hpp:936
void set_nlgeom(bool)
Definition: Factory.hpp:647
StorageScheme get_storage_scheme() const
Definition: Factory.hpp:677
void commit_inertial_force()
Definition: Factory.hpp:1524
void update_current_time(T)
Definition: Factory.hpp:1228
void initialize_resistance()
Definition: Factory.hpp:786
const Col< T > & get_current_damping_force() const
Definition: Factory.hpp:1050
void set_solver_setting(const SolverSetting< double > &)
Definition: Factory.hpp:659
void update_trial_displacement_by(const Col< T > &)
Definition: Factory.hpp:1318
void set_mass(const shared_ptr< MetaMat< T > > &)
Definition: Factory.hpp:952
void reset_velocity()
Definition: Factory.hpp:1757
const Col< T > & get_trial_load_factor() const
Definition: Factory.hpp:998
void set_current_load(const Col< T > &)
Definition: Factory.hpp:912
std::mutex & get_trial_load_mutex()
Definition: Factory.hpp:1102
void initialize_stiffness()
Definition: Factory.hpp:837
void initialize_damping_force()
Definition: Factory.hpp:792
T get_current_time() const
Definition: Factory.hpp:1040
const Col< T > & get_pre_settlement() const
Definition: Factory.hpp:1068
void update_trial_temperature(const Col< T > &)
Definition: Factory.hpp:1168
void commit_velocity()
Definition: Factory.hpp:1536
void set_pre_time(T)
Definition: Factory.hpp:930
T get_complementary_energy()
Definition: Factory.hpp:992
void reset()
Definition: Factory.hpp:1801
const Col< T > & get_incre_displacement() const
Definition: Factory.hpp:1032
void set_current_damping_force(const Col< T > &)
Definition: Factory.hpp:918
void update_trial_acceleration(const Col< T > &)
Definition: Factory.hpp:1163
void set_current_time(T)
Definition: Factory.hpp:908
const Col< T > & get_auxiliary_load() const
Definition: Factory.hpp:978
void commit_pre_settlement()
Definition: Factory.hpp:1579
const shared_ptr< MetaMat< T > > & get_mass() const
Definition: Factory.hpp:1084
void commit_status()
Definition: Factory.hpp:1470
void commit_pre_load_factor()
Definition: Factory.hpp:1575
const suanpan::set< uword > & get_reference_dof() const
Definition: Factory.hpp:707
void set_incre_time(T)
Definition: Factory.hpp:886
void assemble_damping(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition: Factory.hpp:1832
void update_trial_inertial_force(const Col< T > &)
Definition: Factory.hpp:1148
void set_current_velocity(const Col< T > &)
Definition: Factory.hpp:924
void commit_displacement()
Definition: Factory.hpp:1530
void update_current_velocity_by(const Col< T > &)
Definition: Factory.hpp:1433
const Col< T > & get_incre_damping_force() const
Definition: Factory.hpp:1028
void update_trial_load_factor(const Col< T > &)
Definition: Factory.hpp:1123
void reset_load_factor()
Definition: Factory.hpp:1715
void clear_velocity()
Definition: Factory.hpp:1667
void update_current_load(const Col< T > &)
Definition: Factory.hpp:1238
void update_incre_time(T)
Definition: Factory.hpp:1173
void update_incre_settlement_by(const Col< T > &)
Definition: Factory.hpp:1353
unsigned get_reference_size() const
Definition: Factory.hpp:701
void update_current_acceleration(const Col< T > &)
Definition: Factory.hpp:1273
StorageScheme
Definition: Factory.hpp:48
void commit_pre_temperature()
Definition: Factory.hpp:1593
void commit_pre_status()
Definition: Factory.hpp:1559
void update_current_time_by(T)
Definition: Factory.hpp:1393
void set_trial_acceleration(const Col< T > &)
Definition: Factory.hpp:882
void update_trial_damping_force(const Col< T > &)
Definition: Factory.hpp:1143
const Col< T > & get_incre_settlement() const
Definition: Factory.hpp:1024
void reset_inertial_force()
Definition: Factory.hpp:1745
void set_reference_dof(const suanpan::set< uword > &)
Definition: Factory.hpp:705
const Col< T > & get_momentum()
Definition: Factory.hpp:994
void update_current_displacement(const Col< T > &)
Definition: Factory.hpp:1263
void clear_settlement()
Definition: Factory.hpp:1632
void set_pre_load(const Col< T > &)
Definition: Factory.hpp:934
std::mutex & get_auxiliary_stiffness_mutex()
Definition: Factory.hpp:1098
T get_incre_time() const
Definition: Factory.hpp:1018
void commit_pre_damping_force()
Definition: Factory.hpp:1583
T get_strain_energy()
Definition: Factory.hpp:986
void commit_pre_inertial_force()
Definition: Factory.hpp:1585
void update_trial_settlement(const Col< T > &)
Definition: Factory.hpp:1133
void set_trial_inertial_force(const Col< T > &)
Definition: Factory.hpp:876
const Col< T > & get_eigenvalue() const
Definition: Factory.hpp:1114
void commit_pre_displacement()
Definition: Factory.hpp:1587
std::mutex & get_geometry_mutex()
Definition: Factory.hpp:1112
void commit_pre_acceleration()
Definition: Factory.hpp:1591
const Col< T > & get_incre_velocity() const
Definition: Factory.hpp:1034
T get_trial_time() const
Definition: Factory.hpp:996
void update_current_temperature_by(const Col< T > &)
Definition: Factory.hpp:1443
void set_geometry(const shared_ptr< MetaMat< T > > &)
Definition: Factory.hpp:958
void set_incre_load(const Col< T > &)
Definition: Factory.hpp:890
void update_reference_size()
Definition: Factory.hpp:694
void set_pre_acceleration(const Col< T > &)
Definition: Factory.hpp:948
void set_incre_inertial_force(const Col< T > &)
Definition: Factory.hpp:898
T get_kinetic_energy()
Definition: Factory.hpp:988
void set_current_settlement(const Col< T > &)
Definition: Factory.hpp:914
void update_trial_settlement_by(const Col< T > &)
Definition: Factory.hpp:1298
void initialize_inertial_force()
Definition: Factory.hpp:798
void set_pre_resistance(const Col< T > &)
Definition: Factory.hpp:938
void commit_load()
Definition: Factory.hpp:1500
void update_trial_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1328
const Col< T > & get_pre_acceleration() const
Definition: Factory.hpp:1080
void update_incre_acceleration_by(const Col< T > &)
Definition: Factory.hpp:1383
void commit_pre_load()
Definition: Factory.hpp:1577
void commit_pre_velocity()
Definition: Factory.hpp:1589
void update_trial_resistance_by(const Col< T > &)
Definition: Factory.hpp:1303
AnalysisType
Definition: Factory.hpp:39
void commit_pre_time()
Definition: Factory.hpp:1573
void commit_auxiliary_resistance()
Definition: Factory.hpp:1554
void update_current_settlement(const Col< T > &)
Definition: Factory.hpp:1243
void update_trial_load(const Col< T > &)
Definition: Factory.hpp:1128
void update_incre_load(const Col< T > &)
Definition: Factory.hpp:1183
void update_trial_time(T)
Definition: Factory.hpp:1118
const shared_ptr< MetaMat< T > > & get_stiffness() const
Definition: Factory.hpp:1088
void commit_settlement()
Definition: Factory.hpp:1506
const Col< T > & get_auxiliary_lambda() const
Definition: Factory.hpp:974
void reset_load()
Definition: Factory.hpp:1721
void reset_damping_force()
Definition: Factory.hpp:1739
void update_current_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1423
void set_trial_temperature(const Col< T > &)
Definition: Factory.hpp:884
std::mutex & get_auxiliary_encoding_mutex()
Definition: Factory.hpp:1092
SolverType
Definition: Factory.hpp:57
void assemble_damping_force(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1813
const Col< T > & get_pre_displacement() const
Definition: Factory.hpp:1076
const Col< T > & get_current_inertial_force() const
Definition: Factory.hpp:1052
std::mutex & get_mass_mutex()
Definition: Factory.hpp:1106
const Col< T > & get_pre_load_factor() const
Definition: Factory.hpp:1064
const Col< T > & get_trial_displacement() const
Definition: Factory.hpp:1010
void update_trial_velocity(const Col< T > &)
Definition: Factory.hpp:1158
void update_current_temperature(const Col< T > &)
Definition: Factory.hpp:1278
void reset_temperature()
Definition: Factory.hpp:1769
std::mutex & get_auxiliary_resistance_mutex()
Definition: Factory.hpp:1094
void set_current_acceleration(const Col< T > &)
Definition: Factory.hpp:926
void update_current_settlement_by(const Col< T > &)
Definition: Factory.hpp:1408
void initialize_settlement()
Definition: Factory.hpp:780
void clear_damping()
Definition: Factory.hpp:1787
const Col< T > & get_incre_load_factor() const
Definition: Factory.hpp:1020
void clear_energy()
Definition: Factory.hpp:1462
const SpMat< T > & get_reference_load() const
Definition: Factory.hpp:970
void initialize_displacement()
Definition: Factory.hpp:804
void reset_time()
Definition: Factory.hpp:1710
const Col< T > & get_current_displacement() const
Definition: Factory.hpp:1054
unsigned get_size() const
Definition: Factory.hpp:641
void reset_settlement()
Definition: Factory.hpp:1727
void clear_damping_force()
Definition: Factory.hpp:1646
void set_analysis_type(AnalysisType)
Definition: Factory.hpp:663
const Col< T > & get_incre_load() const
Definition: Factory.hpp:1022
void set_entry(uword)
Definition: Factory.hpp:643
const Col< T > & get_incre_acceleration() const
Definition: Factory.hpp:1036
T get_pre_time() const
Definition: Factory.hpp:1062
void clear_geometry()
Definition: Factory.hpp:1791
T get_viscous_energy()
Definition: Factory.hpp:990
std::mutex & get_trial_constraint_resistance_mutex()
Definition: Factory.hpp:1100
const Col< T > & get_current_temperature() const
Definition: Factory.hpp:1060
void update_incre_time_by(T)
Definition: Factory.hpp:1338
void set_reference_size(unsigned)
Definition: Factory.hpp:696
void initialize_temperature()
Definition: Factory.hpp:822
void set_current_displacement(const Col< T > &)
Definition: Factory.hpp:922
void update_reference_dof(const uvec &)
Definition: Factory.hpp:703
const Col< T > & get_trial_inertial_force() const
Definition: Factory.hpp:1008
void set_current_inertial_force(const Col< T > &)
Definition: Factory.hpp:920
void set_trial_load(const Col< T > &)
Definition: Factory.hpp:868
void update_incre_temperature(const Col< T > &)
Definition: Factory.hpp:1223
void update_current_velocity(const Col< T > &)
Definition: Factory.hpp:1268
void set_error(T)
Definition: Factory.hpp:709
void assemble_geometry(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition: Factory.hpp:1836
const Col< T > & get_trial_settlement() const
Definition: Factory.hpp:1002
void set_eigenvector(const Mat< T > &)
Definition: Factory.hpp:962
void initialize_load_factor()
Definition: Factory.hpp:764
const Col< T > & get_trial_load() const
Definition: Factory.hpp:1000
void update_current_displacement_by(const Col< T > &)
Definition: Factory.hpp:1428
void set_trial_resistance(const Col< T > &)
Definition: Factory.hpp:872
void set_pre_load_factor(const Col< T > &)
Definition: Factory.hpp:932
void update_current_damping_force(const Col< T > &)
Definition: Factory.hpp:1253
void update_current_load_factor(const Col< T > &)
Definition: Factory.hpp:1233
void commit_energy()
Definition: Factory.hpp:1448
void commit_damping_force()
Definition: Factory.hpp:1518
T get_error() const
Definition: Factory.hpp:711
void update_trial_time_by(T)
Definition: Factory.hpp:1283
void update_incre_acceleration(const Col< T > &)
Definition: Factory.hpp:1218
const SpMat< T > & get_auxiliary_stiffness() const
Definition: Factory.hpp:980
void assemble_inertial_force(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1818
void clear_status()
Definition: Factory.hpp:1595
void set_bandwidth(unsigned, unsigned)
Definition: Factory.hpp:681
void update_incre_velocity_by(const Col< T > &)
Definition: Factory.hpp:1378
const Col< T > & get_current_load_factor() const
Definition: Factory.hpp:1042
void commit_time()
Definition: Factory.hpp:1489
void clear_mass()
Definition: Factory.hpp:1785
void get_bandwidth(unsigned &, unsigned &) const
Definition: Factory.hpp:689
const Col< T > & get_pre_inertial_force() const
Definition: Factory.hpp:1074
void commit_pre_resistance()
Definition: Factory.hpp:1581
void reset_resistance()
Definition: Factory.hpp:1733
SolverType get_solver_type() const
Definition: Factory.hpp:657
std::mutex & get_auxiliary_load_mutex()
Definition: Factory.hpp:1096
const Col< T > & get_trial_acceleration() const
Definition: Factory.hpp:1014
void assemble_resistance(const Mat< T > &, const uvec &)
Definition: Factory.hpp:1808
void set_incre_damping_force(const Col< T > &)
Definition: Factory.hpp:896
const SpCol< T > & get_trial_constraint_resistance() const
Definition: Factory.hpp:982
void update_incre_damping_force(const Col< T > &)
Definition: Factory.hpp:1198
const Col< T > & get_pre_velocity() const
Definition: Factory.hpp:1078
const Col< T > & get_current_resistance() const
Definition: Factory.hpp:1048
void initialize_velocity()
Definition: Factory.hpp:810
std::mutex & get_stiffness_mutex()
Definition: Factory.hpp:1110
void update_incre_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1368
const Col< T > & get_current_velocity() const
Definition: Factory.hpp:1056
void update_incre_load_factor(const Col< T > &)
Definition: Factory.hpp:1178
void set_incre_resistance(const Col< T > &)
Definition: Factory.hpp:894
const Col< T > & get_pre_temperature() const
Definition: Factory.hpp:1082
void clear_load()
Definition: Factory.hpp:1625
const Col< T > & get_incre_temperature() const
Definition: Factory.hpp:1038
Factory(unsigned=0, AnalysisType=AnalysisType::NONE, StorageScheme=StorageScheme::FULL)
Definition: Factory.hpp:630
void set_size(unsigned)
Definition: Factory.hpp:635
void update_trial_displacement(const Col< T > &)
Definition: Factory.hpp:1153
const Col< T > & get_incre_resistance() const
Definition: Factory.hpp:1026
const Col< T > & get_sushi() const
Definition: Factory.hpp:966
const Col< T > & get_auxiliary_resistance() const
Definition: Factory.hpp:976
const Col< T > & get_trial_damping_force() const
Definition: Factory.hpp:1006
void update_current_resistance_by(const Col< T > &)
Definition: Factory.hpp:1413
void set_pre_temperature(const Col< T > &)
Definition: Factory.hpp:950
void update_trial_load_by(const Col< T > &)
Definition: Factory.hpp:1293
const SpCol< T > & get_current_constraint_resistance() const
Definition: Factory.hpp:984
void clear_auxiliary_resistance()
Definition: Factory.hpp:1688
void update_incre_resistance_by(const Col< T > &)
Definition: Factory.hpp:1358
void set_incre_settlement(const Col< T > &)
Definition: Factory.hpp:892
void set_sushi(const Col< T > &)
Definition: Factory.hpp:852
void update_incre_settlement(const Col< T > &)
Definition: Factory.hpp:1188
void set_pre_displacement(const Col< T > &)
Definition: Factory.hpp:944
void set_current_load_factor(const Col< T > &)
Definition: Factory.hpp:910
void set_trial_displacement(const Col< T > &)
Definition: Factory.hpp:878
void update_trial_resistance(const Col< T > &)
Definition: Factory.hpp:1138
void clear_eigen()
Definition: Factory.hpp:1780
void clear_auxiliary()
Definition: Factory.hpp:1793
void set_reference_load(const SpMat< T > &)
Definition: Factory.hpp:862
void update_incre_resistance(const Col< T > &)
Definition: Factory.hpp:1193
void update_current_load_factor_by(const Col< T > &)
Definition: Factory.hpp:1398
void set_trial_load_factor(const Col< T > &)
Definition: Factory.hpp:866
void initialize_eigen()
Definition: Factory.hpp:845
void update_incre_inertial_force(const Col< T > &)
Definition: Factory.hpp:1203
void clear_time()
Definition: Factory.hpp:1616
void set_stiffness(const shared_ptr< MetaMat< T > > &)
Definition: Factory.hpp:956
void clear_displacement()
Definition: Factory.hpp:1660
const shared_ptr< MetaMat< T > > & get_geometry() const
Definition: Factory.hpp:1090
void reset_status()
Definition: Factory.hpp:1693
void update_current_inertial_force(const Col< T > &)
Definition: Factory.hpp:1258
const Col< T > & get_trial_temperature() const
Definition: Factory.hpp:1016
void set_trial_damping_force(const Col< T > &)
Definition: Factory.hpp:874
std::mutex & get_trial_settlement_mutex()
Definition: Factory.hpp:1104
void initialize_mass()
Definition: Factory.hpp:833
void set_pre_damping_force(const Col< T > &)
Definition: Factory.hpp:940
void clear_temperature()
Definition: Factory.hpp:1681
void initialize_acceleration()
Definition: Factory.hpp:816
void update_trial_inertial_force_by(const Col< T > &)
Definition: Factory.hpp:1313
void set_current_temperature(const Col< T > &)
Definition: Factory.hpp:928
void set_damping(const shared_ptr< MetaMat< T > > &)
Definition: Factory.hpp:954
void reset_acceleration()
Definition: Factory.hpp:1763
const Col< T > & get_pre_resistance() const
Definition: Factory.hpp:1070
void clear_stiffness()
Definition: Factory.hpp:1789
std::set< T > set
Definition: container.h:54
Definition: SolverSetting.hpp:40
#define suanpan_info
Definition: suanPan.h:293