Merge branch 'development' into universal-error+warning-formatting
This commit is contained in:
commit
7c875371a6
|
@ -210,9 +210,9 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,materialAt)
|
||||||
|
|
||||||
|
|
||||||
call result_openJobFile()
|
call result_openJobFile()
|
||||||
call result_writeDataset_str(IO_read(trim(getSolverJobName())//InputFileExtension), 'setup', &
|
call result_addSetupFile(IO_read(trim(getSolverJobName())//InputFileExtension), &
|
||||||
trim(getSolverJobName())//InputFileExtension, &
|
trim(getSolverJobName())//InputFileExtension, &
|
||||||
'MSC.Marc input deck')
|
'MSC.Marc input deck')
|
||||||
call result_closeJobFile()
|
call result_closeJobFile()
|
||||||
|
|
||||||
inputFile = IO_readlines(trim(getSolverJobName())//InputFileExtension)
|
inputFile = IO_readlines(trim(getSolverJobName())//InputFileExtension)
|
||||||
|
|
|
@ -121,7 +121,7 @@ function parse(fname,description)
|
||||||
print'(/,1x,a)', 'reading '//description; flush(IO_STDOUT)
|
print'(/,1x,a)', 'reading '//description; flush(IO_STDOUT)
|
||||||
fileContent = IO_read(fname)
|
fileContent = IO_read(fname)
|
||||||
call result_openJobFile(parallel=.false.)
|
call result_openJobFile(parallel=.false.)
|
||||||
call result_writeDataset_str(fileContent,'setup',fname(scan(fname,'/',.true.)+1:),description)
|
call result_addSetupFile(fileContent,fname,description)
|
||||||
call result_closeJobFile()
|
call result_closeJobFile()
|
||||||
end if
|
end if
|
||||||
call parallelization_bcast_str(fileContent)
|
call parallelization_bcast_str(fileContent)
|
||||||
|
|
|
@ -146,7 +146,7 @@ program DAMASK_grid
|
||||||
fname = CLI_loadFile
|
fname = CLI_loadFile
|
||||||
if (scan(fname,'/') /= 0) fname = fname(scan(fname,'/',.true.)+1:)
|
if (scan(fname,'/') /= 0) fname = fname(scan(fname,'/',.true.)+1:)
|
||||||
call result_openJobFile(parallel=.false.)
|
call result_openJobFile(parallel=.false.)
|
||||||
call result_writeDataset_str(fileContent,'setup',fname,'load case definition (grid solver)')
|
call result_addSetupFile(fileContent,fname,'load case definition (grid solver)')
|
||||||
call result_closeJobFile()
|
call result_closeJobFile()
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ subroutine discretization_grid_init(restart)
|
||||||
fname = CLI_geomFile
|
fname = CLI_geomFile
|
||||||
if (scan(fname,'/') /= 0) fname = fname(scan(fname,'/',.true.)+1:)
|
if (scan(fname,'/') /= 0) fname = fname(scan(fname,'/',.true.)+1:)
|
||||||
call result_openJobFile(parallel=.false.)
|
call result_openJobFile(parallel=.false.)
|
||||||
call result_writeDataset_str(fileContent,'setup',fname,'geometry definition (grid solver)')
|
call result_addSetupFile(fileContent,fname,'geometry definition (grid solver)')
|
||||||
call result_closeJobFile()
|
call result_closeJobFile()
|
||||||
else
|
else
|
||||||
allocate(materialAt_global(0)) ! needed for IntelMPI
|
allocate(materialAt_global(0)) ! needed for IntelMPI
|
||||||
|
|
|
@ -307,7 +307,7 @@ end subroutine grid_damage_spectral_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Write current solver and constitutive data for restart to file.
|
!> @brief Write current solver and constitutive data for restart to file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_damage_spectral_restartWrite
|
subroutine grid_damage_spectral_restartWrite()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
DM :: dm_local
|
DM :: dm_local
|
||||||
|
@ -316,7 +316,7 @@ subroutine grid_damage_spectral_restartWrite
|
||||||
|
|
||||||
call SNESGetDM(SNES_damage,dm_local,err_PETSc);
|
call SNESGetDM(SNES_damage,dm_local,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecGetArrayF90(dm_local,solution_vec,phi,err_PETSc);
|
call DMDAVecGetArrayReadF90(dm_local,solution_vec,phi,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
print'(1x,a)', 'saving damage solver data required for restart'; flush(IO_STDOUT)
|
print'(1x,a)', 'saving damage solver data required for restart'; flush(IO_STDOUT)
|
||||||
|
@ -328,7 +328,7 @@ subroutine grid_damage_spectral_restartWrite
|
||||||
call HDF5_closeGroup(groupHandle)
|
call HDF5_closeGroup(groupHandle)
|
||||||
call HDF5_closeFile(fileHandle)
|
call HDF5_closeFile(fileHandle)
|
||||||
|
|
||||||
call DMDAVecRestoreArrayF90(dm_local,solution_vec,phi,err_PETSc);
|
call DMDAVecRestoreArrayReadF90(dm_local,solution_vec,phi,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_damage_spectral_restartWrite
|
end subroutine grid_damage_spectral_restartWrite
|
||||||
|
|
|
@ -351,15 +351,8 @@ subroutine grid_mechanical_FEM_forward(cutBack,guess,Delta_t,Delta_t_old,t_remai
|
||||||
rotation_BC
|
rotation_BC
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
PetscScalar, pointer, dimension(:,:,:,:) :: &
|
|
||||||
u,u_lastInc
|
|
||||||
|
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(mechanical_grid,solution_current,u,err_PETSc)
|
|
||||||
CHKERRQ(err_PETSc)
|
|
||||||
call DMDAVecGetArrayF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
|
||||||
CHKERRQ(err_PETSc)
|
|
||||||
|
|
||||||
if (cutBack) then
|
if (cutBack) then
|
||||||
C_volAvg = C_volAvgLastInc
|
C_volAvg = C_volAvgLastInc
|
||||||
else
|
else
|
||||||
|
@ -408,10 +401,6 @@ subroutine grid_mechanical_FEM_forward(cutBack,guess,Delta_t,Delta_t_old,t_remai
|
||||||
|
|
||||||
call VecAXPY(solution_current,Delta_t,solution_rate,err_PETSc)
|
call VecAXPY(solution_current,Delta_t,solution_rate,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecRestoreArrayF90(mechanical_grid,solution_current,u,err_PETSc)
|
|
||||||
CHKERRQ(err_PETSc)
|
|
||||||
call DMDAVecRestoreArrayF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
|
||||||
CHKERRQ(err_PETSc)
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! set module wide available data
|
! set module wide available data
|
||||||
|
@ -425,7 +414,7 @@ end subroutine grid_mechanical_FEM_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Update coordinates
|
!> @brief Update coordinates
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_FEM_updateCoords
|
subroutine grid_mechanical_FEM_updateCoords()
|
||||||
|
|
||||||
call utilities_updateCoords(F)
|
call utilities_updateCoords(F)
|
||||||
|
|
||||||
|
@ -435,16 +424,16 @@ end subroutine grid_mechanical_FEM_updateCoords
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Write current solver and constitutive data for restart to file
|
!> @brief Write current solver and constitutive data for restart to file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_FEM_restartWrite
|
subroutine grid_mechanical_FEM_restartWrite()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
integer(HID_T) :: fileHandle, groupHandle
|
integer(HID_T) :: fileHandle, groupHandle
|
||||||
PetscScalar, dimension(:,:,:,:), pointer :: u,u_lastInc
|
PetscScalar, dimension(:,:,:,:), pointer :: u,u_lastInc
|
||||||
|
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(mechanical_grid,solution_current,u,err_PETSc)
|
call DMDAVecGetArrayReadF90(mechanical_grid,solution_current,u,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecGetArrayF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
call DMDAVecGetArrayReadF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
print'(1x,a)', 'saving solver data required for restart'; flush(IO_STDOUT)
|
print'(1x,a)', 'saving solver data required for restart'; flush(IO_STDOUT)
|
||||||
|
@ -471,9 +460,9 @@ subroutine grid_mechanical_FEM_restartWrite
|
||||||
call HDF5_closeFile(fileHandle)
|
call HDF5_closeFile(fileHandle)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call DMDAVecRestoreArrayF90(mechanical_grid,solution_current,u,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(mechanical_grid,solution_current,u,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecRestoreArrayF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(mechanical_grid,solution_lastInc,u_lastInc,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_mechanical_FEM_restartWrite
|
end subroutine grid_mechanical_FEM_restartWrite
|
||||||
|
@ -566,7 +555,7 @@ subroutine formResidual(da_local,x_local, &
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! get deformation gradient
|
! get deformation gradient
|
||||||
call DMDAVecGetArrayF90(da_local,x_local,x_scal,err_PETSc)
|
call DMDAVecGetArrayReadF90(da_local,x_local,x_scal,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
do k = cells3Offset+1, cells3Offset+cells3; do j = 1, cells(2); do i = 1, cells(1)
|
do k = cells3Offset+1, cells3Offset+cells3; do j = 1, cells(2); do i = 1, cells(1)
|
||||||
ctr = 0
|
ctr = 0
|
||||||
|
@ -576,7 +565,7 @@ subroutine formResidual(da_local,x_local, &
|
||||||
end do; end do; end do
|
end do; end do; end do
|
||||||
F(1:3,1:3,i,j,k-cells3Offset) = params%rotation_BC%rotate(F_aim,active=.true.) + transpose(matmul(BMat,x_elem))
|
F(1:3,1:3,i,j,k-cells3Offset) = params%rotation_BC%rotate(F_aim,active=.true.) + transpose(matmul(BMat,x_elem))
|
||||||
end do; end do; end do
|
end do; end do; end do
|
||||||
call DMDAVecRestoreArrayF90(da_local,x_local,x_scal,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da_local,x_local,x_scal,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -596,7 +585,7 @@ subroutine formResidual(da_local,x_local, &
|
||||||
! constructing residual
|
! constructing residual
|
||||||
call DMDAVecGetArrayF90(da_local,f_local,r,err_PETSc)
|
call DMDAVecGetArrayF90(da_local,f_local,r,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecGetArrayF90(da_local,x_local,x_scal,err_PETSc)
|
call DMDAVecGetArrayReadF90(da_local,x_local,x_scal,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
ele = 0
|
ele = 0
|
||||||
r = 0.0_pREAL
|
r = 0.0_pREAL
|
||||||
|
@ -617,7 +606,7 @@ subroutine formResidual(da_local,x_local, &
|
||||||
r(0:2,i+ii,j+jj,k+kk) = r(0:2,i+ii,j+jj,k+kk) + f_elem(ctr,1:3)
|
r(0:2,i+ii,j+jj,k+kk) = r(0:2,i+ii,j+jj,k+kk) + f_elem(ctr,1:3)
|
||||||
end do; end do; end do
|
end do; end do; end do
|
||||||
end do; end do; end do
|
end do; end do; end do
|
||||||
call DMDAVecRestoreArrayF90(da_local,x_local,x_scal,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da_local,x_local,x_scal,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -377,15 +377,15 @@ end subroutine grid_mechanical_spectral_basic_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Update coordinates
|
!> @brief Update coordinates
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_spectral_basic_updateCoords
|
subroutine grid_mechanical_spectral_basic_updateCoords()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
real(pREAL), dimension(:,:,:,:), pointer :: F
|
real(pREAL), dimension(:,:,:,:), pointer :: F
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(da,solution_vec,F,err_PETSc)
|
call DMDAVecGetArrayReadF90(da,solution_vec,F,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call utilities_updateCoords(F)
|
call utilities_updateCoords(F)
|
||||||
call DMDAVecRestoreArrayF90(da,solution_vec,F,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da,solution_vec,F,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_mechanical_spectral_basic_updateCoords
|
end subroutine grid_mechanical_spectral_basic_updateCoords
|
||||||
|
@ -394,13 +394,13 @@ end subroutine grid_mechanical_spectral_basic_updateCoords
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Write current solver and constitutive data for restart to file
|
!> @brief Write current solver and constitutive data for restart to file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_spectral_basic_restartWrite
|
subroutine grid_mechanical_spectral_basic_restartWrite()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
integer(HID_T) :: fileHandle, groupHandle
|
integer(HID_T) :: fileHandle, groupHandle
|
||||||
real(pREAL), dimension(:,:,:,:), pointer :: F
|
real(pREAL), dimension(:,:,:,:), pointer :: F
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(da,solution_vec,F,err_PETSc)
|
call DMDAVecGetArrayReadF90(da,solution_vec,F,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
if (num%update_gamma) C_minMaxAvgRestart = C_minMaxAvg
|
if (num%update_gamma) C_minMaxAvgRestart = C_minMaxAvg
|
||||||
|
@ -428,7 +428,7 @@ subroutine grid_mechanical_spectral_basic_restartWrite
|
||||||
call HDF5_closeFile(fileHandle)
|
call HDF5_closeFile(fileHandle)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call DMDAVecRestoreArrayF90(da,solution_vec,F,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da,solution_vec,F,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_mechanical_spectral_basic_restartWrite
|
end subroutine grid_mechanical_spectral_basic_restartWrite
|
||||||
|
|
|
@ -434,15 +434,15 @@ end subroutine grid_mechanical_spectral_polarisation_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Update coordinates
|
!> @brief Update coordinates
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_spectral_polarisation_updateCoords
|
subroutine grid_mechanical_spectral_polarisation_updateCoords()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
real(pREAL), dimension(:,:,:,:), pointer :: FandF_tau
|
real(pREAL), dimension(:,:,:,:), pointer :: FandF_tau
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(da,solution_vec,FandF_tau,err_PETSc)
|
call DMDAVecGetArrayReadF90(da,solution_vec,FandF_tau,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call utilities_updateCoords(FandF_tau(0:8,:,:,:))
|
call utilities_updateCoords(FandF_tau(0:8,:,:,:))
|
||||||
call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da,solution_vec,FandF_tau,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_mechanical_spectral_polarisation_updateCoords
|
end subroutine grid_mechanical_spectral_polarisation_updateCoords
|
||||||
|
@ -451,13 +451,13 @@ end subroutine grid_mechanical_spectral_polarisation_updateCoords
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Write current solver and constitutive data for restart to file
|
!> @brief Write current solver and constitutive data for restart to file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_mechanical_spectral_polarisation_restartWrite
|
subroutine grid_mechanical_spectral_polarisation_restartWrite()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
integer(HID_T) :: fileHandle, groupHandle
|
integer(HID_T) :: fileHandle, groupHandle
|
||||||
real(pREAL), dimension(:,:,:,:), pointer :: FandF_tau, F, F_tau
|
real(pREAL), dimension(:,:,:,:), pointer :: FandF_tau, F, F_tau
|
||||||
|
|
||||||
call DMDAVecGetArrayF90(da,solution_vec,FandF_tau,err_PETSc)
|
call DMDAVecGetArrayReadF90(da,solution_vec,FandF_tau,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
F => FandF_tau(0: 8,:,:,:)
|
F => FandF_tau(0: 8,:,:,:)
|
||||||
F_tau => FandF_tau(9:17,:,:,:)
|
F_tau => FandF_tau(9:17,:,:,:)
|
||||||
|
@ -489,7 +489,7 @@ subroutine grid_mechanical_spectral_polarisation_restartWrite
|
||||||
call HDF5_closeFile(fileHandle)
|
call HDF5_closeFile(fileHandle)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,err_PETSc)
|
call DMDAVecRestoreArrayReadF90(da,solution_vec,FandF_tau,err_PETSc)
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_mechanical_spectral_polarisation_restartWrite
|
end subroutine grid_mechanical_spectral_polarisation_restartWrite
|
||||||
|
|
|
@ -285,7 +285,7 @@ end subroutine grid_thermal_spectral_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Write current solver and constitutive data for restart to file.
|
!> @brief Write current solver and constitutive data for restart to file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine grid_thermal_spectral_restartWrite
|
subroutine grid_thermal_spectral_restartWrite()
|
||||||
|
|
||||||
PetscErrorCode :: err_PETSc
|
PetscErrorCode :: err_PETSc
|
||||||
DM :: dm_local
|
DM :: dm_local
|
||||||
|
@ -294,7 +294,7 @@ subroutine grid_thermal_spectral_restartWrite
|
||||||
|
|
||||||
call SNESGetDM(SNES_thermal,dm_local,err_PETSc);
|
call SNESGetDM(SNES_thermal,dm_local,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
call DMDAVecGetArrayF90(dm_local,solution_vec,T,err_PETSc);
|
call DMDAVecGetArrayReadF90(dm_local,solution_vec,T,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
print'(1x,a)', 'saving thermal solver data required for restart'; flush(IO_STDOUT)
|
print'(1x,a)', 'saving thermal solver data required for restart'; flush(IO_STDOUT)
|
||||||
|
@ -307,7 +307,7 @@ subroutine grid_thermal_spectral_restartWrite
|
||||||
call HDF5_closeGroup(groupHandle)
|
call HDF5_closeGroup(groupHandle)
|
||||||
call HDF5_closeFile(fileHandle)
|
call HDF5_closeFile(fileHandle)
|
||||||
|
|
||||||
call DMDAVecRestoreArrayF90(dm_local,solution_vec,T,err_PETSc);
|
call DMDAVecRestoreArrayReadF90(dm_local,solution_vec,T,err_PETSc);
|
||||||
CHKERRQ(err_PETSc)
|
CHKERRQ(err_PETSc)
|
||||||
|
|
||||||
end subroutine grid_thermal_spectral_restartWrite
|
end subroutine grid_thermal_spectral_restartWrite
|
||||||
|
|
|
@ -62,6 +62,7 @@ module result
|
||||||
result_writeDataset, &
|
result_writeDataset, &
|
||||||
result_writeDataset_str, &
|
result_writeDataset_str, &
|
||||||
result_setLink, &
|
result_setLink, &
|
||||||
|
result_addSetupFile, &
|
||||||
result_addAttribute, &
|
result_addAttribute, &
|
||||||
result_removeLink, &
|
result_removeLink, &
|
||||||
result_mapping_phase, &
|
result_mapping_phase, &
|
||||||
|
@ -166,7 +167,7 @@ end subroutine result_finalizeIncrement
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief open a group from the result file
|
!> @brief Open a group from the result file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
integer(HID_T) function result_openGroup(groupName)
|
integer(HID_T) function result_openGroup(groupName)
|
||||||
|
|
||||||
|
@ -179,7 +180,7 @@ end function result_openGroup
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief adds a new group to the result file
|
!> @brief Add a new group to the result file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
integer(HID_T) function result_addGroup(groupName)
|
integer(HID_T) function result_addGroup(groupName)
|
||||||
|
|
||||||
|
@ -192,7 +193,7 @@ end function result_addGroup
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief close a group
|
!> @brief Close a group.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine result_closeGroup(group_id)
|
subroutine result_closeGroup(group_id)
|
||||||
|
|
||||||
|
@ -205,7 +206,7 @@ end subroutine result_closeGroup
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief set link to object in result file
|
!> @brief Set link to object in result file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine result_setLink(path,link)
|
subroutine result_setLink(path,link)
|
||||||
|
|
||||||
|
@ -216,6 +217,33 @@ subroutine result_setLink(path,link)
|
||||||
|
|
||||||
end subroutine result_setLink
|
end subroutine result_setLink
|
||||||
|
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
!> @brief Add file to setup folder and ensure unique name.
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
subroutine result_addSetupFile(content,fname,description)
|
||||||
|
|
||||||
|
character(len=*), intent(in) :: content, fname, description
|
||||||
|
|
||||||
|
integer(HID_T) :: groupHandle
|
||||||
|
character(len=:), allocatable :: name,suffix
|
||||||
|
integer :: i
|
||||||
|
|
||||||
|
groupHandle = result_openGroup('setup')
|
||||||
|
name = fname(scan(fname,'/',.true.)+1:)
|
||||||
|
suffix = ''
|
||||||
|
i = 0
|
||||||
|
|
||||||
|
do while (HDF5_objectExists(groupHandle,name//suffix))
|
||||||
|
i = i+1
|
||||||
|
suffix = '.'//IO_intAsStr(i)
|
||||||
|
end do
|
||||||
|
call result_writeDataset_str(content,'setup',name//suffix,description)
|
||||||
|
call result_closeGroup(groupHandle)
|
||||||
|
|
||||||
|
end subroutine result_addSetupFile
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Add a string attribute to an object in the result file.
|
!> @brief Add a string attribute to an object in the result file.
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue