now compiles again

This commit is contained in:
Martin Diehl 2018-08-30 17:18:56 +02:00
parent 5f97ae9080
commit 62413e8187
1 changed files with 9 additions and 10 deletions

View File

@ -49,8 +49,7 @@ module FEM_mech
SNES, private :: mech_snes SNES, private :: mech_snes
Vec, private :: solution, solution_rate, solution_local Vec, private :: solution, solution_rate, solution_local
PetscInt, private :: dimPlex, cellDof, nQuadrature, nBasis PetscInt, private :: dimPlex, cellDof, nQuadrature, nBasis
PetscReal, allocatable, target,dimension(:), private :: qWeights PetscReal, allocatable, target, private :: qPoints(:), qWeights(:)
PetscInt, allocatable, target,dimension(:), private :: qPoints
MatNullSpace, private :: matnull MatNullSpace, private :: matnull
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
@ -100,17 +99,15 @@ subroutine FEM_mech_init(fieldBC)
DMLabel :: BCLabel DMLabel :: BCLabel
PetscInt, allocatable, target :: numComp(:), numDoF(:), bcField(:) PetscInt, allocatable, target :: numComp(:), numDoF(:), bcField(:)
PetscInt, pointer :: pNumComp(:), pNumDof(:), pBcField(:), pBcPoint(:) PetscInt, pointer :: pNumComp(:), pNumDof(:), pBcField(:), pBcPoint(:)
PetscInt :: numBC, bcSize PetscInt :: numBC, bcSize, xx
IS :: bcPoint IS :: bcPoint
IS, allocatable, target :: bcComps(:), bcPoints(:) IS, allocatable, target :: bcComps(:), bcPoints(:)
IS, pointer :: pBcComps(:), pBcPoints(:) IS, pointer :: pBcComps(:), pBcPoints(:)
PetscSection :: section PetscSection :: section
PetscInt :: field, faceSet, topologDim, nNodalPoints PetscInt :: field, faceSet, topologDim, nNodalPoints
PetscReal, pointer :: qWeightsP(:), & PetscReal, pointer :: qPointsP(:), qWeightsP(:), &
nodalWeightsP(:) nodalPointsP(:), nodalWeightsP(:)
PetscInt, pointer :: qPointsP(:),nodalPointsP(:) PetscReal, allocatable, target :: nodalPoints(:), nodalWeights(:)
PetscReal, allocatable, target :: nodalWeights(:)
PetscInt, allocatable, target :: nodalPoints(:)
PetscScalar, pointer :: px_scal(:) PetscScalar, pointer :: px_scal(:)
PetscScalar, allocatable, target :: x_scal(:) PetscScalar, allocatable, target :: x_scal(:)
PetscReal :: detJ PetscReal :: detJ
@ -149,7 +146,8 @@ subroutine FEM_mech_init(fieldBC)
write(6,*) 'setup FEM mech disc2';flush(6) write(6,*) 'setup FEM mech disc2';flush(6)
call PetscQuadratureCreate(PETSC_COMM_SELF,mechQuad,ierr); CHKERRQ(ierr) call PetscQuadratureCreate(PETSC_COMM_SELF,mechQuad,ierr); CHKERRQ(ierr)
CHKERRQ(ierr) CHKERRQ(ierr)
call PetscQuadratureSetData(mechQuad,dimPlex,nQuadrature,qPointsP,qWeightsP,ierr) call PetscQuadratureSetData(mechQuad,dimPlex,xx,nQuadrature,qPointsP,qWeightsP,ierr)
! description for xx not on http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DT/PetscQuadratureSetData.html
CHKERRQ(ierr) CHKERRQ(ierr)
call PetscFECreateDefault(mech_mesh,dimPlex,dimPlex,PETSC_TRUE,prefix, & call PetscFECreateDefault(mech_mesh,dimPlex,dimPlex,PETSC_TRUE,prefix, &
integrationOrder,mechFE,ierr); CHKERRQ(ierr) integrationOrder,mechFE,ierr); CHKERRQ(ierr)
@ -264,7 +262,8 @@ subroutine FEM_mech_init(fieldBC)
do basis = 0, nBasis-1 do basis = 0, nBasis-1
call PetscDualSpaceGetFunctional(mechDualSpace,basis,functional,ierr) call PetscDualSpaceGetFunctional(mechDualSpace,basis,functional,ierr)
CHKERRQ(ierr) CHKERRQ(ierr)
call PetscQuadratureGetData(functional,dimPlex,nNodalPoints,nodalPointsP,nodalWeightsP,ierr) call PetscQuadratureGetData(functional,dimPlex,xx,nNodalPoints,nodalPointsP,nodalWeightsP,ierr)
! description for xx not on http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DT/PetscQuadratureSetData.html
CHKERRQ(ierr) CHKERRQ(ierr)
x_scal(basis*dimPlex+1:(basis+1)*dimPlex) = pV0 + matmul(transpose(cellJMat),nodalPointsP + 1.0) x_scal(basis*dimPlex+1:(basis+1)*dimPlex) = pV0 + matmul(transpose(cellJMat),nodalPointsP + 1.0)
enddo enddo