From 85e98f6c89200f81cfb3fbe109537615f50bf228 Mon Sep 17 00:00:00 2001 From: whorne Date: Wed, 7 Jun 2023 15:48:51 -0600 Subject: [PATCH 1/3] Change density form in mdot to cancel out buoyancy --- .../test_files/VOFDroplet/VOFDroplet.norm.gold | 6 +++--- reg_tests/test_files/VOFDroplet/VOFDroplet.yaml | 2 +- src/edge_kernels/ContinuityEdgeSolverAlg.C | 17 ++++++----------- src/user_functions/DropletVOFAuxFunction.C | 5 +++-- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold b/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold index d58c7fdd0..09a229b98 100644 --- a/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold +++ b/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold @@ -1,3 +1,3 @@ -0.0001417205047386008 11 0.0001 -4.686504088256447e-05 12 0.0002 -1.667681063887448e-05 13 0.0003 +6.20881329923609e-05 11 0.0001 +0.0001435845943337178 12 0.0002 +0.0002389507045984596 13 0.0003 diff --git a/reg_tests/test_files/VOFDroplet/VOFDroplet.yaml b/reg_tests/test_files/VOFDroplet/VOFDroplet.yaml index 9c6823b22..b3e88225c 100755 --- a/reg_tests/test_files/VOFDroplet/VOFDroplet.yaml +++ b/reg_tests/test_files/VOFDroplet/VOFDroplet.yaml @@ -29,7 +29,7 @@ linear_solvers: realms: - name: realm_1 - mesh: "generated:150x150x4|bbox:-0.5,-0.5,-0.5,0.5,0.5,0.5|sideset:xXyYzZ|show" + mesh: "generated:75x75x75|bbox:-0.5,-0.5,-0.5,0.5,0.5,0.5|sideset:xXyYzZ|show" use_edges: yes automatic_decomposition_type: rcb diff --git a/src/edge_kernels/ContinuityEdgeSolverAlg.C b/src/edge_kernels/ContinuityEdgeSolverAlg.C index 62188924c..24c8c983e 100644 --- a/src/edge_kernels/ContinuityEdgeSolverAlg.C +++ b/src/edge_kernels/ContinuityEdgeSolverAlg.C @@ -88,22 +88,16 @@ ContinuityEdgeSolverAlg::execute() const DblType pressureL = pressure.get(nodeL, 0); const DblType pressureR = pressure.get(nodeR, 0); - const DblType densityL = - om_solveIncompressibleEqn * density.get(nodeL, 0) + - solveIncompressibleEqn; - const DblType densityR = - om_solveIncompressibleEqn * density.get(nodeR, 0) + - solveIncompressibleEqn; + const DblType densityL = density.get(nodeL, 0); + const DblType densityR = density.get(nodeR, 0); const DblType udiagL = - udiag.get(nodeL, 0) * (om_solveIncompressibleEqn + - solveIncompressibleEqn * density.get(nodeL, 0)); + udiag.get(nodeL, 0); const DblType udiagR = - udiag.get(nodeR, 0) * (om_solveIncompressibleEqn + - solveIncompressibleEqn * density.get(nodeR, 0)); - + udiag.get(nodeR, 0); const DblType projTimeScale = 0.5 * (1.0 / udiagL + 1.0 / udiagR); const DblType rhoIp = 0.5 * (densityL + densityR); + const DblType denScale = (1.0/rhoIp)*solveIncompressibleEqn + om_solveIncompressibleEqn; DblType axdx = 0.0; DblType asq = 0.0; @@ -137,6 +131,7 @@ ContinuityEdgeSolverAlg::execute() kxj * GjIp * nocFac; } tmdot /= tauScale; + tmdot *= denScale; const DblType lhsfac = -asq * inv_axdx * projTimeScale / tauScale; // Left node entries diff --git a/src/user_functions/DropletVOFAuxFunction.C b/src/user_functions/DropletVOFAuxFunction.C index 2e66ca446..dd075daec 100644 --- a/src/user_functions/DropletVOFAuxFunction.C +++ b/src/user_functions/DropletVOFAuxFunction.C @@ -38,12 +38,13 @@ DropletVOFAuxFunction::do_evaluate( const double x = coords[0]; const double y = coords[1]; - const double interface_thickness = 0.005; + const double z = coords[2]; + const double interface_thickness = 0.025; fieldPtr[0] = 0.0; fieldPtr[0] += -0.5 * (std::erf(y / interface_thickness) + 1.0) + 1.0; - auto radius = std::sqrt(x * x + (y - 0.15) * (y - 0.15)) - 0.075; + auto radius = std::sqrt(x * x + (y - 0.25) * (y - 0.25) + z * z) - 0.075; fieldPtr[0] += -0.5 * (std::erf(radius / interface_thickness) + 1.0) + 1.0; fieldPtr += fieldSize; From 29e753ebfba04f432c9cc1873172b3a601b5351a Mon Sep 17 00:00:00 2001 From: whorne Date: Tue, 20 Jun 2023 10:05:54 -0600 Subject: [PATCH 2/3] Fix LHS and re-bless --- reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold | 6 +++--- src/edge_kernels/ContinuityEdgeSolverAlg.C | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold b/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold index 09a229b98..c69bff960 100644 --- a/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold +++ b/reg_tests/test_files/VOFDroplet/VOFDroplet.norm.gold @@ -1,3 +1,3 @@ -6.20881329923609e-05 11 0.0001 -0.0001435845943337178 12 0.0002 -0.0002389507045984596 13 0.0003 +2.67343413675555e-05 11 0.0001 +6.859619665424383e-06 12 0.0002 +3.313464463487743e-06 13 0.0003 diff --git a/src/edge_kernels/ContinuityEdgeSolverAlg.C b/src/edge_kernels/ContinuityEdgeSolverAlg.C index 24c8c983e..d8c84c963 100644 --- a/src/edge_kernels/ContinuityEdgeSolverAlg.C +++ b/src/edge_kernels/ContinuityEdgeSolverAlg.C @@ -132,7 +132,7 @@ ContinuityEdgeSolverAlg::execute() } tmdot /= tauScale; tmdot *= denScale; - const DblType lhsfac = -asq * inv_axdx * projTimeScale / tauScale; + const DblType lhsfac = -asq * inv_axdx * projTimeScale * denScale / tauScale; // Left node entries smdata.lhs(0, 0) = -lhsfac; From ffd0090b5d9052c5514f24ba5edd41dc6631e303 Mon Sep 17 00:00:00 2001 From: whorne Date: Tue, 20 Jun 2023 10:17:12 -0600 Subject: [PATCH 3/3] Format text --- src/edge_kernels/ContinuityEdgeSolverAlg.C | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/edge_kernels/ContinuityEdgeSolverAlg.C b/src/edge_kernels/ContinuityEdgeSolverAlg.C index d8c84c963..5507ec8c9 100644 --- a/src/edge_kernels/ContinuityEdgeSolverAlg.C +++ b/src/edge_kernels/ContinuityEdgeSolverAlg.C @@ -91,13 +91,12 @@ ContinuityEdgeSolverAlg::execute() const DblType densityL = density.get(nodeL, 0); const DblType densityR = density.get(nodeR, 0); - const DblType udiagL = - udiag.get(nodeL, 0); - const DblType udiagR = - udiag.get(nodeR, 0); + const DblType udiagL = udiag.get(nodeL, 0); + const DblType udiagR = udiag.get(nodeR, 0); const DblType projTimeScale = 0.5 * (1.0 / udiagL + 1.0 / udiagR); const DblType rhoIp = 0.5 * (densityL + densityR); - const DblType denScale = (1.0/rhoIp)*solveIncompressibleEqn + om_solveIncompressibleEqn; + const DblType denScale = + (1.0 / rhoIp) * solveIncompressibleEqn + om_solveIncompressibleEqn; DblType axdx = 0.0; DblType asq = 0.0; @@ -132,7 +131,8 @@ ContinuityEdgeSolverAlg::execute() } tmdot /= tauScale; tmdot *= denScale; - const DblType lhsfac = -asq * inv_axdx * projTimeScale * denScale / tauScale; + const DblType lhsfac = + -asq * inv_axdx * projTimeScale * denScale / tauScale; // Left node entries smdata.lhs(0, 0) = -lhsfac;