Despite the fact that most of us do so, under certain conditions there is no real need to flush the toilet after we pee. In fact, you can keep on peeing into the bowl, and it won’t considerably affect its hygiene. In this article we will see why, in terms of sanitary condition, it is not mandatory to flush after every time you urinate, and propose better flushing strategies.

“But you have to flush the toilet!” some people who are not so very well acquainted with modern pipe architecture might call out. “Otherwise, the bowl will continually fill with urine, and will eventually overflow. We obviously wouldn’t want to swim in our own urine!” This statement is simply false (well, the first part of it, anyway). Today, each toilet is connected to the sewage system with a pipe called called an “S-trap”, which prevents the water in the bowl from reaching a certain height:

It is a natural phenomenon of communicating vessels, that liquids found inside containers or pipes which are connected to each other will always reach the same height, regardless of the their shape. Thus, as the water level in the toilet bowl rises, so does the height of the water in the part of the S-trap that is connected to the bowl. Above a certain height, the water in the S-trap rises over the bend, and is poured down to the sewer. This means that every time we pour water into the bowl, water must come out of the other side, connected to your local plumbing system. In fact, this is how flushing works – in essence, when you flush the toilet, all you do is drop about six or seven liters of water into the bowl during a very short time period.

“Ok”, others will say. But now we have urine in our bowl, and it stays there forever. It’s dangerous, because urine contains Ammonia and bacteria”. We shall see that that is not exactly a problem either.

Urine is originally sterile when it is excreted from the body. It contains Urea, salts, and some other waste which our body does not need inside of it. In fact, it is not at all hazardous to drink urine that was just excreted from the body (even though you probably wouldn’t want to do that anyway); the problem is when it is left outside, and then the Urea turns to Ammonia, and bacteria flourish in the rich salt and mineral water. Hence, it is not recommended to drink urine that has been left standing for more than about five hours without decent refrigeration.

Let us consider what happens when we pee in the toilet. As previously mentioned, every time we put in a certain amount of liquid, V, the same amount has to flow to the sewer. Let us suppose, for simplicity’s sake, that peeing is instantaneous, meaning that when we pee, we effectively pour a cup of urine into the bowl. Then, at exactly the same instant that the urine hits the toilet, the same amount of liquid is disposed from the toilet and into the sewer system. Furthermore, let us assume that several people use the toilet, one after the other, and between each person enough time passes so that diffusion occurs, meaning that the fluid in the toilet is homogeneous and isotropic. The meaning of these assumptions, is that if during a certain peeing instance, we pour a volume of urine V that makes up z percent out of the whole bowl, then the concentration of original substances inside the bowl prior to the pouring will be lessened by a factor of (1-z) because of the fluid flowing out.

Urine is composed of 95% water, and 5% other materials, which, as previously mentioned, aren’t dangerous the moment they are released from the body. We’ll be stringent, and say that all 5% has a potential to turn into hazardous material after 5 hours (for example, Urea turns to Ammonia. By the way, in various fat dissolvers there is about 5-10% Ammonia, and it would not be wise to drink them or bathe in them). But, every time we pee, some liquid flows out to the sewer. From this follows that not all the potentially hazardous substances will indeed have the chance to become dangerous – some of them will be washed out. **Therefore, our goal is this: find out the percentage of harmful substances left in the toilet, if it is not flushed for an entire day.**

We will treat the case of the public toilet. At the beginning of the day, the toilet is fresh clean, and contains only water. Suppose that during the day, people go in and pee in the toilet at regular intervals: once every time period x, someone urinates. For each time this happens, we shall trace that person’s urine in the bowl – some of it will remain in the toilet, while another part will be washed down the drain by the end of the day. Eventually, when people have stopped using the toilet for the day, we shall look at all the “urinations” that have been sitting in the toilet for more than five hours – these are the dangerous ones – and see what their concentration is. Obviously it will be less than 5%, but just how much?

For this purpose, a small python script has been written, attached here in the appendix. The data about the toilet and urination habits are based on the public bathroom on the floor where I work, and on statistical data crossed from several places on the internet [note: for the mathematicians amongst us – it is possible to analytically solve this instead of writing a python script, but the solution is not brought here].

The results:

D:\> d:\renan\improvedPeeHazard.py

We started with 1.0 water in the toilet.

After a single day of peeing:

The amount of water in the toilet is: 0.95026072431

The amount of non-water in the toilet is: 0.04973927569

Out of the latter, 10.2425882607 percent, or 0.00509458921278 total, is classified as dangerous.

At the end of the day, the amount of substances classified as dangerous is only half a percent of the entire contents of the bowl, ten times less than the potentially hazardous material. This is not a large nor a very frightening amount at all.

This result will probably not convince everyone that the toilet should be flushed only at the end of the day in public restrooms. But nevertheless, this kind of thinking inspires some alternative flushing strategies, which can easily save lots of water. The first trivial increase in efficiency comes by saying, “at the worst case, we can always only flush the toilet once every five hours, since prior to that time there are no harmful substances in the bowl at all”. Better strategies can use the fact that a portion of the bowl’s contents flows to the sewer each time a person urinates to determine when a flush is needed, assuming we define a certain concentration of hazardous material which we do not allow to exceed. Furthermore, instead of always flushing the same amount (be it a full tank or just half, as is common in many toilets today), one can calculate how much he needs to flush in order to reach that certain concentration.

That being said, there are of course other matters to consider in the toilet, for example, the strong smell which would perpetually linger in the bathroom should the toilet be flushed only once a day (not regarding the fact that humans have other forms of bodily waste, naturally). But if we can endure that, or find a way to neutralize those factors, we can significantly save up on our water consumption.

**Appendix: the python script**

import math # The average volume, in milliliters, of pee. VOLUME_OF_PEE = 300.0 # The average volume, in milliliters, of the toilet bowl VOLUME_OF_TOILET = 7000.0 # The ratio between the volume of pee and the volume of the toilet bowl PEE_TO_TOILET_RATIO = VOLUME_OF_PEE / VOLUME_OF_TOILET # How much of the pee, on average, is composed of water PERCENTAGE_OF_WATER_IN_PEE = 0.95 # How much of the pee, on average, is composed of materials which can be potentially hazardous PERCENTAGE_OF_POTENTIAL_HAZARD_IN_PEE = 1.0 - PERCENTAGE_OF_WATER_IN_PEE # The amount of times per day people pee in the toilet. PEES_PER_TOILET = 120 # How many times per hour people pee in the toilet. PEES_PER_HOUR = 10.0 # How many hours it takes for potential hazardous materials to become hazardous HOURS_TO_TURN_HAZARD = 5 # The initial percentage of water in the bowl. INITIAL_WATER = 1.0 # The initial percentage of potentially hazardous material in the bowl. INITIAL_POTENTIAL_HAZARD = 1.0 - INITIAL_WATER class FluidElement: """ A struct which represents a fluid element. Over all, the contents of the toilet can be seen as a sum of many small fluid elements. Each time you pee, a new element is introduced. Thus, each element was put into the toilet in a different time. """ def __init__(self, fluidType, volume): # The type of the element; will be either water, or potentially hazardous material. self.type = fluidType # The percentage of the bowl which this element takes up. self.volume = volume # How many hours this element has been in the toilet bowl. self.time = 0 # Initializing our toilet initialWater = FluidElement("water", INITIAL_WATER) initialPotentialHazard = FluidElement("potentialHazard", INITIAL_POTENTIAL_HAZARD) fluidElementList = [initialWater, initialPotentialHazard] # Go over all the peeing. Assume smooth distribution of peeing throughout the day. for i in xrange(PEES_PER_TOILET): # Each time you pee, you take out PEE_TO_TOILET_RATIO of fluid already in the toilet. for j in range(len(fluidElementList)): fluidElementList[j].volume *= (1.0 - PEE_TO_TOILET_RATIO) # Update the time that this particular element was in the toilet. fluidElementList[j].time += 1.0 / PEES_PER_HOUR # Each time you pee, you also put in fluid. newWaterElement = FluidElement("water", PERCENTAGE_OF_WATER_IN_PEE * PEE_TO_TOILET_RATIO) newPotentialHazardElement = FluidElement("potentialHazard", PERCENTAGE_OF_POTENTIAL_HAZARD_IN_PEE * PEE_TO_TOILET_RATIO) fluidElementList.append(newWaterElement) fluidElementList.append(newPotentialHazardElement) # We are done peeing! Lets check the composition of our toilet bowl contents. allWaterElements = [x for x in fluidElementList if x.type == "water"] allPotentialHazardElements = [x for x in fluidElementList if x.type == "potentialHazard"] waterVolume = reduce(lambda x, y: x + y.volume, allWaterElements, 0) potentialHazardVolume = reduce(lambda x, y: x + y.volume, allPotentialHazardElements, 0) allDangerousHazardElements = \ [x for x in allPotentialHazardElements if x.time > HOURS_TO_TURN_HAZARD] dangerousHazardVolume = reduce(lambda x, y: x + y.volume, allDangerousHazardElements, 0) print "We started with %s water in the toilet." %INITIAL_WATER print "After a single day of peeing:" print "The amount of water in the toilet is: %s" %waterVolume print "The amount of non-water in the toilet is: %s" %(1-waterVolume) print "Out of the latter, %s percent, or %s total, is classified as dangerous." % \ (100 * dangerousHazardVolume/(1-waterVolume), dangerousHazardVolume)