function [ ...
  u, dudt, dudx, dudxx, dudy, dudyy, us, ...
  v, dvdt, dvdx, dvdxx, dvdy, dvdyy, vs, ...
  p, dpdt, dpdx, dpdxx, dpdy, dpdyy, ps ] = all_noflow ( nu, rho, n, x, y, t )

%*****************************************************************************80
%
%% all_noflow() evaluates the variables of the noflow flow.
%
%  Discussion:
%
%    u = 0
%    v = 0
%    p = arctan ( x * y )
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    15 September 2025
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    A C Kengni Jotsa, V A Pennati,
%    A cost-effective FE method for 2D Navier-Stokes equations,
%    Engineering Applications of Computational Fluid Mechanics,
%    Volume 9, Number 1, pages 66-93, 2015.
%
%    Tien-Mo Shih, C H Tan, B C Hwang,
%    Effects of grid staggering on numerical schemes,
%    International Journal for Numerical Methods of Fluids,
%    Volume 9, Number 2, pages 193-212, February 1989.
%
%  Input:
%
%    real NU, the kinematic viscosity.
%
%    real RHO, the fluid density.
%
%    integer N, the number of nodes.
%
%    real X(N), Y(N), the coordinates of nodes.
%
%    real T, the current time.
%
%  Output:
%
%    real U(N), DUDT(N), DUDX(N), DUDXX(N), DUDY(N), DUDYY(N), US(N),
%    the horizontal velocity values.
%
%    real V(N), DVDT(N), DVDX(N), DVDXX(N), DVDY(N), DVDYY(N), VS(N),
%    the vertical velocity values.
%
%    real P(N), DPDT(N), DPDX(N), DPDXX(N), DPDY(N), DPDYY(N), PS(N),
%    the pressure values.  
%
  x = reshape ( x, [], 1 );
  y = reshape ( y, [], 1 );

  u =     zeros ( n, 1 );
  dudt =  zeros ( n, 1 );
  dudx =  zeros ( n, 1 );
  dudxx = zeros ( n, 1 );
  dudy =  zeros ( n, 1 );
  dudyy = zeros ( n, 1 );

  v =     zeros ( n, 1 );
  dvdt =  zeros ( n, 1 );
  dvdx =  zeros ( n, 1 );
  dvdxx = zeros ( n, 1 );
  dvdy =  zeros ( n, 1 );
  dvdyy = zeros ( n, 1 );

  p = atan ( x .* y );
  dpdt = zeros ( n, 1 );
  dpdx = y ./ ( x.^2  .* y.^2 + 1.0 );
  dpdy = x ./ ( x.^2  .* y.^2 + 1.0 );
  dpdxx = -2.0 * x    .* y.^3 ./ ( x.^2 .* y.^2 + 1.0 ).^2;
  dpdyy = -2.0 * x.^3 .* y    ./ ( x.^2 .* y.^2 + 1.0 ).^2;

  us = dudt + u .* dudx + v .* dudy + dpdx / rho - nu * ( dudxx + dudyy );
  vs = dvdt + u .* dvdx + v .* dvdy + dpdy / rho - nu * ( dvdxx + dvdyy );
  ps = dudx + dvdy;

  return
end
