Simulate the temperature inside an aquarium tank

Click For Summary

Discussion Overview

The discussion revolves around modeling the temperature dynamics of a 100-gallon aquarium tank using a 4000-watt heater. Participants explore the calculations necessary to simulate how the tank temperature changes over time, particularly focusing on the heater's cycling behavior to maintain a set temperature range. The context includes programming in Python and considerations of heat loss mechanisms.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant describes a method for calculating the time it takes for the tank temperature to drop and how to model the heater's cycling behavior using Python.
  • Another participant points out potential confusion between watts and watt-hours in the calculations, emphasizing the importance of distinguishing between power and energy.
  • A later reply suggests a step-by-step approach for calculating the necessary parameters, including converting all measurements to consistent units, such as kilograms and degrees Celsius.
  • One participant mentions the delta temperature and the surrounding air temperature, indicating the tank's insulation status and providing a link for further reading on heat loss in open water tanks.

Areas of Agreement / Disagreement

Participants express varying opinions on the best approach to the calculations and the units to use, indicating that there is no consensus on a single method or model for the simulation.

Contextual Notes

Some participants highlight the need for consistent unit conversions and the potential for confusion in the calculations, but specific assumptions or limitations in the modeling approach remain unresolved.

bartlino
Messages
3
Reaction score
0
TL;DR
how to create a function in Python to model an electric heating element heating a tank of water
there's a website to size an aquarium heater or chiller.

This is just for learning purposes (not for fish) but I have modified these parameters from default to perform a load calculation on a 100 gallon glass tank... For the tank temperature range I set to be between 150-160 degree F. and a startup time of .5 hours, all other parameters are left default...

hamza2.PNG

The load calc output looks like this to see all of the losses:

hamza.PNG
The question I have, is how I could I model the tank temperature over time of a 4000 watt heater cycling on and off to maintain a 150 degrees setpoint? IE, if the tank drops below 145F the heater would come on and then shut off when the tank temperature reaches 155F.

Using Python, I think I can calculate in hours how long it will take for the tank temperature to drop the 5F for when the heater would need to come on but would anyone have any tips for how I could model/calculate the tank temperature & burner cycling? (plot data over time..)

[CODE lang="python" title="Python script"]
tank_volume = 100
gall_pound_conversion = 8.33
drop_in_temp = 10 #btu per pound
btu_kwh_conversion = 3413
total_loss_evap_convection = 2692/1000 #divde by 1000 to convert watts to kW

def sim():
value = tank_volume * gall_pound_conversion
value = value * drop_in_temp
value = value / btu_kwh_conversion
value = value / total_loss_evap_convection
return valueprint(sim())
0.9066374569047897[/CODE]

printing the function (sim()) this yields 0.9066374569047897 which I think is in hours
 
Last edited by a moderator:
Engineering news on Phys.org
In your table, aren't you using watts in some places there should be watt hours. The difference between power and energy in this case is vital. See my signature below.
 
Any chance you could give me a tip ? The function in Python I think converts everything to hours steps I tried to follow:

1) Take the volume of the tank in gallons and multiply that value by 8.33 pounds per gallon to get pounds.

2) Multiply the result above by 10 BTU per pound which corresponds to a 10F drop in temperature for the entire tank.

3) Divide the result above by 3,413 to convert BTU to kWh of heat.

4) Divide the result above by the total rate of heat loss (kW) from evaporation and conduction. Remember 1 kW = 1000 Watts.

final result in hours for when the heating element would need energize. Ultimately I am looking to write a function that would model the tank temperature as the heating element cycles.. Thanks for any help, still learning :)
 
bartlino said:
1) Take the volume of the tank in gallons and multiply that value by 8.33 pounds per gallon to get pounds.
2) Multiply the result above by 10 BTU per pound which corresponds to a 10F drop in temperature for the entire tank.
3) Divide the result above by 3,413 to convert BTU to kWh of heat.

Before posting convert all mass to kg, all temp to °C, and all volumes to litre or m3.
Eliminate the confusion. Convert everything before or outside the procedure.

You do not need °F, pounds or BTU in computations.
Water weighs 1 kg per litre, so you do not need to differentiate between gallons(US) or gallons(imp) when you use litres.