Boundary conditions for variable length bar

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
17 replies · 3K views
Messages
1,816
Reaction score
33
TL;DR
How can you supply the boundary condition for the conservation of mass to a bar of time-dependent length?
Suppose I'm looking at a bar of length [itex]L(t)[/itex] in 1D and I have the conservation of mass:
[tex] \frac{\partial\rho}{\partial t}+\frac{\partial}{\partial x}(\rho u)=0[/tex]
In order to make things easier, I make the change of variable [itex]x'=x/L(t)[/itex] so that in this frame of reference, the length remains constant, and it will keep the numerics easier. The equation is then transformed into:
[tex] L^{2}(t)\frac{\partial\rho}{\partial t}-L'(t)\frac{\partial\rho}{\partial x'}+\frac{\partial}{\partial x'}(\rho u)=0[/tex]
Now when I do a method of lines numerical method I end up with the following:
[tex] \frac{d\rho_{i}}{dt}=\frac{L'}{2hL^{2}}(\rho_{i+1}-\rho_{i-1})-\frac{L}{2h}(\rho_{i+1}u_{i+1}-\rho_{i-1}u_{i-1})[/tex]
I thought about using the boundary condition:
[tex] \frac{\partial}{\partial x}(\rho u)=0[/tex]
but I don't know how to deal with [itex]\partial\rho/\partial x'[/itex] on the boundary. Does anyone know?
 
Last edited:
Physics news on Phys.org
I'm a little confused as to what you're saying, to put everything into ode45, you need to include the terms at [itex]i=1[/itex] and [itex]i=N[/itex] which means that you have to use ghost cells [itex]\rho_{0}[/itex] and [itex]\rho_{N+1}[/itex] which you normally find from the boundary conditions, I don't kbnow how to deal with [itex]\rho[/itex] by itself.
 
Let's pull back a bit. Both ##\rho## and ##u## depend on both ##t## and ##x##. What you start with is an equation of conservation. Given ##u(t,x)## for all time one could in principle compute ##\rho(t,x)##, which is where the mass density moves to by solving the differential equation. I don't see any equations that determine ##u##?
 
Let me spell out my issue in a little more detail. Make both ##t## and ##x## discrete. So the continuity equation is,
$$
\rho(n+1,m) - \rho(n,m) = (\rho(n,m+1)-\rho(n,m))u(n,m) + \rho(n,m)(u(n,m+1)-u(n,m))
$$
Everything in this equation is assumed given at ##t=n##. So we can compute ##\rho(n+1,m)##. Sweet. Now what determines ##u(n+1,m)##? That seems to be missing independent of any question regarding boundary conditions.
 
hunt_mat said:
TL;DR Summary: How can you supply the boundary condition for the conservation of mass to a bar of time-dependent length?

Suppose I'm looking at a bar of length [itex]L(t)[/itex] in 1D and I have the conservation of mass:
[tex] \frac{\partial\rho}{\partial t}+\frac{\partial}{\partial x}(\rho u)=0[/tex]
In order to make things easier, I make the change of variable [itex]x'=x/L(t)[/itex] so that in this frame of reference, the length remains constant, and it will keep the numerics easier. The equation is then transformed into:
[tex] L^{2}(t)\frac{\partial\rho}{t}-L'(t)\frac{\partial\rho}{\partial x'}+\frac{\partial}{\partial x'}(\rho u)=0[/tex]

I think this should be
[tex] \frac{\partial \rho}{\partial t} - \frac{x'L'(t)}{L} \frac{\partial \rho}{\partial x'} + \frac{1}{L}\frac{\partial}{\partial x'} (\rho u) = 0[/tex]

Now when I do a method of lines numerical method I end up with the following:
[tex] \frac{d\rho_{i}}{dt}=\frac{L'}{2hL^{2}}(\rho_{i+1}-\rho_{i-1})-\frac{L}{2h}(\rho_{i+1}u_{i+1}-\rho_{i-1}u_{i-1})[/tex]
I thought about using the boundary condition:
[tex] \frac{\partial}{\partial x}(\rho u)=0[/tex]
but I don't know how to deal with [itex]\partial\rho/\partial x'[/itex] on the boundary. Does anyone know?

On the boundary you are trying to enforce this condition: [tex] \frac{\partial \rho}{\partial t} - \frac{x'L'}{L}\frac{\partial \rho}{\partial x'} = 0.[/tex] At x = x' = 0 this is not a problem: it reduces to [itex]\frac{\partial \rho}{\partial t} = 0[/itex]. At [itex]x' = 1[/itex] you can use the integrated conservation equation in the form [tex] \frac{d}{dt}\int_0^{L(t)} \rho\,dx = 0[/tex] to obtain [tex] L'(t) \rho(L(t)) + \int_0^L \frac{\partial \rho}{\partial t}\,dx = 0.[/tex] The integral vanishes because it is equal to [itex]\left[- \rho u \right]_0^L = 0[/itex]. That leaves [tex]L'(t)\rho(L(t)) = 0[/tex] so either the bar is of constant length or [itex]\rho(L) = 0[/itex].

Note that you need somehow to determine [itex]L'(t)[/itex].

Paul Colby said:
Let's pull back a bit. Both ##\rho## and ##u## depend on both ##t## and ##x##. What you start with is an equation of conservation. Given ##u(t,x)## for all time one could in principle compute ##\rho(t,x)##, which is where the mass density moves to by solving the differential equation. I don't see any equations that determine ##u##?

Usually in these problems [itex]u = u(\rho)[/itex] is given. Or you can use conservation of momentum.
 
Last edited:
Reply
  • Like
Likes   Reactions: hunt_mat
pasmith said:
I think this should be
[tex] \frac{\partial \rho}{\partial t} - \frac{x'L'(t)}{L} \frac{\partial \rho}{\partial x'} + \frac{1}{L}\frac{\partial}{\partial x'} (\rho u) = 0[/tex]
On the boundary you are trying to enforce this condition: [tex] \frac{\partial \rho}{\partial t} - \frac{x'L'}{L}\frac{\partial \rho}{\partial x'} = 0.[/tex] At x = x' = 0 this is not a problem: it reduces to [itex]\frac{\partial \rho}{\partial t} = 0[/itex]. At [itex]x' = 1[/itex] you can use the integrated conservation equation in the form [tex] \frac{d}{dt}\int_0^{L(t)} \rho\,dx = 0[/tex] to obtain [tex] L'(t) \rho(L(t)) + \int_0^L \frac{\partial \rho}{\partial t}\,dx = 0.[/tex] The integral vanishes because it is equal to [itex]\left[- \rho u \right]_0^L = 0[/itex]. That leaves [tex]L'(t)\rho(L(t)) = 0[/tex] so either the bar is of constant length or [itex]\rho(L) = 0[/itex].

Note that you need somehow to determine [itex]L'(t)[/itex].
Usually in these problems [itex]u = u(\rho)[/itex] is given. Or you can use conservation of momentum.
You're correct about the error in transformation, and I agree with your analysis at [itex]n'=0[/itex] but I am a little confused about your analysis, I did a similar analysis for the global conservation of mass. Like you I obtain:
[tex] \frac{d}{dt}\int_{0}^{L(t)}\rho dx=0\Rightarrow \rho(t,L(t))L'(t)+\int_{0}^{L(t)}\frac{\partial \rho}{\partial t}dx[/tex]
I then use the equation to obtain:
[tex] \rho(t,L(t))L'(t)+\int_{0}^{L(t)}\frac{\partial \rho}{\partial t}dx=\rho(t,L(t))L'(t)-\int_{0}^{L(t)}\frac{\partial}{\partial x}(\rho u)dx=\rho(t,L(t))L'(t)-(\rho(t,L(t))u(t,L(t))-\rho(t,0)u(t,0))=\rho(t,L(t))L'(t)-\rho(t,L(t))u(t,L(t))=0[/tex]
Which yields the condition:
[tex] L'(t)=u(t,L(t))[/tex]
This implicitly assumed that [itex]\rho(t,L(t))\neq 0[/itex] though
 
Paul Colby said:
Let's pull back a bit. Both ##\rho## and ##u## depend on both ##t## and ##x##. What you start with is an equation of conservation. Given ##u(t,x)## for all time one could in principle compute ##\rho(t,x)##, which is where the mass density moves to by solving the differential equation. I don't see any equations that determine ##u##?
Sorry, I didn't get back to this, there are three equations for [itex]\rho[/itex],[itex]u[/itex] and [itex]T[/itex] but the problem appears in the conservation of mass equation, so I thought that this would be the best equation to demonstrate the problem.
 
Good question. On the free end, I would expect we can apply a stress-free condition as it's allowed to move. I'm not sure how this transfers to the density though.
 
Well, I suggest the answer is your boundary conditions depend on the system being modeled. The question as you’ve posed here is incomplete and cannot be answered. The length of the bar changes depending on the velocity at the boundary. This is usually determined by the dynamics, which is missing.
 
Reply
  • Like
Likes   Reactions: Frabjous
I don't think it does to be honest, the system I'm modelling is essentially the thermal poroelestic system if that helps. I'm treating it as a continuum. As a base level, I require that no mass leaves or enters the system, so the mass flux should be zero at both ends should be zero, and that's modelled by the boundary condition I gave(I think). There is a stress-free condition on the free end, so it's allowed to move.

Do you want to see the rest of the system?
 
Not really, it’s your problem. Just in general, if I have a liquid, the manner of constraint of that liquid isn’t determined by it being a liquid or by it being conserved. The constraints, even in the case of being unconstrained, is determined by the problem. Given that your ends are unconstrained, the stress free condition says a solid will sit there oscillating while a gas will expand into a vacuum. If these are the result of your bc, you’re done.
 
One of the ends is constrained and the other is free to move. I have a thermal poroelastic medium in which the porosity decreases as you heat up the bar. I don't need to model anything outside the bar.
 
hunt_mat said:
I don't need to model anything outside the bar.
I agree because you’ve just specified one end is fixed and one end is moving but unconstrained. The stress vanishes at this end. What does the stress equation say about ##u## and ##\rho## at this point?