Skip to content

Commit

Permalink
Add Neumann integrated values to RHS even when RHS DOF is not fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
adamreeve committed May 30, 2012
1 parent 03de2d1 commit 7af1abd
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/solver_routines.f90
Expand Up @@ -10384,6 +10384,12 @@ SUBROUTINE SOLVER_MATRICES_DYNAMIC_ASSEMBLE(SOLVER,SELECTION_TYPE,ERR,ERROR,*)
!Get the equations RHS values
CALL DISTRIBUTED_VECTOR_VALUES_GET(EQUATIONS_RHS_VECTOR,equations_row_number, &
& RHS_VALUE,ERR,ERROR,*999)
IF(HAS_INTEGRATED_VALUES) THEN
CALL FIELD_PARAMETER_SET_GET_LOCAL_DOF(RHS_VARIABLE%FIELD,RHS_VARIABLE_TYPE, &
& FIELD_INTEGRATED_NEUMANN_SET_TYPE,rhs_variable_dof,RHS_INTEGRATED_VALUE, &
& ERR,ERROR,*999)
RHS_VALUE=RHS_VALUE+RHS_INTEGRATED_VALUE
END IF
!Loop over the solver rows associated with this equations set row
DO solver_row_idx=1,SOLVER_MAPPING%EQUATIONS_SET_TO_SOLVER_MAP(equations_set_idx)% &
& EQUATIONS_ROW_TO_SOLVER_ROWS_MAPS(equations_row_number)%NUMBER_OF_SOLVER_ROWS
Expand Down Expand Up @@ -10628,7 +10634,7 @@ SUBROUTINE SOLVER_MATRICES_DYNAMIC_ASSEMBLE(SOLVER,SELECTION_TYPE,ERR,ERROR,*)
CALL FIELD_PARAMETER_SET_GET_LOCAL_DOF(RHS_VARIABLE%FIELD,RHS_VARIABLE_TYPE, &
& FIELD_INTEGRATED_NEUMANN_SET_TYPE,rhs_variable_dof,RHS_INTEGRATED_VALUE, &
& ERR,ERROR,*999)
VALUE=VALUE + RHS_INTEGRATED_VALUE
VALUE=VALUE+RHS_INTEGRATED_VALUE*row_coupling_coefficient
END IF
CALL DISTRIBUTED_VECTOR_VALUES_ADD(SOLVER_RHS_VECTOR,solver_row_number,VALUE, &
& ERR,ERROR,*999)
Expand Down Expand Up @@ -11508,6 +11514,12 @@ SUBROUTINE SOLVER_MATRICES_STATIC_ASSEMBLE(SOLVER,SELECTION_TYPE,ERR,ERROR,*)
!Add in equations RHS values
CALL DISTRIBUTED_VECTOR_VALUES_GET(EQUATIONS_RHS_VECTOR,equations_row_number, &
& RHS_VALUE,ERR,ERROR,*999)
IF(HAS_INTEGRATED_VALUES) THEN
CALL FIELD_PARAMETER_SET_GET_LOCAL_DOF(RHS_VARIABLE%FIELD,RHS_VARIABLE_TYPE, &
& FIELD_INTEGRATED_NEUMANN_SET_TYPE,rhs_variable_dof,RHS_INTEGRATED_VALUE, &
& ERR,ERROR,*999)
RHS_VALUE=RHS_VALUE+RHS_INTEGRATED_VALUE
END IF
!Loop over the solver rows associated with this equations set row
DO solver_row_idx=1,SOLVER_MAPPING%EQUATIONS_SET_TO_SOLVER_MAP(equations_set_idx)% &
& EQUATIONS_ROW_TO_SOLVER_ROWS_MAPS(equations_row_number)%NUMBER_OF_SOLVER_ROWS
Expand Down Expand Up @@ -11673,7 +11685,7 @@ SUBROUTINE SOLVER_MATRICES_STATIC_ASSEMBLE(SOLVER,SELECTION_TYPE,ERR,ERROR,*)
CALL FIELD_PARAMETER_SET_GET_LOCAL_DOF(RHS_VARIABLE%FIELD,RHS_VARIABLE_TYPE, &
& FIELD_INTEGRATED_NEUMANN_SET_TYPE,rhs_variable_dof,RHS_INTEGRATED_VALUE, &
& ERR,ERROR,*999)
RHS_VALUE=RHS_VALUE + RHS_INTEGRATED_VALUE
RHS_VALUE=RHS_VALUE+RHS_INTEGRATED_VALUE
END IF
IF(ABS(RHS_VALUE)>=ZERO_TOLERANCE) THEN
!Loop over the solver rows associated with this equations set row
Expand Down

0 comments on commit 7af1abd

Please sign in to comment.