~fluidity-core/fluidity/fluidity-DG-slope-limiter-boundaries

Viewing all changes in revision 3882.

This merge will add a procedure to be able to have non zero pressure Dirichlet 
boundary conditions when using a CV discretisation for pressure. As for the CG 
pressure BCs the integrals are included for both weak and strong Dirichlet. 
For multiphase the phase volume fraction is included via a FE spatial 
interpolation, akin to their inclusion in interior domain terms.

Code Additions:

- assemble/Pressure_Dirichlet_BCS_CV.F90. Adds the BC integrals via forming 
the same local matrix as the weak velocity BCs but uses it transposed, 
which is similar to pressure CG version(s).

Code Changes:

- assemble/Momentum_Equation.F90. If cv_pressure calls the above routine 
after assembling the main momentum equation terms.

- assemble/Makefile.in. Update for new file/module (using .o rather than .F90
as spotted by Cian)

- assemble/Makefile.dependencies. Update for new file/module.

Test Cases Added:

- tests/darcy_p0p1cv_pressBCinlet. Simple channel flow model using darcy 
flow with a pressure gradient using p0p1cv for 1,2 and 3d. Analytic 
and very fast.

- tests/darcy_p0p1cv_pressBCinlet_1solidphase. Same as above but with an 
extra phase to represent the porous media for darcy flow. Analytic 
and very fast.

- tests/darcy_p0p1cv_pressBCinlet_rotated_domain. Similar to the above 
but with a rotated domain as the pressure BCs have a normal component 
so worth checking non axis aligned integrals. Analytic and very fast.

- tests/darcy_p0p1_test_cty_cv_pressBCinlet. Similar to above but with 
CG pressure and CV continuity. This is added as not many CG pressure 
BC test cases appear to exist. Analytic and very fast.

- tests/darcy_p0p1_test_cty_cv_pressBCinlet_rotated_domain. Same as 
above but rotated. Analytic and very fast.

- tests/darcy_p0p1_test_cty_cv_velBCinlet. Similar to above but with 
weak velocity BC instead. Just to test a combination of two previously 
merged branches and the test case is very similar to above.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: