How to check a numerical simulation is energy conservative?

In summary: I think is the same as summing over dv, but don't quote me on that. But that's how I calculate it. Hi, thanks again. Not quite sure, I think by integrating du = -p dv which I... I think is the same as summing over dv, but don't quote me on that. But that's how I calculate it.integrating over dv should give you the correct answer.
  • #1
hoomanya
90
0
I am modelling a 1D fluid wave propagation problem and I needed to know how I can check that my results are energy conservative. please reply, urgent. thank you.
 
Engineering news on Phys.org
  • #2
Well, in your 1D simulation, each cell has a fluid density, and a fluid velocity, right. So if the density of cell i is given by [itex]\rho_i[/itex], and the velocity is given by [itex]u_i[/itex], then if you take the total [itex]\frac{1}{2} \sum_i{ \rho_i u_i^2}[/itex], then this should be conserved. Of course, your simulation might have other things, like gravitation, in which case you would need to add in the gravitational potential energy as well.
 
  • #3
You are using a finite difference scheme, and you want to know if the finite difference scheme automatically conserves energy, correct?
 
  • #4
phyzguy said:
if the density of cell i is given by [itex]\rho_i[/itex], and the velocity is given by [itex]u_i[/itex], then if you take the total [itex]\frac{1}{2} \sum_i{ \rho_i u_i^2}[/itex], then this should be conserved. Of course, your simulation might have other things, like gravitation, in which case you would need to add in the gravitational potential energy as well.

thank you. do I take the total over the cells, so say I have 10 cells, I add the kinetic energy term over for the 10 cells and show that they equal zero? what about time?
 
  • #5
Chestermiller said:
You are using a finite difference scheme, and you want to know if the finite difference scheme automatically conserves energy, correct?
thanks, I'm using finite volume. my problem is transient.
 
  • #6
hoomanya said:
thanks, I'm using finite volume. my problem is transient.
Does your finite difference scheme automatically conserve energy (i.e., is this a mathematical characteristic of your finite difference equations)?

Chet
 
  • Like
Likes hoomanya
  • #7
Chestermiller said:
Does your finite difference scheme automatically conserve energy (i.e., is this a mathematical characteristic of your finite difference equations)?

Chet
I'm not sure. What do you mean by automatically? You mean by formulation? so if I add the discretised terms, the terms at the internal boundaries cancel out and I'm left with the terms at the two left and right boundaries.
 
  • #8
hoomanya said:
I'm not sure. What do you mean by automatically? You mean by formulation? so if I add the discretised terms, the terms at the internal boundaries cancel out and I'm left with the terms at the two left and right boundaries.
The latter.
 
  • Like
Likes hoomanya
  • #9
hoomanya said:
thank you. do I take the total over the cells, so say I have 10 cells, I add the kinetic energy term over for the 10 cells and show that they equal zero? what about time?

Yes, you add the kinetic energy for all of the cells. It won't necessarily equal zero, but it should be the same value at each time step, assuming no energy is flowing in or out of the boundaries. As chestermiller says, you could examine the equations that propagate the fluid quantities from the current time step to the next time step. These should automatically conserve the conserved quantities (mass, momentum, energy), because they should just move these quantities from one cell to an adjacent cell.
 
  • Like
Likes hoomanya
  • #10
phyzguy said:
Yes, you add the kinetic energy for all of the cells. It won't necessarily equal zero, but it should be the same value at each time step, assuming no energy is flowing in or out of the boundaries. As chestermiller says, you could examine the equations that propagate the fluid quantities from the current time step to the next time step. These should automatically conserve the conserved quantities (mass, momentum, energy), because they should just move these quantities from one cell to an adjacent cell.
Thanks alot. Does the type of boundary condition used have any influence in this?
 
  • #11
Hi, so I've added my density, velocity, K.E (against space) and sum of K.E at nodes (agains time) plot, before the wave reaches the boundary so that the results are independent of the type of BC choses. The sum of KE's tend to increase at the starts as velocity is zero at the start, I wonder if internal energy is present? Am I missing something here? Thanks!
KE_plot1.jpg
KE_sum_plot1.jpg
rho_plot1.jpg
v_plot1.jpg
 
  • #12
Right. I should have said this earlier. It is the total energy that is conserved, so you need to include the internal energy. The internal energy will be decreasing as your initial fluid pulse expands. Do you know how to calculate the internal energy? If so, you should add this to the KE and plot the total energy.
 
  • Like
Likes hoomanya
  • #13
phyzguy said:
Right. I should have said this earlier. It is the total energy that is conserved, so you need to include the internal energy. The internal energy will be decreasing as your initial fluid pulse expands. Do you know how to calculate the internal energy? If so, you should add this to the KE and plot the total energy.
Hi, thanks again. Not quite sure, I think by integrating du = -p dv which I am guessing will give u - u_0 = -p (v-v_0), but not quite sure what the specific volume will be. I am guessing that's where density comes in.
 
  • #14
Is this a continuum model? If so, the differential energy balance equation should already involve the internal energy. Please write the differential energy balance equation you are using.

Chet
 
  • #15
Chestermiller said:
Is this a continuum model? If so, the differential energy balance equation should already involve the internal energy. Please write the differential energy balance equation you are using.

Chet
I'm not sure what you mean by a continuum model. I am not using a differential energy balance equation.
 
  • #16
hoomanya said:
Hi, thanks again. Not quite sure, I think by integrating du = -p dv which I am guessing will give u - u_0 = -p (v-v_0), but not quite sure what the specific volume will be. I am guessing that's where density comes in.

What are the fluid variables that are carried at each point in the code? You should have access to either the internal energy, or to a temperature and/or pressure from which you can calculate the internal energy. Your code must have equations for calculating the fluid variables at time t+δt in terms of the variables at time t. Do you have access to these equations?
 
  • #17
phyzguy said:
What are the fluid variables that are carried at each point in the code? You should have access to either the internal energy, or to a temperature and/or pressure from which you can calculate the internal energy. Your code must have equations for calculating the fluid variables at time t+δt in terms of the variables at time t. Do you have access to these equations?
I am solving the isothermal Euler equations and relating pressure to density using the bulk modulus of the material. I have an initial density (and hence pressure) wave and initial velocity is zero.
 
  • #18
hoomanya said:
I am solving the isothermal Euler equations and relating pressure to density using the bulk modulus of the material. I have an initial density (and hence pressure) wave and initial velocity is zero.

Well, I'm not 100% certain, but I think what you are saying does not make physical sense. You start with a fluid with an initial density and pressure. The fluid expands and drives a wave in both directions. The kinetic energy of the waves must come from the internal energy of the fluid. So the fluid cannot be isothermal. The temperature has to decrease as the wave expands. At least, this is how it seems to me.
 
  • #19
phyzguy said:
Well, I'm not 100% certain, but I think what you are saying does not make physical sense. You start with a fluid with an initial density and pressure. The fluid expands and drives a wave in both directions. The kinetic energy of the waves must come from the internal energy of the fluid. So the fluid cannot be isothermal. The temperature has to decrease as the wave expands. At least, this is how it seems to me.

Hi, so I had a think about what you said, and in the problem essentially, sound waves propagate as a result of interplay between density and pressure. Essentially, I think the rare-fractions and the compressions have enough time to exchange heat and maintain at a constant temperature depending on the speed of sound? (dp/drho = speed of sound squared). The fluid I've used is water. Please correct me if I'm wrong.
 
  • #20
So if why you are saying is correct, where does the kinetic energy of the waves come from?
 
  • #21
phyzguy said:
So if why you are saying is correct, where does the kinetic energy of the waves come from?
I was thinking of the fundamental equation of thermodynamics and how Tds = du - pdv
and so changes in the internal energy could be due to pdv or Tds independently. Can the changes in internal energy therefore no be just due the changes in pdv?
 
  • #22
I just don't know the answer. Maybe you are right, but I'm not sure.
 
  • #23
phyzguy said:
I just don't know the answer. Maybe you are right, but I'm not sure.
thanks very much for your help this far.
 

1. What is energy conservation in numerical simulations?

Energy conservation in numerical simulations refers to the principle that the total energy of a system should remain constant over time. This means that the energy input into the system should be equal to the energy output, and there should be no energy losses within the simulation.

2. Why is it important to check for energy conservation in numerical simulations?

It is important to check for energy conservation in numerical simulations because it ensures that the simulation accurately represents the real-world system. Energy conservation is a fundamental law of physics, and violations of this law in a simulation can lead to inaccurate results and predictions.

3. How can I check if a numerical simulation is energy conservative?

One way to check if a numerical simulation is energy conservative is by comparing the total energy of the system at different time steps. If the total energy remains constant, then the simulation is likely energy conservative. Another method is to use energy conservation equations and compare the energy inputs and outputs within the simulation.

4. What are some common sources of energy losses in numerical simulations?

Some common sources of energy losses in numerical simulations include numerical errors, model simplifications, and boundary conditions. These can lead to inaccuracies in the simulation and result in energy losses.

5. Can a numerical simulation ever be perfectly energy conservative?

No, it is almost impossible for a numerical simulation to be perfectly energy conservative. This is because there will always be some level of numerical error and simplifications in the model that can lead to energy losses. However, efforts can be made to minimize these errors and ensure that the simulation is as energy conservative as possible.

Similar threads

  • Mechanical Engineering
Replies
14
Views
386
  • Mechanical Engineering
Replies
2
Views
107
  • Mechanical Engineering
Replies
2
Views
1K
  • Mechanical Engineering
Replies
12
Views
1K
Replies
4
Views
878
  • Mechanical Engineering
Replies
4
Views
728
Replies
1
Views
719
Replies
4
Views
1K
  • Mechanical Engineering
Replies
1
Views
2K
Replies
21
Views
1K
Back
Top