NREL/WindSE

Uniform flow not working in 3D

msjvenegas opened this issue · 1 comments

Description

In a 3D flow, the solver fails when using the boundary condition option vel_profile: uniform. It says:

image

I tried using Newton and SNES solvers, but both failed. I am currently using a workaround by using the vel_profile as power and the power exponent as 0.0001.

Steps to reproduce issue

  1. Use example 2-wind_farm_3D.yaml
  2. Change line "vel_profile: power" to "vel_profile: uniform"
  3. Run the script.

Current behavior

The solver fails in the first iteration with error "Solver did not converge"

Expected behavior

Solve the CFD problem with a uniform flow.

Code versions

Vanilla install using the steps in the install.sh.

  • Python 3.8.12
  • Dolfin: 2019.1.0
  • Pyoptsparse 1.0.0
  • Scipy 1.4.1

I think the problem has to do with inconsistent boundary conditions. When a uniform inflow is used in 3D, it conflicts with the zero velocity BC on the ground. To fix this conflict, you would have to change the ground BC from no-slip to free-slip or no-stress.

boundary_condition:
    boundary_types:
        inflow:    ["west","north","south"]
        free_slip: ["top","bottom"]
        no_stress: ["east"]

Unfortunately, if you plan on changing the inflow angle, this "fix" won't really work.