Elvas Tower: Excessive Curve Resistance on Curves Less than 100m Radius - Elvas Tower

Jump to content

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Excessive Curve Resistance on Curves Less than 100m Radius Orders of magnitude jump in curve resistance Rate Topic: ***** 1 Votes

#11 User is offline   ErickC 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,004
  • Joined: 18-July 17
  • Gender:Male
  • Location:Hastings, MN, US
  • Simulator:ORTS
  • Country:

Posted 28 January 2024 - 09:23 PM

Not to dredge up an old thread, but I have noticed an 8+ fold increase in curve resistance in the unstable builds over the last month or so. Here's an example of a curve in v1.5.1:

Attached Image: 00.JPG

And the same curve in U2024.01.24-2007:

Attached Image: 01.JPG

It's not exactly the world's tightest curve:

Attached Image: 02.JPG

What I need to know is this: is this a permanent change? If so, I need to issues patches for all of my sounds. That's going to take a while, so I would like to get started sooner than later. Note that I am not using superelevation.

#12 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 28 January 2024 - 09:48 PM

View PostErickC, on 28 January 2024 - 09:23 PM, said:

What I need to know is this: is this a permanent change? If so, I need to issues patches for all of my sounds. That's going to take a while, so I would like to get started sooner than later. Note that I am not using superelevation.
I will have a look at it over the next week or so.


#13 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 29 January 2024 - 08:07 PM

View PostErickC, on 28 January 2024 - 09:23 PM, said:

What I need to know is this: is this a permanent change? If so, I need to issues patches for all of my sounds. That's going to take a while, so I would like to get started sooner than later. Note that I am not using superelevation.

I have had a look at this, and there doesn't appear to have been any changes since the bugfix was applied to the code last year. Feedback at that stage suggested that the resistance values were more in line with expectations. So unless there is evidence to the contrary, then I can only assume that it is working correctly. Note because of the changes since v1.5.1, version v1.5.1 can't be used as a base for comparison.

Is there anything else that I should be aware of in regard to the curve friction?

One point that mystifies me a bit, is your reference to the need to change your sound files. As far as I am aware the curve friction should not impact sounds in any way. Are you suggesting that there is an issue with sounds when on different radius curves (see comments earlier in this thread)?

#14 User is offline   PerryPlatypus 

  • Fireman
  • PipPipPip
  • Group: Access 1 Open Rails Forums
  • Posts: 194
  • Joined: 13-January 10
  • Gender:Male
  • Location:Spokane, WA
  • Simulator:Open Rails
  • Country:

Posted 29 January 2024 - 09:23 PM

View PostErickC, on 28 January 2024 - 09:23 PM, said:

Not to dredge up an old thread, but I have noticed an 8+ fold increase in curve resistance in the unstable builds over the last month or so. Here's an example of a curve in v1.5.1:

Attachment 00.JPG

And the same curve in U2024.01.24-2007:

Attachment 01.JPG

It's not exactly the world's tightest curve:

Attachment 02.JPG

What I need to know is this: is this a permanent change? If so, I need to issues patches for all of my sounds. That's going to take a while, so I would like to get started sooner than later. Note that I am not using superelevation.



AREMA's rule of thumb is 0.8 lbf / ton of train weight / degree of curve. So a 250,000 lb GP38-2 on a 10 degree curve would be around 1000 lbs of resistance force. So your 800+ lbf on that curve seems quite reasonable.

#15 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 29 January 2024 - 09:40 PM

View PostPerryPlatypus, on 29 January 2024 - 09:23 PM, said:

AREMA's rule of thumb is 0.8 lbf / ton of train weight / degree of curve. So a 250,000 lb GP38-2 on a 10 degree curve would be around 1000 lbs of resistance force. So your 800+ lbf on that curve seems quite reasonable.
Thanks for that.

AREMA also states:

Quote

At very slow speeds, say 1 or 2 mph, the curve resistance is closer to 1.0 lb. (or 0.05% up grade) per ton per degree of curve


So the speed also has an impact as well, and also makes the value higher. So as you suggest I don't think that it is unreasonable.

#16 User is offline   pschlik 

  • Conductor
  • Group: Status: Active Member
  • Posts: 350
  • Joined: 04-March 15
  • Gender:Male
  • Simulator:OpenRails - Unstable
  • Country:

Posted 30 January 2024 - 09:15 AM

View Poststeamer_ctn, on 29 January 2024 - 08:07 PM, said:

One point that mystifies me a bit, is your reference to the need to change your sound files. As far as I am aware the curve friction should not impact sounds in any way. Are you suggesting that there is an issue with sounds when on different radius curves (see comments earlier in this thread)?


The "CurveForceControlled" sound curves use the curve friction force as their driving parameter. I feel like I've seen it implied somewhere that the input is the centripetal force, but that's not how it's coded. (If it were centripetal force, then yes there would have been no change with friction.)

Since the curve force has increased compared to previously, soundsets using curve force triggers and curves will find that curve sounds are being triggered prematurely. A force that previously corresponded to a tight curve is now going to occur on even a gentle bend, resulting in all manner of painful squealing when such sounds are reasonably not justified.

#17 User is offline   scottb613 

  • Vice President
  • Group: Status: First Class
  • Posts: 2,973
  • Joined: 06-July 09
  • Gender:Male
  • Location:Downeast Maine (soon)
  • Simulator:ORTS
  • Country:

Posted 30 January 2024 - 10:21 AM

View Postpschlik, on 30 January 2024 - 09:15 AM, said:

The "CurveForceControlled" sound curves use the curve friction force as their driving parameter. I feel like I've seen it implied somewhere that the input is the centripetal force, but that's not how it's coded. (If it were centripetal force, then yes there would have been no change with friction.)

Since the curve force has increased compared to previously, soundsets using curve force triggers and curves will find that curve sounds are being triggered prematurely. A force that previously corresponded to a tight curve is now going to occur on even a gentle bend, resulting in all manner of painful squealing when such sounds are reasonably not justified.


Hi Folks,

Noted same - every curve squeals.

Regards,
Scott

#18 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 30 January 2024 - 11:22 AM

View Postpschlik, on 30 January 2024 - 09:15 AM, said:

The "CurveForceControlled" sound curves use the curve friction force as their driving parameter. I feel like I've seen it implied somewhere that the input is the centripetal force, but that's not how it's coded. (If it were centripetal force, then yes there would have been no change with friction.)
What are the "CurveForceControlled" sounds, and how are they activated in OR?

View Postpschlik, on 30 January 2024 - 09:15 AM, said:

Since the curve force has increased compared to previously, soundsets using curve force triggers and curves will find that curve sounds are being triggered prematurely. A force that previously corresponded to a tight curve is now going to occur on even a gentle bend, resulting in all manner of painful squealing when such sounds are reasonably not justified.

I assume that we are talking about Curve Squeal, which is enabled in the TRK file by setting the parameter ORTSCurveSMSNumber. Is this correct?

If this is the case, it appears to be triggered in the Sound.cs file at approximately line 427. This sound is triggered by the following code, which seems to rely purely on the curve radius and car type as follows.

if ((Car.CurrentCurveRadiusM > 0 && (Car.CurrentCurveRadiusM < 301
 	|| (Car.CurrentCurveRadiusM < 350 && Car.WagonType == TrainCar.WagonTypes.Freight))) ||
	(CarBehind.CurrentCurveRadiusM > 0 && (CarBehind.CurrentCurveRadiusM < 301
 	|| (CarBehind.CurrentCurveRadiusM < 350 && Car.WagonType == TrainCar.WagonTypes.Freight))))


So I can't find the relevant code that is being impacted by the Curve Friction force. Are you able to point to it?

#19 User is offline   pschlik 

  • Conductor
  • Group: Status: Active Member
  • Posts: 350
  • Joined: 04-March 15
  • Gender:Male
  • Simulator:OpenRails - Unstable
  • Country:

Posted 30 January 2024 - 12:31 PM

View Poststeamer_ctn, on 30 January 2024 - 11:22 AM, said:

What are the "CurveForceControlled" sounds, and how are they activated in OR?


This is in wagon and engine sounds. As an example from a modified version of Erick's freight car sounds...
			Stream (
				Skip ( Flanges low force )
				Priority ( 6 )
				Triggers ( 3
					Initial_Trigger (
						StartLoop ( 1
							File ( "NAVS_freight/flanges/x_flange_lo.wav" -1 )	
							SelectionMethod ( SequentialSelection )
						)
					)
					Variable_Trigger ( Distance_Inc_Past 200	ReleaseLoopRelease () )
					Variable_Trigger ( Distance_Dec_Past 200
						StartLoop ( 1
							File ( "NAVS_freight/flanges/x_flange_lo.wav" -1 )	
							SelectionMethod ( SequentialSelection )
						)
					)
				)
				VolumeCurve(
					CurveForceControlled
					CurvePoints ( 2
							0		0.00
							3500	0.25
						)
					Granularity ( .001 )
				)
				VolumeCurve(
					SpeedControlled
					CurvePoints ( 5
						-8.00		2.0
						-2.00		0.2
						0.00		0.0
						2.00		0.2
						8.00		2.0
					)
					Granularity ( 0.01 )
				)
				VolumeCurve(
					DistanceControlled
					CurvePoints ( 3
						10		2.0000
						40		0.6250
						200		0.0000
					)
					Granularity ( .001 )
				) 
   		)


The exact line of code that determines what value is used as the input to a CurveForceControlled volume curve is Sound.cs, line 1504 which uses car.CurveForceNFiltered, the curve friction after passing through a smoothing filter.

#20 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 1,889
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 30 January 2024 - 06:52 PM

View Postpschlik, on 30 January 2024 - 12:31 PM, said:

The exact line of code that determines what value is used as the input to a CurveForceControlled volume curve is Sound.cs, line 1504 which uses car.CurveForceNFiltered, the curve friction after passing through a smoothing filter.

Thanks for clarifying this.

I will reflect upon this, and come back with a solution.

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users