MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / writeModel

Method writeModel

SRC/recorder/MPCORecorder.cpp:4943–5020  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4941}
4942
4943int MPCORecorder::writeModel()
4944{
4945 /*
4946 error flags
4947 */
4948 int retval = 0;
4949 herr_t status;
4950 /*
4951 create model and results groups
4952 */
4953 std::stringstream ss_current_model_stage_name;
4954 ss_current_model_stage_name << "MODEL_STAGE[" << m_data->info.current_model_stage_id << "]";
4955 std::string model_stage_dir = ss_current_model_stage_name.str();
4956 hid_t h_gp_model_stage = h5::group::create(m_data->info.h_file_id, model_stage_dir.c_str(), H5P_DEFAULT, m_data->info.h_group_proplist, H5P_DEFAULT);
4957 hid_t h_gp_model = h5::group::create(h_gp_model_stage, "MODEL", H5P_DEFAULT, m_data->info.h_group_proplist, H5P_DEFAULT);
4958 hid_t h_gp_results = h5::group::create(h_gp_model_stage, "RESULTS", H5P_DEFAULT, m_data->info.h_group_proplist, H5P_DEFAULT);
4959 hid_t h_gp_results_on_nodes = h5::group::create(h_gp_results, "ON_NODES", H5P_DEFAULT, m_data->info.h_group_proplist, H5P_DEFAULT);
4960 hid_t h_gp_results_on_elements = h5::group::create(h_gp_results, "ON_ELEMENTS", H5P_DEFAULT, m_data->info.h_group_proplist, H5P_DEFAULT);
4961 /*
4962 attributes
4963 */
4964 status = h5::attribute::write(h_gp_model_stage, "STEP", m_data->info.current_time_step_id);
4965 status = h5::attribute::write(h_gp_model_stage, "TIME", m_data->info.current_time_step);
4966 /*
4967 close groups
4968 */
4969 status = h5::group::close(h_gp_results_on_elements);
4970 status = h5::group::close(h_gp_results_on_nodes);
4971 status = h5::group::close(h_gp_results);
4972 status = h5::group::close(h_gp_model);
4973 status = h5::group::close(h_gp_model_stage);
4974 /*
4975 write info.nodes
4976 */
4977 retval = writeModelNodes();
4978 if (retval)
4979 return retval;
4980 /*
4981 write elements
4982 */
4983 retval = writeModelElements();
4984 if (retval)
4985 return retval;
4986 /*
4987 write local axes
4988 */
4989 retval = writeModelLocalAxes();
4990 if (retval)
4991 return retval;
4992 /*
4993 write cross sections
4994 */
4995 retval = writeSections();
4996 if (retval)
4997 return retval;
4998 /*
4999 write sets
5000 */

Callers

nothing calls this directly

Calls 4

closeFunction · 0.85
createFunction · 0.70
writeFunction · 0.70
strMethod · 0.45

Tested by

no test coverage detected