I wish to implement the traction boundary conditions at the (curved, mobile) interface between two fluids. Each fluid has a N-S Solver. Two N-Solvers are used because later I'll add reaction and phase transition at the interface and make the physics in one fluid more complicated. For now, I just wish to code the sif correctly for the continuity of traction and velocity at the interface.
My mock code (attached below) doesn't work. For the second fluid, I have renamed the Equation and flow solution variable in the second solver, as:
Variable = FlowB [Velo:2 Pres:1]
My understanding is that "Pres 1, Pres 2, Pres 3" then represent the interfacial shear stress components, whereas these components in the first fluid are "Pressure 1, Pressure 2 and Pressure 3" (as described in the Solvers Manual). Also, I think that when referring to these components in the second fluid, I cannot write "FlowB 3 1, FlowB 3 2, FlowB 3 3".
With the code below, I get the following error:
ERROR:: ListParseStrToVars: Can't find independent variable:[pres 1] for dependent variable:[Pressure 1]
Thus ElmerSolver doesn't seem to pick up "Pres", as defined above.
Would you please kindly advice on how to code this problem, to match the traction components (which Elmer calls "Pressure [1,2,3]") across an interface?
Best wishes,
Felix
Code: Select all
!! Excerpt of the code:
Solver 1
Equation = "Navier-Stokes"
!! The Flow Solution Variable here is the normal one: Velocity 1, Velocity 2 and Pressure
...
End
Solver 2
Equation = "Navier-Stokes_fluidB"
Procedure = "./FlowSolveExtra" "FlowSolver" ! Extra copy of .so file in current directory
Variable = FlowB [Velo:2 Pres:1]
...
End
Boundary Condition 4
Name = "fluid-fluid boundary"
Target Boundaries = 5
Velo 1 = Variable Velocity 1
Real lua "1.0 * tx[0]"
Velo 2 = Variable Velocity 2
Real lua "1.0 * tx[0]"
Pressure 1 = Variable Pres 1
Real lua "-1.0 * tx[0]"
Pressure 2 = Variable Pres 2
Real lua "-1.0 * tx[0]"
End