abarret / multiphase-stokes

Solver a mixture of fluids based on IBAMR
1 stars 0 forks source link

Physical boundaries #68

Closed abarret closed 6 months ago

abarret commented 6 months ago

This adds in support for velocity Dirichlet boundary conditions. In theory, you could apply different conditions than just Dirichlet, but I have not tested those. I've added two "tests" (that should become real tests when the testing suite gets up and running) that check that we can apply and invert the operator.

This currently requires that both velocity fields specify the same type of conditions (e.g. Dirichlet) at the same location, but this is not checked in the code.

abarret commented 6 months ago

Oh this currently requires a bug fix in IBAMR...

abarret commented 6 months ago

The bug fix should be merged into IBAMR master soon. I've now updated the hierarchy integrator to use physical boundary conditions and added a channel flow test.

abarret commented 6 months ago

IBAMR master is now compatible with this branch.

bindi-nagda commented 6 months ago

I've tested targets channel, bc_solve and bc_apply and each one ran fine on both AMR and uniform grids. The results from the output indicate appropriate behavior i.e. exact sols and numerical sols agree for bc_applywithin a pretty good tolerance, error norms are small for bc_solve, and convergence is achieved at each time step for channel flow.

Note: I did not do convergence testing.

Approved!

bindi-nagda commented 6 months ago

I've added two "tests" (that should become real tests when the testing suite gets up and running) that check that we can apply and invert the operator.

I'll add the tests for physical_bc/apply and physical_bc/solve in my branch.

abarret commented 6 months ago

I fixed the issues from #67. This should be ready to go.