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

Method do_intitialization

SRC/domain/pattern/drm/H5DRMLoadPattern.cpp:320–722  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

318
319
320void H5DRMLoadPattern::do_intitialization()
321{
322 Domain *theDomain = this->getDomain();
323
324 if (theDomain == 0)
325 {
326 return;
327 }
328
329 if (MPI_local_rank == 0)
330 {
331 H5DRMout << "initializing - filename : " << dataset_fname << "\n";
332 }
333
334 //===========================================================================
335 // Open the specified file for read only
336 //===========================================================================
337 hid_t file_access_plist = H5Pcreate(H5P_FILE_ACCESS);
338
339
340 ih5_fname = H5Fopen(dataset_fname.c_str(), H5F_ACC_RDONLY, file_access_plist);
341
342 if (ih5_fname < 0)
343 {
344 H5DRMerror << "Error opening HDF5 file: " << dataset_fname << endl;
345 return;
346 }
347
348
349 //===========================================================================
350 // MAP DRM data to local domain
351 //===========================================================================
352
353 H5DRMout << "Initialize" << endln;
354
355 ID internal;
356 Matrix xyz;
357 Vector drmbox_x0;
358 read_double_dataset_into_vector(ih5_fname, "DRM_Metadata/drmbox_x0", drmbox_x0);
359 read_double_dataset_into_matrix(ih5_fname, "DRM_Data/xyz", xyz);
360 read_int_dataset_into_id(ih5_fname, "DRM_Data/internal", internal);
361 read_int_dataset_into_id(ih5_fname, "DRM_Data/data_location", station_id2data_pos);
362 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_xmax", drmbox_xmax);
363 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_xmin", drmbox_xmin);
364 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_ymax", drmbox_ymax);
365 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_ymin", drmbox_ymin);
366 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_zmax", drmbox_zmax);
367 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/drmbox_zmin", drmbox_zmin);
368 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/dt", dt);
369 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/tstart", tstart);
370 read_scalar_double_dataset_into_double(ih5_fname, "DRM_Metadata/tend", tend);
371
372 N_timesteps = int((tend - tstart) / dt);
373
374 last_integration_time = theDomain->getCurrentTime();
375
376 int NDRM_points = xyz.noRows();
377

Callers

nothing calls this directly

Calls 15

read_int_dataset_into_idFunction · 0.85
vector_to_stringFunction · 0.85
getNodesMethod · 0.80
getCrdsMethod · 0.80
getDomainMethod · 0.45
getCurrentTimeMethod · 0.45
noRowsMethod · 0.45
addMatrixVectorMethod · 0.45
getNumNodesMethod · 0.45

Tested by

no test coverage detected