Merge branch 'fix-mesh-for-new-PETSc' into 'development'

mesh works again for PETSc >= 3.19

Closes #320

See merge request damask/DAMASK!843
This commit is contained in:
Daniel Otto de Mentock 2023-11-06 20:30:56 +00:00
commit 8ff6e28c91
3 changed files with 8 additions and 5 deletions

View File

@ -122,19 +122,20 @@ subroutine FEM_utilities_init(num_mesh)
flush(IO_STDOUT) flush(IO_STDOUT)
call PetscOptionsClear(PETSC_NULL_OPTIONS,err_PETSc) call PetscOptionsClear(PETSC_NULL_OPTIONS,err_PETSc)
CHKERRQ(err_PETSc) CHKERRQ(err_PETSc)
CHKERRQ(err_PETSc)
petsc_options = misc_prefixOptions('-snes_type newtonls & petsc_options = misc_prefixOptions('-snes_type newtonls &
&-snes_linesearch_type cp -snes_ksp_ew & &-snes_linesearch_type cp -snes_ksp_ew &
&-snes_ksp_ew_rtol0 0.01 -snes_ksp_ew_rtolmax 0.01 & &-snes_ksp_ew_rtol0 0.01 -snes_ksp_ew_rtolmax 0.01 &
&-ksp_type fgmres -ksp_max_it 25 ' // & &-ksp_type fgmres -ksp_max_it 25 ' // &
num_mech%get_asStr('PETSc_options',defaultVal=''), 'mechanical_') num_mech%get_asStr('PETSc_options',defaultVal=''), 'mechanical_')
write(petsc_optionsOrder,'(a,i0)') '-mechFE_petscspace_degree ', p_s write(petsc_optionsOrder,'(a,i0)') '-mechFE_petscspace_degree ', p_s
petsc_options = petsc_options // ' ' // petsc_optionsOrder petsc_options = petsc_options // ' ' // petsc_optionsOrder
call PetscOptionsInsertString(PETSC_NULL_OPTIONS,petsc_options,err_PETSc) call PetscOptionsInsertString(PETSC_NULL_OPTIONS,petsc_options,err_PETSc)
CHKERRQ(err_PETSc) CHKERRQ(err_PETSc)
call PetscOptionsSetValue(PETSC_NULL_OPTIONS,'-petscds_force_quad','0',err_PETSc)
CHKERRQ(err_PETSc)
wgt = real(mesh_maxNips*mesh_NcpElemsGlobal,pREAL)**(-1) wgt = real(mesh_maxNips*mesh_NcpElemsGlobal,pREAL)**(-1)
end subroutine FEM_utilities_init end subroutine FEM_utilities_init

View File

@ -155,6 +155,8 @@ subroutine FEM_mechanical_init(fieldBC,num_mesh)
CHKERRQ(err_PETSc) CHKERRQ(err_PETSc)
call DMGetDimension(mechanical_mesh,dimPlex,err_PETSc) call DMGetDimension(mechanical_mesh,dimPlex,err_PETSc)
CHKERRQ(err_PETSc) CHKERRQ(err_PETSc)
call DMSetFromOptions(mechanical_mesh,err_PETSc)
CHKERRQ(err_PETSc)
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! Setup FEM mech discretization ! Setup FEM mech discretization