Showing results for 
Search instead for 
Did you mean: 

Pressure in TRCS003A


Hello everyone,


I'm currently modelling an engine crankshaft in LMS AMESim and am using the submodel TRCS003A. Which calculates the dynamics of the crankshaft with regard to a pressure on the piston.

To regulate the rpm of the crank shaft, I am using an PID controller to regulate the output revs to a predefined reference rpm. However, when I reach the desired rpm-value, the PID controller outputs a zero value. (which is preferred).

What I do wonder is: if the model takes the pressure of the compression stroke into account without defining it separately.

Or do I need to specify my combustion pressure and the pressure from the compression stroke.


I hope you can help me!


With kind regards,


Tom Haenen


Re: Pressure in TRCS003A

Siemens Experimenter Siemens Experimenter
Siemens Experimenter
Hello Tom,

Based on the image you shared, if the output of your PID controller (PI controller in your image) is zero, that means that the in-cylinder pressure from the table is multiplied by zero and the net result is zero pressure on the piston.
In the in-cylinder pressure table you should have the pressure for all 4 strokes (pressure from 0 to 720 crank angle degree) thus this will include the compression stroke.
Since the PI output is zero, there is no external pressure accelerating or decellerating the crankshsaft. The crankshaft will then only remain at constant speed if there is no other friction modeled. You should see the speed oscillating slightly due to the inertias of the crank, connecting rod and pistons.

If your in-cylinder pressure is correct, and for example for idle running engine, then it is best to adjust the friction parameters so that the speed remains constant (idle) given this in-cylinder pressure. You can also route your PI controller to output a resistive torque that is imposed on the crankshaft and control the speed this way. The in-cylinder pressure is than still taken into account.

See "qthelp://lmsimagine.lab/ame_dir/demo/Libraries/TR/L4_engine_step3.html" in the Amesim help for an example.



Re: Pressure in TRCS003A


Hello Bob, 


Thanks for your reply. Based on your comment, I believe my assumption was correct that there is no internal way in the model of creating a pressure (it solely relies on a [null] input value). 


I do have a follow-up question on this part. It's true I modelled the in-cylinder pressure tabel in to the 1D-table submodels.

My original thought was to create a table recreating the pressure from combustion and let this be regulated by the PI-controller. After the multiplication with the PI-controller and 1D-table, I wanted to add another 1D table to model the in-cylinder pressure caused by the compression stroke. Then add this to the value regulated by the controller, thus recreating a regulation of the injected fuel. 

But if I understand correctly, the 1D-table containing the compression pressure, will cause a force on the piston as well. 

Does this (fictuous) accelaration have to be regulated via a second controller or modelled friction?


Thanks for the tips!





Re: Pressure in TRCS003A

Siemens Experimenter Siemens Experimenter
Siemens Experimenter

Hi Tom,


In the Amesim demo models, the in-cylinder pressure table is defined from 0 to 720 degrees, and should therefore include the intake, compression, combusion and exhaust stroke together. You want to seperate this out and create one table for the compression (~180 to ~360 degrees) and one for the combustion (~360 to ~540 degrees) and then only apply a controlled gain to the cumbustion part. Take a look at the attached image which does what I think you want to do.


The compression pressure will lead to a nett negative torque (slowing down the crankshaft) so the controller will then have a nonzero mean value (to create a nett positive torque from combustion) to counteract the compression. cylinderpressure.png