subroutine check_variableOperations_byElement(res, general, tree, varSys)
logical, intent(inout) :: res
type(treelmesh_type), intent(in) :: tree
type(tem_general_type), intent(in) :: general
type(tem_varSys_type), intent(in) :: varSys
real(kind=rk) :: resVar(1)
integer :: varPos
varPos = positionOfVal(varSys%varname, 'true_and_true')
call varSys%method%val(varPos)%get_element( &
& varSys = varSys, &
& elemPos = (/ 1 /), &
& time = general%simControl%now, &
& tree = tree, &
& nElems = 1, &
& nDofs = 1, &
& res = resVar )
write(*,*) resVar
res = res .and. realToLogical(resVar(1))
call checkResult( res, 'Logical operator: true_and_true' )
varPos = positionOfVal(varSys%varname, 'true_and_false')
call varSys%method%val(varPos)%get_element( &
& varSys = varSys, &
& elemPos = (/ 1 /), &
& time = general%simControl%now, &
& tree = tree, &
& nElems = 1, &
& nDofs = 1, &
& res = resVar )
write(*,*) resVar
res = res .and..not. realToLogical(resVar(1))
call checkResult( res, 'Logical operator: true_and_false' )
varPos = positionOfVal(varSys%varname, 'true_or_true')
call varSys%method%val(varPos)%get_element( &
& varSys = varSys, &
& elemPos = (/ 1 /), &
& time = general%simControl%now, &
& tree = tree, &
& nElems = 1, &
& nDofs = 1, &
& res = resVar )
write(*,*) resVar
res = res .and. realToLogical(resVar(1))
call checkResult( res, 'Logical operator: true_or_true' )
varPos = positionOfVal(varSys%varname, 'true_or_false')
call varSys%method%val(varPos)%get_element( &
& varSys = varSys, &
& elemPos = (/ 1 /), &
& time = general%simControl%now, &
& tree = tree, &
& nElems = 1, &
& nDofs = 1, &
& res = resVar )
write(*,*) resVar
res = res .and. realToLogical(resVar(1))
call checkResult( res, 'Logical operator: true_or_false' )
varPos = positionOfVal(varSys%varname, 'false_or_false')
call varSys%method%val(varPos)%get_element( &
& varSys = varSys, &
& elemPos = (/ 1 /), &
& time = general%simControl%now, &
& tree = tree, &
& nElems = 1, &
& nDofs = 1, &
& res = resVar )
write(*,*) resVar
res = res .and..not. realToLogical(resVar(1))
call checkResult( res, 'Logical operator: false_or_false' )
end subroutine check_variableOperations_byElement