Tuesday, November 5, 2019

Rotta Model for Bicycle Tires

I recently discovered Andrew Dressel who recently wrote a PhD dissertation Measuring and Modeling the Mechanical Properties of Bicycle Tires. There's a lot in there, of course, but amongst all that I found a description of the Rotta model for tires. This is much the same as what I have been exploring. I polished up my math and wrote a bit of new software to generate some new tables for recommended inflation pressures base on Frank Berto's rule of 15% squish.

The Rotta model is quite simple:

The tire is flat where it contacts the ground, and has a circular cross section where it is not in contact. Each cross section of the tire is treated independently.

Here are tables from which inflation pressure can be computed. The rows correspond to tire widths, in mm. The columns represent rim width, as a ratio to tire width. E.g. the column with 2 at the top is for tire width twice the inner rim width, e.g. a 50 mm wide tire on a 25 mm wide rim.

The tables give the area in square inches of the contact patch. To compute the inflation pressure, divide the load on the wheel by the area of the contact patch. E.g. a 50 mm tire on a 25-559 ETRTO rim will have a 2.06 sq in contact patch when it is squished down 15% of its width. For that contact patch to support a 100 pound load, the inflation pressure should be 100 / 2.06 = 48.5 PSI.

For 622 BSD:

For 559 BSD:

For 406 BSD:

These tables are calculated purely from theory, i.e. no parameters are used to fit them to any experimental data. Do not follow them blindly! They're food for thought & perhaps provide a useful starting point for exploration.

And a 305 BSD table:

Friday, September 13, 2019

A Simple Fix

Chris Hedges recently wrote about some top CEOs who proclaim the positive value of capitalism. These terms and ideas get packaged and promoted so heavily that it becomes very difficult to see how they actually work. I'd like to take them apart a little bit and suggest a simple change that could have profound effects.

Our large scale society functions by way of complex organizations. Our welfare, indeed our survival, depends on the smooth functioning of these organizations. These organizations can only maintain themselves by earning profits, i.e. by selling finished products for prices high enough to pay for raw materials, maintain factories, pay workers and managers, etc. Investors who contribute start-up and expansion up-front costs need to earn a reasonable return on their investment, or they'll find something better to do with their money.

The distortion at the foundation of many of our problems today is that investors hold the ultimate decision-making power of corporations. Corporations are created and structured by means of the law. The law gives investors this power. A change in the law would change the way corporations are organized.

The classic straw-man for corporate governance is government control of corporations. But there are many other alternatives. Much of our problem today is that corporate power is too centralized. Government control would increase centralization. What we need is to distribute power.

Corporate governance needs to be widened. The Board of Directors of a corporation, the embodiment of regular decision-making, should include representatives from the workers and the managers, from suppliers and customers, from the local community, from folks living downstream and downwind, as well as from investors. Investors should not, in most cases, have a majority vote. Investors deserve a fair return on their investments, but this should be balanced with the legitimate concerns of the other stakeholders of the business.

It would be a catastrophic error to blame all our ills on big businesses and therefore to work to destroy those businesses. The fabric of our society consists of the goods and services flowing through these businesses. A small adjustment to the steering mechanism would have a profound effect on the path of evolution of this fabric. This is a simple and practical step that could fix the worst excesses of our current system.

Friday, August 16, 2019

Beyond Wonk Perfection

Some years back, the Washington Post's Wonkblog published an example of how precincts might be partitioned into districts unfairly versus fairly.

I would like to propose an improved partition, better than the "perfect" example of the Wonkblog:

In the Wonkblog's perfect partition, each district is entirely red or entirely blue. This makes the representation very rigid. Shifts in voter sentiment will not be reflected in shifts in representation, until the shifts are massive. In the partition I propose, some districts have slim majorities and others have large majorities. This approach is less rigid.

Sunday, June 30, 2019

Partitioning the Vote

My earlier notion for preventing gerrymandering was not very effective. Looking at the data for the Michigan 2018 election, the Democrats had a majority of the vote but a minority of the districts. My proposed rule would have done nothing to prevent that.

Exactly what a good rule might be, I don't know. It's a difficult problem! But the basic criterion that seems logical is that the fraction of districts won by each party should be roughly proportional to the fraction of votes for that party. A general shift in voter preference should be reflected with a proportional shift in election results, in the fraction of districts won by a party. This would be achieved by having district boundaries drawn so that the fractions of votes for each party across the districts varies across a reasonably wide spectrum.

The challenge with this approach is that the notion of "a general shift" is too vague to be of much use. Still, a simple model can get the idea across.

Here is an idealized situation, a state with ten districts. When the vote is split equally, the range of district results could be:

With a general drift to 60% of the vote for one of the parties, the number of districts won could change proportionally:

A further shift, to 70%, would continue to be reflected in the proportion of districts won:

Thursday, June 27, 2019

Against Gerrymandering

The notion of a free market strikes me as oxymoronic. It's like a game without rules. It's nonsense. A game is defined by its rules. Similarly, markets are defined by rules. Of course, good games and good markets have rules that are fair, for example. Finding ways to structure markets effectively is a worthy challenge.

The recent Supreme Court decision, to keep the federal judiciary out of the business of how to draw the boundaries of legislative districts, strikes me as a move in support of a free political market. Why try to figure out what a fair market might look like? Let the market decide what is fair! But the problem with anarchy is that it is impossible. We can decide on rules using methods developed over the centuries and codified by brilliant political thinkers like the framers of the United States Constitution, or we can revert to the cruder methods of tyrants.

Of course the framers didn't provide all the answers. We the people have the responsibility, working with the general framework set out in the constitution, to work out the rules and regulations, the laws and institutions, by which we may prosper fairly and equitably.

It's clear enough that legislative boundaries can be gerrymandered to amplify the dominance of whichever party. Even if some branch of the government took on the task of preventing such corruption, it's not so clear what kind of rule could work against it effectively. I would like to propose a rule here that could work.

The basic trick used in gerrymandering is to concentrate the voters of the minority party. The voters of the majority party are spread across districts, so there are just enough to win in a very large number of districts.

So here is an effective anti-gerrymandering rule: for each x, there cannot be more districts with more than (50+x)% minority party voters than there are districts with more than (50+x)% majority party voters.

In other words, minority party voters cannot be concentrated in districts more than majority party voters are.

This is a simple rule that would prevent the worst abuses of gerrymandering.

Thursday, November 29, 2018


Canvas not supported; please update your browser.

log(Temperature) =

Energy =

This little project is based on Dan Schroeder's Ising Model animation.

The way this kind of simulation works is that cells in the array are considered one by one. At a particular cell, alternative configurations are examined and one configuration is selected to be newly assigned to the cell. Each possible configuration, or value of the order parameter, will have an energy which is determined by the configurations of the neighboring cells. The new configuration is picked at random, with a bias toward lower energy configurations. The lower the temperature, the stronger the bias.

One of the tricky parts about this kind of simulation: when the order parameter is continuous, it's hard to come up with a good set of alternative values. The full set of alternatives is huge, practically infinite. Some small sample needs to be used. The small sample needs to include some configurations whose energy is at least not too much worse than the existing configuration, or the simulation won't have a good alternative to assign to the cell. At high temperatures, suitable alternatives can be substantially worse. At low temperatures, the alternatives can only be slightly worse. Thus, the temperature determines what makes a good set of alternatives. Trying to figure out that relationship ahead of time is too complicated, so an adaptive approach is suitable.

What I do in this simulation is to consider alternatives one by one. The first alternative is chosen at random at random from the full set. Each next alternative is chosen from those that are within some range of the currently assigned configuration. As each configuration is chosen, a decision is made whether to assign that to the cell in place of the current configuration. As soon as a new configuration is assigned, the simulation moves on to look at other cells. When an alternative is not assigned, another alternative is chosen from a narrower range. The range from which alternatives are picked gets narrower and narrower with each iteration. Eventually the alternatives are so close to the current assignment that the odds of being assigned become 50/50. This narrowing range iteration provides an adaptive approach to picking a set of alternative configurations.

Wednesday, November 28, 2018


Left Side Offset:

Left Side Direction:

Right Side Offset:

Right Side Direction:

Canvas not supported; please update your browser.

Interaction Energy =

The foundation for the dynamics of a system is the way the components interact. The "wrinkles" system that I am exploring is a two dimensional array of cells. Each cell interacts with its four neighbors. The state of each cell is given by a direction and an offset. These change over time. In the thermodynamic simulation that I am building, a cell will tend to change so its direction and offset are similar to those of its neighbors.

Handling the offset gets tricky. The idea is that the dark and light strips should line up on the boundary between neighboring cells. If the cells have the same direction, the offsets should simply match. But when the cells have different directions, it gets messy!

What I'm doing to manage this is to look solely at the midpoint of the edge that forms the boundary between two neighboring cells. The offsets are close if the stripes fit together at that midpoint.

There is some topological strangeness here. The light and dark stripes have a symmetry: if you turn them upside-down, the result is the same pattern as where you started. But at the two extremes of cell direction, increasing offset will move the stripes in the opposite direction. Changing the direction rotates the stripes: every 180 degree brings the stripes back to where they were. Similarly, changing the offset enough will move the stripes back to where they started. So the topology of these two parameters together forms a kind of torus. But because the direction of offset is reversed after a 180 degree change of direction, the topology is actually that of a Klein bottle. This topology is what allows an array such as: