37#include <Domain/MetaMat/MetaMat>
40#include <magmasparse.h>
77 unsigned n_sfbw = n_lobw + n_upbw;
86 magma_dopts magma_setting{};
100 SpMat<T> reference_load;
102 uvec auxiliary_encoding;
103 Col<T> auxiliary_lambda;
104 Col<T> auxiliary_resistance;
105 Col<T> auxiliary_load;
106 SpMat<T> auxiliary_stiffness;
108 SpCol<T> trial_constraint_resistance;
109 SpCol<T> current_constraint_resistance;
113 T current_time =
T(0);
116 T strain_energy =
T(0);
117 T kinetic_energy =
T(0);
118 T viscous_energy =
T(0);
119 T complementary_energy =
T(0);
122 Col<T> trial_load_factor;
124 Col<T> trial_settlement;
125 Col<T> trial_resistance;
126 Col<T> trial_damping_force;
127 Col<T> trial_inertial_force;
128 Col<T> trial_displacement;
129 Col<T> trial_velocity;
130 Col<T> trial_acceleration;
131 Col<T> trial_temperature;
133 Col<T> incre_load_factor;
135 Col<T> incre_settlement;
136 Col<T> incre_resistance;
137 Col<T> incre_damping_force;
138 Col<T> incre_inertial_force;
139 Col<T> incre_displacement;
140 Col<T> incre_velocity;
141 Col<T> incre_acceleration;
142 Col<T> incre_temperature;
144 Col<T> current_load_factor;
146 Col<T> current_settlement;
147 Col<T> current_resistance;
148 Col<T> current_damping_force;
149 Col<T> current_inertial_force;
150 Col<T> current_displacement;
151 Col<T> current_velocity;
152 Col<T> current_acceleration;
153 Col<T> current_temperature;
155 Col<T> pre_load_factor;
157 Col<T> pre_settlement;
158 Col<T> pre_resistance;
159 Col<T> pre_damping_force;
160 Col<T> pre_inertial_force;
161 Col<T> pre_displacement;
163 Col<T> pre_acceleration;
164 Col<T> pre_temperature;
166 shared_ptr<MetaMat<T>> global_mass =
nullptr;
167 shared_ptr<MetaMat<T>> global_damping =
nullptr;
168 shared_ptr<MetaMat<T>> global_stiffness =
nullptr;
169 shared_ptr<MetaMat<T>> global_geometry =
nullptr;
171 std::vector<std::mutex> global_mutex = std::vector<std::mutex>(20);
177 unique_ptr<MetaMat<T>> get_basic_container();
178 unique_ptr<MetaMat<T>> get_matrix_container();
180 void assemble_matrix_helper(shared_ptr<
MetaMat<T>>&,
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
188 [[nodiscard]]
unsigned get_size()
const;
205 [[nodiscard]]
const magma_dopts& get_magma_setting()
const {
return magma_setting; }
324 [[nodiscard]]
unsigned get_mpc()
const;
391 const shared_ptr<MetaMat<T>>&
get_mass()
const;
636 void assemble_mass(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
637 void assemble_damping(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
639 void assemble_geometry(
const Mat<T>&,
const uvec&,
const std::vector<MappingDOF>&);
651 , storage_type(
SS) {}
654 if(D == n_size)
return;
656 access::rw(initialized) =
false;
663 if(n_elem > std::numeric_limits<int>::max())
throw invalid_argument(
"too many elements");
669 if(B == nlgeom)
return;
671 access::rw(initialized) =
false;
685 if(
AT == analysis_type)
return;
687 access::rw(initialized) =
false;
693 if(
SS == storage_type)
return;
695 access::rw(initialized) =
false;
703 if(L == n_lobw &&
U == n_upbw)
return;
707 access::rw(initialized) =
false;
718 if(
S == n_rfld)
return;
735 reference_dof.clear();
737 if(initialized || n_size == 0)
return 0;
744 switch(analysis_type) {
746 initialize_displacement();
750 initialize_stiffness();
756 initialize_resistance();
757 initialize_displacement();
758 initialize_stiffness();
759 initialize_geometry();
763 initialize_resistance();
764 initialize_damping_force();
765 initialize_inertial_force();
766 initialize_displacement();
767 initialize_velocity();
768 initialize_acceleration();
770 initialize_damping();
771 initialize_stiffness();
772 initialize_geometry();
778 initialize_auxiliary_resistance();
780 access::rw(initialized) =
true;
786 if(n_rfld == 0)
return;
788 trial_load_factor.zeros(n_rfld);
789 incre_load_factor.zeros(n_rfld);
790 current_load_factor.zeros(n_rfld);
792 reference_load.zeros(n_size, n_rfld);
796 trial_load.zeros(n_size);
797 incre_load.zeros(n_size);
798 current_load.zeros(n_size);
802 trial_settlement.zeros(n_size);
803 incre_settlement.zeros(n_size);
804 current_settlement.zeros(n_size);
808 trial_resistance.zeros(n_size);
809 incre_resistance.zeros(n_size);
810 current_resistance.zeros(n_size);
814 trial_damping_force.zeros(n_size);
815 incre_damping_force.zeros(n_size);
816 current_damping_force.zeros(n_size);
820 trial_inertial_force.zeros(n_size);
821 incre_inertial_force.zeros(n_size);
822 current_inertial_force.zeros(n_size);
826 trial_displacement.zeros(n_size);
827 incre_displacement.zeros(n_size);
828 current_displacement.zeros(n_size);
832 trial_velocity.zeros(n_size);
833 incre_velocity.zeros(n_size);
834 current_velocity.zeros(n_size);
838 trial_acceleration.zeros(n_size);
839 incre_acceleration.zeros(n_size);
840 current_acceleration.zeros(n_size);
844 trial_temperature.zeros(n_size);
845 incre_temperature.zeros(n_size);
846 current_temperature.zeros(n_size);
850 trial_constraint_resistance.zeros(n_size);
851 current_constraint_resistance.zeros(n_size);
863 global_geometry = get_matrix_container();
867 eigenvalue.zeros(n_size);
868 eigenvector.zeros(n_size, n_size);
879 auxiliary_encoding.zeros(n_mpc);
880 auxiliary_resistance.zeros(n_mpc);
881 auxiliary_load.zeros(n_mpc);
882 auxiliary_stiffness.zeros(n_size, n_mpc);
966 auto se = std::async([&] {
if(!trial_resistance.empty() && !incre_displacement.empty()) strain_energy += .5 * dot(trial_resistance + current_resistance, incre_displacement); });
967 auto ke = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) kinetic_energy = .5 * dot(global_mass * trial_velocity, trial_velocity); });
968 auto ve = std::async([&] {
if(!trial_damping_force.empty() && !incre_displacement.empty()) viscous_energy += .5 * dot(trial_damping_force + current_damping_force, incre_displacement); });
969 auto ce = std::async([&] {
if(!trial_displacement.empty() && !incre_resistance.empty()) complementary_energy += .5 * dot(trial_displacement + current_displacement, incre_resistance); });
970 auto mm = std::async([&] {
if(!trial_inertial_force.empty() && !trial_velocity.empty()) momentum = global_mass * trial_velocity; });
980 strain_energy =
T(0);
981 kinetic_energy =
T(0);
982 viscous_energy =
T(0);
983 complementary_energy =
T(0);
993 commit_load_factor();
997 commit_damping_force();
998 commit_inertial_force();
999 commit_displacement();
1001 commit_acceleration();
1002 commit_temperature();
1003 commit_auxiliary_resistance();
1007 current_time = trial_time;
1012 if(trial_load_factor.is_empty())
return;
1013 current_load_factor = trial_load_factor;
1014 incre_load_factor.zeros();
1018 if(trial_load.is_empty())
return;
1019 current_load = trial_load;
1024 if(trial_settlement.is_empty())
return;
1025 current_settlement = trial_settlement;
1026 incre_settlement.zeros();
1030 if(trial_resistance.is_empty())
return;
1031 current_resistance = trial_resistance;
1032 incre_resistance.zeros();
1036 if(trial_damping_force.is_empty())
return;
1037 current_damping_force = trial_damping_force;
1038 incre_damping_force.zeros();
1042 if(trial_inertial_force.is_empty())
return;
1043 current_inertial_force = trial_inertial_force;
1044 incre_inertial_force.zeros();
1048 if(trial_displacement.is_empty())
return;
1049 current_displacement = trial_displacement;
1050 incre_displacement.zeros();
1054 if(trial_velocity.is_empty())
return;
1055 current_velocity = trial_velocity;
1056 incre_velocity.zeros();
1060 if(trial_acceleration.is_empty())
return;
1061 current_acceleration = trial_acceleration;
1062 incre_acceleration.zeros();
1066 if(trial_temperature.is_empty())
return;
1067 current_temperature = trial_temperature;
1068 incre_temperature.zeros();
1072 if(trial_constraint_resistance.is_empty())
return;
1073 current_constraint_resistance = trial_constraint_resistance;
1078 commit_pre_load_factor();
1080 commit_pre_settlement();
1081 commit_pre_resistance();
1082 commit_pre_damping_force();
1083 commit_pre_inertial_force();
1084 commit_pre_displacement();
1085 commit_pre_velocity();
1086 commit_pre_acceleration();
1087 commit_pre_temperature();
1113 access::rw(initialized) =
false;
1120 clear_load_factor();
1124 clear_damping_force();
1125 clear_inertial_force();
1126 clear_displacement();
1128 clear_acceleration();
1129 clear_temperature();
1130 clear_auxiliary_resistance();
1136 if(!pre_load_factor.is_empty()) pre_load_factor.zeros();
1137 if(!trial_load_factor.is_empty()) trial_load_factor.zeros();
1138 if(!incre_load_factor.is_empty()) incre_load_factor.zeros();
1139 if(!current_load_factor.is_empty()) current_load_factor.zeros();
1143 if(!pre_load.is_empty()) pre_load.zeros();
1144 if(!trial_load.is_empty()) trial_load.zeros();
1145 if(!incre_load.is_empty()) incre_load.zeros();
1146 if(!current_load.is_empty()) current_load.zeros();
1150 if(!pre_settlement.is_empty()) pre_settlement.zeros();
1151 if(!trial_settlement.is_empty()) trial_settlement.zeros();
1152 if(!incre_settlement.is_empty()) incre_settlement.zeros();
1153 if(!current_settlement.is_empty()) current_settlement.zeros();
1157 if(!pre_resistance.is_empty()) pre_resistance.zeros();
1158 if(!trial_resistance.is_empty()) trial_resistance.zeros();
1159 if(!incre_resistance.is_empty()) incre_resistance.zeros();
1160 if(!current_resistance.is_empty()) current_resistance.zeros();
1164 if(!pre_damping_force.is_empty()) pre_damping_force.zeros();
1165 if(!trial_damping_force.is_empty()) trial_damping_force.zeros();
1166 if(!incre_damping_force.is_empty()) incre_damping_force.zeros();
1167 if(!current_damping_force.is_empty()) current_damping_force.zeros();
1171 if(!pre_inertial_force.is_empty()) pre_inertial_force.zeros();
1172 if(!trial_inertial_force.is_empty()) trial_inertial_force.zeros();
1173 if(!incre_inertial_force.is_empty()) incre_inertial_force.zeros();
1174 if(!current_inertial_force.is_empty()) current_inertial_force.zeros();
1178 if(!pre_displacement.is_empty()) pre_displacement.zeros();
1179 if(!trial_displacement.is_empty()) trial_displacement.zeros();
1180 if(!incre_displacement.is_empty()) incre_displacement.zeros();
1181 if(!current_displacement.is_empty()) current_displacement.zeros();
1185 if(!pre_velocity.is_empty()) pre_velocity.zeros();
1186 if(!trial_velocity.is_empty()) trial_velocity.zeros();
1187 if(!incre_velocity.is_empty()) incre_velocity.zeros();
1188 if(!current_velocity.is_empty()) current_velocity.zeros();
1192 if(!pre_acceleration.is_empty()) pre_acceleration.zeros();
1193 if(!trial_acceleration.is_empty()) trial_acceleration.zeros();
1194 if(!incre_acceleration.is_empty()) incre_acceleration.zeros();
1195 if(!current_acceleration.is_empty()) current_acceleration.zeros();
1199 if(!pre_temperature.is_empty()) pre_temperature.zeros();
1200 if(!trial_temperature.is_empty()) trial_temperature.zeros();
1201 if(!incre_temperature.is_empty()) incre_temperature.zeros();
1202 if(!current_temperature.is_empty()) current_temperature.zeros();
1206 if(!trial_constraint_resistance.is_empty()) trial_constraint_resistance.zeros();
1207 if(!current_constraint_resistance.is_empty()) current_constraint_resistance.zeros();
1214 reset_load_factor();
1218 reset_damping_force();
1219 reset_inertial_force();
1220 reset_displacement();
1222 reset_acceleration();
1223 reset_temperature();
1224 reset_auxiliary_resistance();
1228 trial_time = current_time;
1233 if(trial_load_factor.is_empty())
return;
1234 trial_load_factor = current_load_factor;
1235 incre_load_factor.zeros();
1239 if(trial_load.is_empty())
return;
1240 trial_load = current_load;
1245 if(trial_settlement.is_empty())
return;
1246 trial_settlement = current_settlement;
1247 incre_settlement.zeros();
1251 if(trial_resistance.is_empty())
return;
1252 trial_resistance = current_resistance;
1253 incre_resistance.zeros();
1257 if(trial_damping_force.is_empty())
return;
1258 trial_damping_force = current_damping_force;
1259 incre_damping_force.zeros();
1263 if(trial_inertial_force.is_empty())
return;
1264 trial_inertial_force = current_inertial_force;
1265 incre_inertial_force.zeros();
1269 if(trial_displacement.is_empty())
return;
1270 trial_displacement = current_displacement;
1271 incre_displacement.zeros();
1275 if(trial_velocity.is_empty())
return;
1276 trial_velocity = current_velocity;
1277 incre_velocity.zeros();
1281 if(trial_acceleration.is_empty())
return;
1282 trial_acceleration = current_acceleration;
1283 incre_acceleration.zeros();
1287 if(trial_temperature.is_empty())
return;
1288 trial_temperature = current_temperature;
1289 incre_temperature.zeros();
1293 if(trial_constraint_resistance.is_empty())
return;
1294 trial_constraint_resistance = current_constraint_resistance;
1298 if(!eigenvalue.is_empty()) eigenvalue.zeros();
1299 if(!eigenvector.is_empty()) eigenvector.zeros();
1312 auxiliary_load.reset();
1313 auxiliary_stiffness.set_size(n_size, 0);
1314 auxiliary_resistance.reset();
1315 auxiliary_encoding.reset();
1319 global_mass =
nullptr;
1320 global_damping =
nullptr;
1321 global_stiffness =
nullptr;
1322 global_geometry =
nullptr;
1326 if(ER.is_empty())
return;
1327 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_resistance(EI(I)) += ER(I);
1331 if(ER.is_empty())
return;
1332 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_damping_force(EI(I)) += ER(I);
1336 if(ER.is_empty())
return;
1337 for(
auto I = 0llu; I < EI.n_elem; ++I) trial_inertial_force(EI(I)) += ER(I);
1341 if(EM.is_empty())
return;
1344 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);
1347template<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); }
1349template<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); }
1351template<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); }
1353template<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); }
1356 if(EK.is_empty())
return;
1357 for(
auto I = EK.begin(); I != EK.end(); ++I) global_stiffness->at(EI(I.row()), EI(I.col())) += *I;
1361 suanpan_info(
"A Factory object with size of {}.\n", n_size);
1365 switch(storage_type) {
1368 if(
SolverType::CUDA == solver)
return std::make_unique<FullMatCUDA<T>>(n_size, n_size);
1370 return std::make_unique<FullMat<T>>(n_size, n_size);
1372 if(
SolverType::SPIKE == solver)
return std::make_unique<BandMatSpike<T>>(n_size, n_lobw, n_upbw);
1373 return std::make_unique<BandMat<T>>(n_size, n_lobw, n_upbw);
1375 return std::make_unique<BandSymmMat<T>>(n_size, n_lobw);
1377 return std::make_unique<SymmPackMat<T>>(n_size);
1379 if(
SolverType::MUMPS == solver)
return std::make_unique<SparseMatMUMPS<T>>(n_size, n_size, n_elem);
1380 if(
SolverType::LIS == solver)
return std::make_unique<SparseMatLis<T>>(n_size, n_size, n_elem);
1381 if(
SolverType::SUPERLU == solver)
return std::make_unique<SparseMatSuperLU<T>>(n_size, n_size, n_elem);
1383 if(
SolverType::PARDISO == solver)
return std::make_unique<SparseMatPARDISO<T>>(n_size, n_size, n_elem);
1384 if(
SolverType::FGMRES == solver)
return std::make_unique<SparseMatFGMRES<T>>(n_size, n_size, n_elem);
1387 if(
SolverType::CUDA == solver)
return std::make_unique<SparseMatCUDA<T>>(n_size, n_size, n_elem);
1389 if(
SolverType::MAGMA == solver)
return std::make_unique<SparseMatMAGMA<T>>(n_size, n_size, magma_setting);
1392 return std::make_unique<SparseMatSuperLU<T>>(n_size, n_size, n_elem);
1395 if(
SolverType::FGMRES == solver)
return std::make_unique<SparseSymmMatFGMRES<T>>(n_size, n_size, n_elem);
1397 return std::make_unique<SparseSymmMatMUMPS<T>>(n_size, n_size, n_elem);
1399 throw invalid_argument(
"need a proper storage scheme");
1404 auto global_mat = get_basic_container();
1406 global_mat->set_solver_setting(setting);
1711 incre_time = trial_time - current_time;
1715 trial_load_factor = L;
1716 incre_load_factor = trial_load_factor - current_load_factor;
1721 incre_load = trial_load - current_load;
1725 trial_settlement =
S;
1726 incre_settlement = trial_settlement - current_settlement;
1730 trial_resistance = R;
1731 incre_resistance = trial_resistance - current_resistance;
1735 trial_damping_force = R;
1736 incre_damping_force = trial_damping_force - current_damping_force;
1740 trial_inertial_force = R;
1741 incre_inertial_force = trial_inertial_force - current_inertial_force;
1745 trial_displacement = D;
1746 incre_displacement = trial_displacement - current_displacement;
1751 incre_velocity = trial_velocity - current_velocity;
1755 trial_acceleration =
A;
1756 incre_acceleration = trial_acceleration - current_acceleration;
1760 trial_temperature =
M;
1761 incre_temperature = trial_temperature - current_temperature;
1766 trial_time = current_time + incre_time;
1770 incre_load_factor = L;
1771 trial_load_factor = current_load_factor + incre_load_factor;
1776 trial_load = current_load + incre_load;
1780 incre_settlement =
S;
1781 trial_settlement = current_settlement + incre_settlement;
1785 incre_resistance = R;
1786 trial_resistance = current_resistance + incre_resistance;
1790 incre_damping_force = R;
1791 trial_damping_force = current_damping_force + incre_damping_force;
1795 incre_inertial_force = R;
1796 trial_inertial_force = current_inertial_force + incre_inertial_force;
1800 incre_displacement = D;
1801 trial_displacement = current_displacement + incre_displacement;
1806 trial_velocity = current_velocity + incre_velocity;
1810 incre_acceleration =
A;
1811 trial_acceleration = current_acceleration + incre_acceleration;
1815 incre_temperature =
M;
1816 trial_temperature = current_temperature + incre_temperature;
1820 trial_time = current_time =
M;
1825 trial_load_factor = current_load_factor = L;
1826 incre_load_factor.zeros();
1830 trial_load = current_load = L;
1835 trial_settlement = current_settlement =
S;
1836 incre_settlement.zeros();
1840 trial_resistance = current_resistance = R;
1841 incre_resistance.zeros();
1845 trial_damping_force = current_damping_force = R;
1846 incre_damping_force.zeros();
1850 trial_inertial_force = current_inertial_force = R;
1851 incre_inertial_force.zeros();
1855 trial_displacement = current_displacement = D;
1856 incre_displacement.zeros();
1860 trial_velocity = current_velocity =
V;
1861 incre_velocity.zeros();
1865 trial_acceleration = current_acceleration =
A;
1866 incre_acceleration.zeros();
1870 trial_temperature = current_temperature =
M;
1871 incre_temperature.zeros();
1876 incre_time = trial_time - current_time;
1880 trial_load_factor += L;
1881 incre_load_factor = trial_load_factor - current_load_factor;
1886 incre_load = trial_load - current_load;
1890 trial_settlement +=
S;
1891 incre_settlement = trial_settlement - current_settlement;
1895 trial_resistance += R;
1896 incre_resistance = trial_resistance - current_resistance;
1900 trial_damping_force += R;
1901 incre_damping_force = trial_damping_force - current_damping_force;
1905 trial_inertial_force += R;
1906 incre_inertial_force = trial_inertial_force - current_inertial_force;
1910 trial_displacement += D;
1911 incre_displacement = trial_displacement - current_displacement;
1915 trial_velocity +=
V;
1916 incre_velocity = trial_velocity - current_velocity;
1920 trial_acceleration +=
A;
1921 incre_acceleration = trial_acceleration - current_acceleration;
1925 trial_temperature +=
M;
1926 incre_temperature = trial_temperature - current_temperature;
1931 trial_time = current_time + incre_time;
1935 incre_load_factor += L;
1936 trial_load_factor = current_load_factor + incre_load_factor;
1941 trial_load = current_load + incre_load;
1945 incre_settlement +=
S;
1946 trial_settlement = current_settlement + incre_settlement;
1950 incre_resistance += R;
1951 trial_resistance = current_resistance + incre_resistance;
1955 incre_damping_force += R;
1956 trial_damping_force = current_damping_force + incre_damping_force;
1960 incre_inertial_force += R;
1961 trial_inertial_force = current_inertial_force + incre_inertial_force;
1965 incre_displacement += D;
1966 trial_displacement = current_displacement + incre_displacement;
1970 incre_velocity +=
V;
1971 trial_velocity = current_velocity + incre_velocity;
1975 incre_acceleration +=
A;
1976 trial_acceleration = current_acceleration + incre_acceleration;
1980 incre_temperature +=
M;
1981 trial_temperature = current_temperature + incre_temperature;
1985 trial_time = current_time +=
M;
1990 trial_load_factor = current_load_factor += L;
1991 incre_load_factor.zeros();
1995 trial_load = current_load += L;
2000 trial_settlement = current_settlement +=
S;
2001 incre_settlement.zeros();
2005 trial_resistance = current_resistance += R;
2006 incre_resistance.zeros();
2010 trial_damping_force = current_damping_force += R;
2011 incre_damping_force.zeros();
2015 trial_inertial_force = current_inertial_force += R;
2016 incre_inertial_force.zeros();
2020 trial_displacement = current_displacement += D;
2021 incre_displacement.zeros();
2025 trial_velocity = current_velocity +=
V;
2026 incre_velocity.zeros();
2030 trial_acceleration = current_acceleration +=
A;
2031 incre_acceleration.zeros();
2035 trial_temperature = current_temperature +=
M;
2036 incre_temperature.zeros();
void reset(ExternalMaterialData *data, int *info)
Definition ElasticExternal.cpp:74
A Factory class.
Definition Factory.hpp:73
const bool initialized
Definition Factory.hpp:183
void set_pre_inertial_force(const Col< T > &)
Definition Factory.hpp:1523
T & modify_trial_time()
Definition Factory.hpp:1621
void set_eigenvalue(const Col< T > &)
Definition Factory.hpp:895
void clear_acceleration()
Definition Factory.hpp:1191
void initialize_load()
Definition Factory.hpp:795
void set_mpc(unsigned)
Definition Factory.hpp:877
shared_ptr< MetaMat< T > > & modify_stiffness()
Definition Factory.hpp:1415
Col< T > & modify_trial_inertial_force()
Definition Factory.hpp:1633
void commit_temperature()
Definition Factory.hpp:1065
bool is_sparse() const
Definition Factory.hpp:700
void set_incre_velocity(const Col< T > &)
Definition Factory.hpp:1483
uword get_entry() const
Definition Factory.hpp:666
void set_incre_temperature(const Col< T > &)
Definition Factory.hpp:1487
void assemble_stiffness(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition Factory.hpp:1351
void print() const
Definition Factory.hpp:1360
void clear_resistance()
Definition Factory.hpp:1156
void initialize_auxiliary_resistance()
Definition Factory.hpp:849
void clear_load_factor()
Definition Factory.hpp:1135
void set_incre_acceleration(const Col< T > &)
Definition Factory.hpp:1485
int initialize()
Definition Factory.hpp:734
Col< T > & modify_incre_load()
Definition Factory.hpp:1647
const Col< T > & get_current_acceleration() const
Definition Factory.hpp:1595
void update_incre_damping_force_by(const Col< T > &)
Definition Factory.hpp:1954
const Col< T > & get_pre_damping_force() const
Definition Factory.hpp:1609
void reset_displacement()
Definition Factory.hpp:1268
void update_incre_temperature_by(const Col< T > &)
Definition Factory.hpp:1979
void set_ninja(const Col< T > &)
Definition Factory.hpp:871
Col< T > & modify_trial_damping_force()
Definition Factory.hpp:1631
void update_trial_temperature_by(const Col< T > &)
Definition Factory.hpp:1924
bool is_nlgeom() const
Definition Factory.hpp:674
void update_incre_load_factor_by(const Col< T > &)
Definition Factory.hpp:1934
const Mat< T > & get_eigenvector() const
Definition Factory.hpp:963
const Col< T > & get_trial_velocity() const
Definition Factory.hpp:1549
const Col< T > & get_trial_resistance() const
Definition Factory.hpp:1541
void update_trial_load_factor_by(const Col< T > &)
Definition Factory.hpp:1879
const Col< T > & get_ninja() const
Definition Factory.hpp:899
Col< T > & modify_trial_temperature()
Definition Factory.hpp:1641
void set_pre_velocity(const Col< T > &)
Definition Factory.hpp:1527
const Col< T > & get_current_load() const
Definition Factory.hpp:1581
void set_trial_settlement(const Col< T > &)
Definition Factory.hpp:1451
void set_incre_load_factor(const Col< T > &)
Definition Factory.hpp:1469
void set_trial_time(T)
Definition Factory.hpp:1445
Col< T > & modify_incre_resistance()
Definition Factory.hpp:1651
void update_incre_load_by(const Col< T > &)
Definition Factory.hpp:1939
void set_solver_type(SolverType)
Definition Factory.hpp:676
const Col< T > & get_pre_load() const
Definition Factory.hpp:1603
void commit_acceleration()
Definition Factory.hpp:1059
AnalysisType get_analysis_type() const
Definition Factory.hpp:690
void set_current_resistance(const Col< T > &)
Definition Factory.hpp:1497
void update_incre_displacement(const Col< T > &)
Definition Factory.hpp:1799
void set_incre_displacement(const Col< T > &)
Definition Factory.hpp:1481
void update_current_acceleration_by(const Col< T > &)
Definition Factory.hpp:2029
const uvec & get_auxiliary_encoding() const
Definition Factory.hpp:907
void reset_auxiliary_resistance()
Definition Factory.hpp:1292
Col< T > & modify_pre_displacement()
Definition Factory.hpp:1701
void commit_resistance()
Definition Factory.hpp:1029
const Col< T > & get_incre_inertial_force() const
Definition Factory.hpp:1567
void set_storage_scheme(StorageScheme)
Definition Factory.hpp:692
void initialize_damping()
Definition Factory.hpp:856
void update_incre_velocity(const Col< T > &)
Definition Factory.hpp:1804
Col< T > & modify_incre_acceleration()
Definition Factory.hpp:1661
void initialize_geometry()
Definition Factory.hpp:860
void update_incre_displacement_by(const Col< T > &)
Definition Factory.hpp:1964
void update_current_damping_force_by(const Col< T > &)
Definition Factory.hpp:2009
void assemble_mass(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition Factory.hpp:1347
void set_trial_velocity(const Col< T > &)
Definition Factory.hpp:1461
void update_current_resistance(const Col< T > &)
Definition Factory.hpp:1839
void clear_inertial_force()
Definition Factory.hpp:1170
Col< T > & modify_ninja()
Definition Factory.hpp:1419
void update_trial_damping_force_by(const Col< T > &)
Definition Factory.hpp:1899
unsigned get_mpc() const
Definition Factory.hpp:903
Col< T > & modify_eigenvalue()
Definition Factory.hpp:1441
const Col< T > & get_current_settlement() const
Definition Factory.hpp:1583
const SolverSetting< double > & get_solver_setting() const
Definition Factory.hpp:682
void commit_load_factor()
Definition Factory.hpp:1011
std::mutex & get_damping_mutex()
Definition Factory.hpp:955
void update_trial_velocity_by(const Col< T > &)
Definition Factory.hpp:1914
void update_current_load_by(const Col< T > &)
Definition Factory.hpp:1994
SpCol< T > & modify_trial_constraint_resistance()
Definition Factory.hpp:1437
const shared_ptr< MetaMat< T > > & get_damping() const
Definition Factory.hpp:933
void set_pre_settlement(const Col< T > &)
Definition Factory.hpp:1517
void set_nlgeom(bool)
Definition Factory.hpp:668
StorageScheme get_storage_scheme() const
Definition Factory.hpp:698
void commit_inertial_force()
Definition Factory.hpp:1041
void update_current_time(T)
Definition Factory.hpp:1819
void initialize_resistance()
Definition Factory.hpp:807
const Col< T > & get_current_damping_force() const
Definition Factory.hpp:1587
void set_solver_setting(const SolverSetting< double > &)
Definition Factory.hpp:680
void update_trial_displacement_by(const Col< T > &)
Definition Factory.hpp:1909
void set_mass(const shared_ptr< MetaMat< T > > &)
Definition Factory.hpp:887
void reset_velocity()
Definition Factory.hpp:1274
const Col< T > & get_trial_load_factor() const
Definition Factory.hpp:1535
void set_current_load(const Col< T > &)
Definition Factory.hpp:1493
std::mutex & get_trial_load_mutex()
Definition Factory.hpp:949
void initialize_stiffness()
Definition Factory.hpp:858
void initialize_damping_force()
Definition Factory.hpp:813
T get_current_time() const
Definition Factory.hpp:1577
const Col< T > & get_pre_settlement() const
Definition Factory.hpp:1605
void update_trial_temperature(const Col< T > &)
Definition Factory.hpp:1759
void commit_velocity()
Definition Factory.hpp:1053
void set_pre_time(T)
Definition Factory.hpp:1511
T get_complementary_energy()
Definition Factory.hpp:927
void reset()
Definition Factory.hpp:1318
const Col< T > & get_incre_displacement() const
Definition Factory.hpp:1569
void set_current_damping_force(const Col< T > &)
Definition Factory.hpp:1499
void update_trial_acceleration(const Col< T > &)
Definition Factory.hpp:1754
void set_current_time(T)
Definition Factory.hpp:1489
const Col< T > & get_auxiliary_load() const
Definition Factory.hpp:913
void commit_pre_settlement()
Definition Factory.hpp:1096
Col< T > & modify_pre_settlement()
Definition Factory.hpp:1693
const shared_ptr< MetaMat< T > > & get_mass() const
Definition Factory.hpp:931
void commit_status()
Definition Factory.hpp:987
void commit_pre_load_factor()
Definition Factory.hpp:1092
const suanpan::set< uword > & get_reference_dof() const
Definition Factory.hpp:728
void set_incre_time(T)
Definition Factory.hpp:1467
shared_ptr< MetaMat< T > > & modify_damping()
Definition Factory.hpp:1413
Col< T > & modify_pre_velocity()
Definition Factory.hpp:1703
void assemble_damping(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition Factory.hpp:1349
void update_trial_inertial_force(const Col< T > &)
Definition Factory.hpp:1739
void set_current_velocity(const Col< T > &)
Definition Factory.hpp:1505
void commit_displacement()
Definition Factory.hpp:1047
void update_current_velocity_by(const Col< T > &)
Definition Factory.hpp:2024
const Col< T > & get_incre_damping_force() const
Definition Factory.hpp:1565
void update_trial_load_factor(const Col< T > &)
Definition Factory.hpp:1714
void reset_load_factor()
Definition Factory.hpp:1232
void clear_velocity()
Definition Factory.hpp:1184
void update_current_load(const Col< T > &)
Definition Factory.hpp:1829
void update_incre_time(T)
Definition Factory.hpp:1764
void update_incre_settlement_by(const Col< T > &)
Definition Factory.hpp:1944
unsigned get_reference_size() const
Definition Factory.hpp:722
void update_current_acceleration(const Col< T > &)
Definition Factory.hpp:1864
StorageScheme
Definition Factory.hpp:52
void commit_pre_temperature()
Definition Factory.hpp:1110
void commit_pre_status()
Definition Factory.hpp:1076
void update_current_time_by(T)
Definition Factory.hpp:1984
suanpan::set< uword > & modify_reference_dof()
Definition Factory.hpp:1423
void set_trial_acceleration(const Col< T > &)
Definition Factory.hpp:1463
void update_trial_damping_force(const Col< T > &)
Definition Factory.hpp:1734
const Col< T > & get_incre_settlement() const
Definition Factory.hpp:1561
void reset_inertial_force()
Definition Factory.hpp:1262
void set_reference_dof(const suanpan::set< uword > &)
Definition Factory.hpp:726
const Col< T > & get_momentum()
Definition Factory.hpp:929
void update_current_displacement(const Col< T > &)
Definition Factory.hpp:1854
void clear_settlement()
Definition Factory.hpp:1149
void set_pre_load(const Col< T > &)
Definition Factory.hpp:1515
std::mutex & get_auxiliary_stiffness_mutex()
Definition Factory.hpp:945
T get_incre_time() const
Definition Factory.hpp:1555
void commit_pre_damping_force()
Definition Factory.hpp:1100
Col< T > & modify_current_inertial_force()
Definition Factory.hpp:1677
T get_strain_energy()
Definition Factory.hpp:921
void commit_pre_inertial_force()
Definition Factory.hpp:1102
void update_trial_settlement(const Col< T > &)
Definition Factory.hpp:1724
void set_trial_inertial_force(const Col< T > &)
Definition Factory.hpp:1457
const Col< T > & get_eigenvalue() const
Definition Factory.hpp:961
void commit_pre_displacement()
Definition Factory.hpp:1104
std::mutex & get_geometry_mutex()
Definition Factory.hpp:959
void commit_pre_acceleration()
Definition Factory.hpp:1108
const Col< T > & get_incre_velocity() const
Definition Factory.hpp:1571
Col< T > & modify_current_settlement()
Definition Factory.hpp:1671
T get_trial_time() const
Definition Factory.hpp:1533
void update_current_temperature_by(const Col< T > &)
Definition Factory.hpp:2034
void set_geometry(const shared_ptr< MetaMat< T > > &)
Definition Factory.hpp:893
void set_incre_load(const Col< T > &)
Definition Factory.hpp:1471
void update_reference_size()
Definition Factory.hpp:715
void set_pre_acceleration(const Col< T > &)
Definition Factory.hpp:1529
void set_incre_inertial_force(const Col< T > &)
Definition Factory.hpp:1479
T get_kinetic_energy()
Definition Factory.hpp:923
void set_current_settlement(const Col< T > &)
Definition Factory.hpp:1495
void update_trial_settlement_by(const Col< T > &)
Definition Factory.hpp:1889
void initialize_inertial_force()
Definition Factory.hpp:819
void set_pre_resistance(const Col< T > &)
Definition Factory.hpp:1519
void commit_load()
Definition Factory.hpp:1017
void update_trial_acceleration_by(const Col< T > &)
Definition Factory.hpp:1919
const Col< T > & get_pre_acceleration() const
Definition Factory.hpp:1617
void update_incre_acceleration_by(const Col< T > &)
Definition Factory.hpp:1974
void commit_pre_load()
Definition Factory.hpp:1094
void commit_pre_velocity()
Definition Factory.hpp:1106
void update_trial_resistance_by(const Col< T > &)
Definition Factory.hpp:1894
Col< T > & modify_current_resistance()
Definition Factory.hpp:1673
AnalysisType
Definition Factory.hpp:43
void commit_pre_time()
Definition Factory.hpp:1090
shared_ptr< MetaMat< T > > & modify_geometry()
Definition Factory.hpp:1417
void commit_auxiliary_resistance()
Definition Factory.hpp:1071
void update_current_settlement(const Col< T > &)
Definition Factory.hpp:1834
void update_trial_load(const Col< T > &)
Definition Factory.hpp:1719
void update_incre_load(const Col< T > &)
Definition Factory.hpp:1774
void update_trial_time(T)
Definition Factory.hpp:1709
const shared_ptr< MetaMat< T > > & get_stiffness() const
Definition Factory.hpp:935
void commit_settlement()
Definition Factory.hpp:1023
const Col< T > & get_auxiliary_lambda() const
Definition Factory.hpp:909
void reset_load()
Definition Factory.hpp:1238
void reset_damping_force()
Definition Factory.hpp:1256
void update_current_inertial_force_by(const Col< T > &)
Definition Factory.hpp:2014
void set_trial_temperature(const Col< T > &)
Definition Factory.hpp:1465
std::mutex & get_auxiliary_encoding_mutex()
Definition Factory.hpp:939
Col< T > & modify_trial_load()
Definition Factory.hpp:1625
SolverType
Definition Factory.hpp:61
void assemble_damping_force(const Mat< T > &, const uvec &)
Definition Factory.hpp:1330
const Col< T > & get_pre_displacement() const
Definition Factory.hpp:1613
const Col< T > & get_current_inertial_force() const
Definition Factory.hpp:1589
std::mutex & get_mass_mutex()
Definition Factory.hpp:953
const Col< T > & get_pre_load_factor() const
Definition Factory.hpp:1601
Col< T > & modify_current_acceleration()
Definition Factory.hpp:1683
const Col< T > & get_trial_displacement() const
Definition Factory.hpp:1547
void update_trial_velocity(const Col< T > &)
Definition Factory.hpp:1749
void update_current_temperature(const Col< T > &)
Definition Factory.hpp:1869
void reset_temperature()
Definition Factory.hpp:1286
std::mutex & get_auxiliary_resistance_mutex()
Definition Factory.hpp:941
void set_current_acceleration(const Col< T > &)
Definition Factory.hpp:1507
void update_current_settlement_by(const Col< T > &)
Definition Factory.hpp:1999
void initialize_settlement()
Definition Factory.hpp:801
void clear_damping()
Definition Factory.hpp:1304
const Col< T > & get_incre_load_factor() const
Definition Factory.hpp:1557
void clear_energy()
Definition Factory.hpp:979
const SpMat< T > & get_reference_load() const
Definition Factory.hpp:905
void initialize_displacement()
Definition Factory.hpp:825
Col< T > & modify_auxiliary_load()
Definition Factory.hpp:1433
void reset_time()
Definition Factory.hpp:1227
const Col< T > & get_current_displacement() const
Definition Factory.hpp:1591
Col< T > & modify_current_velocity()
Definition Factory.hpp:1681
unsigned get_size() const
Definition Factory.hpp:659
T & modify_current_time()
Definition Factory.hpp:1665
void reset_settlement()
Definition Factory.hpp:1244
void clear_damping_force()
Definition Factory.hpp:1163
void set_analysis_type(AnalysisType)
Definition Factory.hpp:684
const Col< T > & get_incre_load() const
Definition Factory.hpp:1559
void set_entry(uword)
Definition Factory.hpp:661
Col< T > & modify_pre_damping_force()
Definition Factory.hpp:1697
const Col< T > & get_incre_acceleration() const
Definition Factory.hpp:1573
T get_pre_time() const
Definition Factory.hpp:1599
void clear_geometry()
Definition Factory.hpp:1308
T get_viscous_energy()
Definition Factory.hpp:925
std::mutex & get_trial_constraint_resistance_mutex()
Definition Factory.hpp:947
const Col< T > & get_current_temperature() const
Definition Factory.hpp:1597
void update_incre_time_by(T)
Definition Factory.hpp:1929
void set_reference_size(unsigned)
Definition Factory.hpp:717
Col< T > & modify_trial_settlement()
Definition Factory.hpp:1627
void initialize_temperature()
Definition Factory.hpp:843
void set_current_displacement(const Col< T > &)
Definition Factory.hpp:1503
void update_reference_dof(const uvec &)
Definition Factory.hpp:724
const Col< T > & get_trial_inertial_force() const
Definition Factory.hpp:1545
void set_current_inertial_force(const Col< T > &)
Definition Factory.hpp:1501
SpCol< T > & modify_current_constraint_resistance()
Definition Factory.hpp:1439
Col< T > & modify_incre_load_factor()
Definition Factory.hpp:1645
void set_trial_load(const Col< T > &)
Definition Factory.hpp:1449
Col< T > & modify_auxiliary_resistance()
Definition Factory.hpp:1431
Col< T > & modify_pre_resistance()
Definition Factory.hpp:1695
Col< T > & modify_incre_temperature()
Definition Factory.hpp:1663
T & modify_pre_time()
Definition Factory.hpp:1687
void update_incre_temperature(const Col< T > &)
Definition Factory.hpp:1814
void update_current_velocity(const Col< T > &)
Definition Factory.hpp:1859
void set_error(T)
Definition Factory.hpp:730
void assemble_geometry(const Mat< T > &, const uvec &, const std::vector< MappingDOF > &)
Definition Factory.hpp:1353
const Col< T > & get_trial_settlement() const
Definition Factory.hpp:1539
void set_eigenvector(const Mat< T > &)
Definition Factory.hpp:897
void initialize_load_factor()
Definition Factory.hpp:785
Col< T > & modify_incre_inertial_force()
Definition Factory.hpp:1655
const Col< T > & get_trial_load() const
Definition Factory.hpp:1537
uvec & modify_auxiliary_encoding()
Definition Factory.hpp:1427
void update_current_displacement_by(const Col< T > &)
Definition Factory.hpp:2019
void set_trial_resistance(const Col< T > &)
Definition Factory.hpp:1453
void set_pre_load_factor(const Col< T > &)
Definition Factory.hpp:1513
void update_current_damping_force(const Col< T > &)
Definition Factory.hpp:1844
Col< T > & modify_current_damping_force()
Definition Factory.hpp:1675
void update_current_load_factor(const Col< T > &)
Definition Factory.hpp:1824
void commit_energy()
Definition Factory.hpp:965
void commit_damping_force()
Definition Factory.hpp:1035
T get_error() const
Definition Factory.hpp:732
void update_trial_time_by(T)
Definition Factory.hpp:1874
void update_incre_acceleration(const Col< T > &)
Definition Factory.hpp:1809
const SpMat< T > & get_auxiliary_stiffness() const
Definition Factory.hpp:915
void assemble_inertial_force(const Mat< T > &, const uvec &)
Definition Factory.hpp:1335
void clear_status()
Definition Factory.hpp:1112
void set_bandwidth(unsigned, unsigned)
Definition Factory.hpp:702
void update_incre_velocity_by(const Col< T > &)
Definition Factory.hpp:1969
const Col< T > & get_current_load_factor() const
Definition Factory.hpp:1579
void commit_time()
Definition Factory.hpp:1006
void clear_mass()
Definition Factory.hpp:1302
void get_bandwidth(unsigned &, unsigned &) const
Definition Factory.hpp:710
const Col< T > & get_pre_inertial_force() const
Definition Factory.hpp:1611
void commit_pre_resistance()
Definition Factory.hpp:1098
void reset_resistance()
Definition Factory.hpp:1250
SolverType get_solver_type() const
Definition Factory.hpp:678
Col< T > & modify_pre_temperature()
Definition Factory.hpp:1707
std::mutex & get_auxiliary_load_mutex()
Definition Factory.hpp:943
const Col< T > & get_trial_acceleration() const
Definition Factory.hpp:1551
void assemble_resistance(const Mat< T > &, const uvec &)
Definition Factory.hpp:1325
void set_incre_damping_force(const Col< T > &)
Definition Factory.hpp:1477
Col< T > & modify_incre_displacement()
Definition Factory.hpp:1657
Col< T > & modify_pre_load()
Definition Factory.hpp:1691
const SpCol< T > & get_trial_constraint_resistance() const
Definition Factory.hpp:917
void update_incre_damping_force(const Col< T > &)
Definition Factory.hpp:1789
const Col< T > & get_pre_velocity() const
Definition Factory.hpp:1615
const Col< T > & get_current_resistance() const
Definition Factory.hpp:1585
void initialize_velocity()
Definition Factory.hpp:831
std::mutex & get_stiffness_mutex()
Definition Factory.hpp:957
Col< T > & modify_pre_acceleration()
Definition Factory.hpp:1705
void update_incre_inertial_force_by(const Col< T > &)
Definition Factory.hpp:1959
const Col< T > & get_current_velocity() const
Definition Factory.hpp:1593
void update_incre_load_factor(const Col< T > &)
Definition Factory.hpp:1769
SpMat< T > & modify_auxiliary_stiffness()
Definition Factory.hpp:1435
void set_incre_resistance(const Col< T > &)
Definition Factory.hpp:1475
Col< T > & modify_trial_velocity()
Definition Factory.hpp:1637
Col< T > & modify_trial_displacement()
Definition Factory.hpp:1635
const Col< T > & get_pre_temperature() const
Definition Factory.hpp:1619
Col< T > & modify_trial_acceleration()
Definition Factory.hpp:1639
void clear_load()
Definition Factory.hpp:1142
const Col< T > & get_incre_temperature() const
Definition Factory.hpp:1575
Col< T > & modify_pre_load_factor()
Definition Factory.hpp:1689
Factory(unsigned=0, AnalysisType=AnalysisType::NONE, StorageScheme=StorageScheme::FULL)
Definition Factory.hpp:648
Col< T > & modify_trial_load_factor()
Definition Factory.hpp:1623
void set_size(unsigned)
Definition Factory.hpp:653
void update_trial_displacement(const Col< T > &)
Definition Factory.hpp:1744
const Col< T > & get_incre_resistance() const
Definition Factory.hpp:1563
Col< T > & modify_trial_resistance()
Definition Factory.hpp:1629
const Col< T > & get_sushi() const
Definition Factory.hpp:901
const Col< T > & get_auxiliary_resistance() const
Definition Factory.hpp:911
const Col< T > & get_trial_damping_force() const
Definition Factory.hpp:1543
Mat< T > & modify_eigenvector()
Definition Factory.hpp:1443
void update_current_resistance_by(const Col< T > &)
Definition Factory.hpp:2004
void set_pre_temperature(const Col< T > &)
Definition Factory.hpp:1531
void update_trial_load_by(const Col< T > &)
Definition Factory.hpp:1884
Col< T > & modify_auxiliary_lambda()
Definition Factory.hpp:1429
const SpCol< T > & get_current_constraint_resistance() const
Definition Factory.hpp:919
void clear_auxiliary_resistance()
Definition Factory.hpp:1205
void update_incre_resistance_by(const Col< T > &)
Definition Factory.hpp:1949
void update_sushi_by(const Col< T > &)
Definition Factory.hpp:875
void set_incre_settlement(const Col< T > &)
Definition Factory.hpp:1473
Col< T > & modify_pre_inertial_force()
Definition Factory.hpp:1699
void set_sushi(const Col< T > &)
Definition Factory.hpp:873
shared_ptr< MetaMat< T > > & modify_mass()
Definition Factory.hpp:1411
void update_incre_settlement(const Col< T > &)
Definition Factory.hpp:1779
void set_pre_displacement(const Col< T > &)
Definition Factory.hpp:1525
void set_current_load_factor(const Col< T > &)
Definition Factory.hpp:1491
void set_trial_displacement(const Col< T > &)
Definition Factory.hpp:1459
void update_trial_resistance(const Col< T > &)
Definition Factory.hpp:1729
Col< T > & modify_current_load_factor()
Definition Factory.hpp:1667
void clear_eigen()
Definition Factory.hpp:1297
void clear_auxiliary()
Definition Factory.hpp:1310
void set_reference_load(const SpMat< T > &)
Definition Factory.hpp:885
T & modify_incre_time()
Definition Factory.hpp:1643
void update_incre_resistance(const Col< T > &)
Definition Factory.hpp:1784
SpMat< T > & modify_reference_load()
Definition Factory.hpp:1425
Col< T > & modify_incre_damping_force()
Definition Factory.hpp:1653
Col< T > & modify_incre_settlement()
Definition Factory.hpp:1649
void update_current_load_factor_by(const Col< T > &)
Definition Factory.hpp:1989
void set_trial_load_factor(const Col< T > &)
Definition Factory.hpp:1447
void initialize_eigen()
Definition Factory.hpp:866
void update_incre_inertial_force(const Col< T > &)
Definition Factory.hpp:1794
void clear_time()
Definition Factory.hpp:1133
void set_stiffness(const shared_ptr< MetaMat< T > > &)
Definition Factory.hpp:891
void clear_displacement()
Definition Factory.hpp:1177
const shared_ptr< MetaMat< T > > & get_geometry() const
Definition Factory.hpp:937
Col< T > & modify_current_load()
Definition Factory.hpp:1669
void reset_status()
Definition Factory.hpp:1210
Col< T > & modify_current_temperature()
Definition Factory.hpp:1685
void update_current_inertial_force(const Col< T > &)
Definition Factory.hpp:1849
const Col< T > & get_trial_temperature() const
Definition Factory.hpp:1553
void set_trial_damping_force(const Col< T > &)
Definition Factory.hpp:1455
std::mutex & get_trial_settlement_mutex()
Definition Factory.hpp:951
void initialize_mass()
Definition Factory.hpp:854
Col< T > & modify_sushi()
Definition Factory.hpp:1421
void set_pre_damping_force(const Col< T > &)
Definition Factory.hpp:1521
void clear_temperature()
Definition Factory.hpp:1198
Col< T > & modify_current_displacement()
Definition Factory.hpp:1679
void initialize_acceleration()
Definition Factory.hpp:837
void update_trial_inertial_force_by(const Col< T > &)
Definition Factory.hpp:1904
void set_current_temperature(const Col< T > &)
Definition Factory.hpp:1509
Col< T > & modify_incre_velocity()
Definition Factory.hpp:1659
void set_damping(const shared_ptr< MetaMat< T > > &)
Definition Factory.hpp:889
void reset_acceleration()
Definition Factory.hpp:1280
const Col< T > & get_pre_resistance() const
Definition Factory.hpp:1607
void clear_stiffness()
Definition Factory.hpp:1306
std::set< T > set
Definition container.h:54
Definition SolverSetting.hpp:40
#define suanpan_info
Definition suanPan.h:305