Civil Engineering Reference
In-Depth Information
! Now build global F and diag but not LHS
CALL rhs_and_diag(F1,DTe,DUe,Ldeste,BCode(ielpe,:),Ncode &
,Elres_u(ielpe,:),Elres_te,Diag1,Ndofe,N_dof,Nodel,Fac)
END DO &
Symmetry_loop ; ielpe = ielpe + 1
store_dUe_pp(:,:,Nel) = dUe; store_dTe_pp(:,:,Nel) = dTe
END DO &
Elements_1
CALL MPI_ALLREDUCE(F1,F,Ndofs,MPI_REAL8,MPI_SUM&
,MPI_COMM_WORLD,ier)
CALL MPI_ALLREDUCE(Diag1,Diag,N_tot,MPI_REAL8,MPI_SUM&
,MPI_COMM_WORLD,ier)
!------------------------------------------------------------
! Add azimuthal integral for infinite regions
!------------------------------------------------------------
IF(Nreg == 2) THEN
DO m=1, Nodes
DO n=1, N_dof
IF(Ndest(m,n) == 0)CYCLE
k=Ndest(m,n)
Diag(k,n) = Diag(k,n) + 1.0_iwp
END DO
END DO
END IF
!-------------------------------------------------------------
! Store active Diagonal coefficients
!-------------------------------------------------------------
DO m=1,Ndofs ! Loop over collocation points
Nod=0
DO n=1, Nodes
DO l=1,N_dof
IF (m == Ndest(n,l))THEN
Nod=n ; EXIT
END IF
END DO
IF (Nod /= 0)EXIT
END DO
DO k=1,N_dof
DoF=Ndest(Nod,k)
IF(DoF /= 0) THEN
IF(NCode(DoF) == 1) THEN
Nel=0 ; Pos=0
DO i=1,nels
DO j=1,Ndofe
IF(DoF == Ldest(i,j))THEN
Nel=i ; Pos=j ; EXIT
END IF
END DO
IF(Nel /= 0)EXIT
END DO
F(m) = F(m) - Diag(m,k) * Elres_u(Nel,Pos)
 
Search WWH ::




Custom Search