Read precursor inflow planes from file and impose them as a time-varying inflow BC, advancing through the library as the simulation proceeds (Incompact3d, iin==3, inflow/outflow, Case-ABL.f90:169-276)
Use existing Dirichlet face BC
case_cylinder_t already imposes a Dirichlet inflow on a domain via field_set_face(u, bc_start_u, out_vel, X_FACE, bc_start=BC_DIRICHLET, ...) (src/case/cylinder.f90).
- This issue generalises it to a per-face plane that varies in time (an extension of the existing BC)
Scope
- Generalise the Dirichlet-inflow path so that the inflow face value is a full y-z array (one value per face node) on both OMP and CUDA backends
- Read stored inflow planes from file (ADIOS2) and advance them in time, cyclic replay when the library is exhausted (Incompact3d index
ux_inflow(mod(itime, ntimesteps), j, k)).
- Connect it to case
boundary_conditions/pre_correction
Acceptance criteria
Read precursor inflow planes from file and impose them as a time-varying inflow BC, advancing through the library as the simulation proceeds (Incompact3d,
iin==3,inflow/outflow,Case-ABL.f90:169-276)Use existing Dirichlet face BC
case_cylinder_talready imposes a Dirichlet inflow on a domain viafield_set_face(u, bc_start_u, out_vel, X_FACE, bc_start=BC_DIRICHLET, ...)(src/case/cylinder.f90).Scope
ux_inflow(mod(itime, ntimesteps), j, k)).boundary_conditions/pre_correctionAcceptance criteria