It is possible to create a model to calculate flow rates. You need to go to modelling all the components, the forces between them and the air itself in the barrel and cylinder. This isn't easy but I did it about 10 years ago. There is no simple formula you can use.

If the transfer port gets too small, the flow between the cylinder and barrel chokes as the air can't go supersonic (based upon its properties in the cylinder). This is a bad thing as the flow levels off and the pressure in the cylinder goes up a lot. The higher pressure air in the cylinder pushes on the front face a lot harder and makes the forward recoil push horrible.

The pressure difference between the barrel and cylinder causes the choking. Smaller diameter ports have more resistance so make the pressure difference higher, which leads to choking. So do longer or rougher transfer ports.

BB