Home    Search    Reference Manual    Return   

Presentation of rel.0103

Author: Ingemar Persson (DEsolver)

13.00 New features in rel.0103
14.30 Checking the list of items from last meeting
15.00 Coffee break
15.30 Demonstration of rel.0103
17.00 Discussions of new features in GENSYS
18.00 Priority of new features rel.0203
18.30 End of the meeting
19.30 Dinner

Updates from rel.0003 to rel.0103

Program CALC

  1. In the substructurefiles wr_coupl_nr1.ins and wr_coupl_pr1.ins dynamic and static coefficient of friction has been introduced.

  2. Enhanced error messages, program CALC now also informs in which insert-file or substructure where the error has occured.

  3. New command "insert coded_file" which expands a file coded by program gencrypt. If command "insert coded_file" has been used in the input data file, file calc.out cannot be written.

  4. Accept more alternativs when reading wheel-rail geometry functions, in order to simplify for the user when swiching between one-sided and double-sided wheel-rail geometry functions.

  5. New quasistatic solver Damped_Tens, which solves quasistatic problem much quicker and more stable than older methods. Damped_Tens can even obtain a solution for an instable vehicle, because Damped_Tens adds damping to the model until it is stable.

  6. New integration method ODASSL.

  7. New character variable "CalcType", which contains the type of current analysis. Character variable "CalcType" replaces the old "calc_type"-variable. Variable "CalcType" can adopt the following values: FRESP, MODAL, QUASI, TSIM, GPLOT, NPICK or PREDAT.

  8. New commands POST_PROCESS and PRE_PROCESS.

  9. The variables $IDENT and $CURRENT_FILE can be used in the commands: POST_PROCESS, PRE_PROCESS, INSERT and INITVAL.

  10. Search for English and Swedish names in the wheel/rail geometry functions. Function ftirr1 is used by substructure files crip_e.ins and t_irr_e.ins.

  11. Write undamped frequency to mode-file.

  12. In command modal_param and fresp_param it is now possible to set different linearisation amplitudes in different directions.

  13. New file format 0103 for the GPdat-files. Storage of the motion and rotation of the coordinate systems and coupling forces.

  14. Using the command Ideal_track in "func intpl_track_irr" or "func intpl_track_irr2" creates four points at: xstart, xstart+(xstop-xtstart)*1/3, xstart+(xstop-xtstart)*2/3 and xstop.

  15. New command overwrite_property which makes it possibly to redefined an existing property.

  16. New mass m_rigid_1 which creates a rigid mass with only one degree of freedom.

  17. If the property of a coupling have the extension _111[rl], program CALC will search for properties with the following extensions: _111 _1 _
  18. Reverse the writing of eigenvalues in program modal, start with the lowest frequency instead of the highest frequency.


A new program which checks the input data file for program CALC. The following output can be obtained from program RUNF_INFO:

  1. Writes a warning to standard output if a coupling is longer than C_COUPL_LENG.

  2. Writes a warning to standard output if a property is over P_UPPER_WARN or below P_LOWER_WARN.

  3. Command COUPLINGS_TO_MASS writes the name of all couplings connected to this mass.

  4. Command PLOT_MODEL_DOWN_FROM plots all masses and couplings in a two-dimensional view.

  5. Produces listing of all coordinate systems, masses, properties and couplings.

Program MPLOT

  1. Corrected an error when defining LYCM, earlier LYCM was always automatic in length.

  2. New filters HPASS2 and HPASS2_0 under main command filt.

  3. New Ride comfort filters ISO2631_97WD and ISO2631_97WK.

  4. New Ride comfort filters CEN_TC256_WB and CEN_TC256_WD, which are the same filters as ERRI153_WB and ERRI153_WD.

  5. Sliding RMS-value calculation.

  6. The name of the variable can also include the name of the ident. If the ident is added in the end in parenthesis.

  7. Wild cards as ?, [] and * can be used in the VAR_ID -command.

  8. New PullDown Menu which allows PostProcessing in Mplot.

  9. New resolution 1600x1200.

  10. The user can use his own favorite editor when the pulldown menu "Draw" + "edit_page" is selected.
  11. New function truncate under create_curve, which can truncate existing variables.

Program MTABLE

A new program which replaces the getstats-script. MTABLE is written in FORTRAN which is more stable compared to scripts in different operating systems.

  1. If the *.resu-file is old or non-existent program MTABLE will automatically run program MPLOT.

  2. If the scalar not can be found in the *.resu-file, program MTABLE will continue to look for the scalar in the *.print-file.

  3. If the scalar not can be found in the *.print-file, program MTABLE will continue to look for the scalar in the *.mp-file.

  4. If the scalar not can be found in the *.mp-file, program MTABLE will continue to look for the scalar in the *.id-file.

Program GPLOT

  1. Animation of forces.

  2. Take the motions of the coordinate systems into consideration when animating time-history results and modal analysis.

  3. The symbols are following the body when it moves.

  4. A new key-control "a" which performs an animation with a total update of all bodies and symbols.

  5. New resolution 1600x1200.

  6. Pushbuttons in the pulldown menu area has been introduced where the user fast can zoom and move the model. Continuos animation has been introduced where the user start and stops the animation by pushbuttons.
  7. New body shape car_522, car_lsys_522 and car_mass_522 which is similar the the box_522 command but it has a railway vehicle front in the a0 end.

Program NPICK

  1. Read the contents of the Patran Neutral File into the primary memory of the computer. The number of the nodes are stored in vector nodeg and the coordinates are stored in coorg. Total number of nodes which can be stored in the primary memory of the program is defined by parameter knodes in subroutine com_np.

  2. New command FEM_XMIRROR which makes it possible to make a mirror in the yz-plane.

  3. Generation of passengermodels.

Program OPTI

  1. Program OPTI now starts all programs with subroutine comand. The subprogram is given in command SUB_PROG.

  2. Automatic storing of variable ident_no if command write_ident_no= yes has been given.

  3. When testing tolerances, test both absolute and relative tolerances, according to the following formula:

Program Group KPF

Program KPF
  1. The default values for KPFR_FILE and POSTFI has been changed. Now they have the same basename as the ident.

  2. Wheel profile wear according to T.Jendel:s licentiate thesis.

  3. If all wheels on all vehicles shall have the same wheel-rail geometry function, this can be possible if the geometry function is defined in the following way:
     ## Define wheel-rail geometry functions        
     ## ====================================        
       insert file  kpfr/S1002_uic60i40.kpfr        
       in_substruct kpf_S1002_uic60i40 [ " " ]      

  4. Faster execution in program KPF now only 5-6 seconds on a Pentium II computer.

  5. If ILASER=6 the lines will be plotted in color. Black for the tread and blue for the flange.

  6. Input data parameter IPLOT3 can be given the value 2, which suppresses the contact pressure diagrams and only draws the connection diagrams.

Program KPF_ROT
  1. Do not bother if not the Y-axis is consecuently increasing, due to measurement errors this an happen.

  1. Change the sign of psipos, because it was defined in the opposite direction.

Program Group TRACK

  1. Possibility to calculate RMS-values according to CEN/TC 256, has been added.

  1. New program calculating the Qnumber of a track written in STRIX-format.

  1. The program has been splitted into two parts TRC_STRIX_TEST and TRC_STRIX_TRACK. Program TRC_STRIX_TEST generates a list of which parts in the STRIX which are possible to translate into TRACK-format. The coordinates is then transferred over to program TRC_STRIX_TRACK in which the translation takes place.

Program TRC_IPSD
  1. The units given for the spectras has been changed from [m*m/rad/m] to [m*m/1/m]. The units given for the spatial frequensies has been changed from [rad/m] to [1/m].


  1. Include option -no_qread_runf and -no_qident to npick_opts, predat_opts and kpf_opts .

  2. Remove extension .frespf, .modalf, quasif and tsimf when starting the calcp-script without a filename as argument.

  3. New scripts CONV_STRIX2KPF_RIGHT and CONV_STRIX2KPF_LEFT which translates a STRIX measured rail into rail profiles which will fit in program kpf.

  4. In program MPLOT a new option -interactive has been introduced, which replaces the -ts-option.

  5. In file gen_conf a new environment variable is defined $opti_opts, which controls the behavior of program OPTI.

  6. When using the del-command for deleting files, the user will be prompted if no files could be found.

  7. In the default file $gensys/scripts/gen_conf the option for program MPLOT have changed to -save_mp.

  8. New option -addarg which allows the user to change arguments before launching the calculation.

  9. In script pri a new option -frame has been introduced, which makes it possible to select to print only certain diagrams from a plotfile.

  10. In script MPLOT a new option -use_MPfile has been introduced, which use existing *.mp-files without prompting the user.


  1. The documentation is written in frames.

  2. A java search engine is included in the manual.

  3. A tutorial is included in the manual.


  1. Program GENCRYPT a new program, which encrypts a input data file for program CALC.

  2. Program MEDYNA_GENSYS a new program which translates an input data file for medyna into an input data file for gensys.

  3. Wind loads due to train speed should always be present.

  4. Tail coach oscillation problems due to wake oscillation.

  5. Simulation times:
    Sun Sparc1 170 MHz, 128 MB RAM och SunOS = 23.67 [s]
    Pentium II, 266 Mhz, Linux = 12.12 [s]
    Pentium II, 300 Mhz, Linux = 11.58 [s]
    HP J2240, 236 MHz, 2048 MB RAM = 7.46 [s]
    HP N8000, 400 MHz, 512 MB RAM, HP-UX 11.0 = 3.75 [s]
    HP C3000, 400 MHz, 512 MB RAM, HP-UX 10.20 = 3.52 [s]
    Athlon 850 MHZ, 256 MB RAM, Suse Linux 6.4. = 3.10 [s]
    HP C3000, 400 MHz, 512 MB RAM, HP-UX 11.0 = 2.60 [s]
    Thunderbird 1200 MHZ, 256 MB RAM, Suse Linux 7.0. = 2.28 [s]
    Pentium IV 2.26 GHz, 512 MB RAM, RedHat 7.3. = 1.76 [s]

  6. The length of all filenames has been increased to 132 characters.

  7. New graphic output format ilaser=7 which gives plotfiles written in eps-format.

  8. New script rotate_eps which rotates an eps-file 90 degree from landscape into portrait.

  9. Program KC_PROP has been complemented with the commands FSTART, FSTEP and FSTOP.

  10. Program FUNC has been complemented with a new filter HPASS2_0.


Checking the list of items from last meeting.


Following items were discussed at the meeting, and the goal is to include these items in rel.0103.

Items to be included in a future release of GENSYS.

Following items were not discussed at the meeting, but they remain as low priority items to be included in a future release of GENSYS.


GENSYS info-mails


Info-mail regarding creation of wheel- and rail- profiles from drawings

In drawings new ideal wheel- and rail-profiles are often determined in circles and strait lines, in this case program FUNC can be used in the creation process of the profile.

Create a strait line:

 #        Input data for program func                           
 #        Create a strait line                                  
  FUNC = pline_1                                                
  DX   = .1                                                     
 #           x1,      y1,   x2,   y2                            
  FIN  =    -40.0 -0.400,  50.0 0.500                           
  DATA = SNGL                                                   
  UTFIL= new_railprof.rail FORMUT = SNGL  TYPE_UTFIL = APPEND   

Create a part of a circle:

 #        Input data for program func                                   
 #        Create a part of a circle                                     
  FUNC = circle                                                         
  DX   = .1                                                             
 #          x0,  y0,    R,   x1,  x2,  side                             
  FIN  =    0., +100., 100.,-32.5, 32.5,  -1.,                          
  DATA  = SNGL                                                          
  UTFIL = new_railprof.rail    FORMUT = SNGL  TYPE_UTFIL = APPEND       

Info-mail regarding one-sided or double-sided wheel-rail geometry functions.

The wheel-rail geometry functions can in the preprocessor KPF be generated one-sided or double-sided. If the profiles are defined in the commands HFIL and RFIL, program KPF will generate a one-sided wheel-rail geometry function, because both sides of the axle will have the same profiles. If the profiles are defined in the commands WRFILE, WLFILE, RRFILE and RLFILE, program KPF will generate a double-sided wheel-rail geometry function, because we have different profiles on the two wheels of the axle.

 # Define a one-sided wheel-rail substructure-file                      
 # ------------------------------------------------------------------   
 insert file  kpfr/S1002_uic60i40.kpfr                                  
 # Use the defined wheel-rail substructure-file                         
 # --------------------------------------------------------------       
 in_substruct kpf_S1002_uic60i40 [ ' ' ]  # All wheels in the train-set 
 in_substruct kpf_S1002_uic60i40 [ 2 ]    # All wheels in vehicle #2    
 in_substruct kpf_S1002_uic60i40 [ 121r ] # One specific wheel          
 in_substruct kpf_S1002_uic60i40 [ 121l ] #                             
 # Define a double-sided wheel-rail substructure-file                   
 # ------------------------------------------------------------------   
 insert file  kpfr/measured_profiles.kpfr                               
 # Use the defined wheel-rail substructure-file                            
 # --------------------------------------------------------------          
 in_substruct kpf_measured_profiles [ ' ' ]  # All axles in the train-set  
 in_substruct kpf_measured_profiles [ 2 ]    # All axles in vehicle #2     
 in_substruct kpf_measured_profiles [ 121 ]  # One specific axle.          

Info-mail regarding wheel-rail prestress force

Beräkning av kontaktkraften
Kontaktkraften mellan hjul och räl beräknas i den linjära eller olinjära styvheten knwr och dämparen cnwr. Kontaktkraften som benämnes cpt_111r.Fn beräknas genom en summering av de tre komponenterna:
- Deformation i styvheten knwr.
- Deformationshastighet i dämparen cnwr.
- Förspänningskraften knwr_r.F0

Positivt tecken
En sak som man skall tänka på när man ger förspänningskraft i kontaktpunkten är att förspänningskraften skall vara positiv. När kopplingen mellan hjul och räl definieras så anges rälen som kropp nummer 1 och hjulet som kropp nummer 2, därför skall förspänningskraften ges med positivt tecken.

Förspänningskraften stämmer inte
Om man i sin indatafil har angivit rätt förspänningskraft men det blir ändå inte rätt kraftbalans i kontaktpunkten, kan det bl.a. bero på följande 2 saker:

  1. Spårvidden.
    Den aktuella spårvidden där vagnen befinner sig vid tiden 0 avviker från nominell spårvidd. Genom att hjulen normalt är koniska så medför det att om spåret är vidare än normalt så når inte hjulet ned till rälen, och om spåret är trångare än normalt så trycks rälen in i hjulen. Bägge fallen medför vibrationer i simuleringens början.
  2. Kontaktpunktsfunktionen.
    I preprocessorn KPF finns en indatavariabeln som heter IZERO, där användaren kan styra om KPF skall nollställa kontaktpunktsfunktionerna drkp och zkp eller inte.

Om IZERO=1 beräknas drkp och zkp med sina rätta värden, men det kan då vara svårt att veta hur förspänningskraften skall ges eftersom kontaktpunkten endast approximativt ligger på löpcirkeln vid ideala förhållanden.
Om däremot IZERO=0 parallellförskjuts drkp och zkp så att drkp(0)=0 och zkp(0)=0, vilket medför att deformationen i knwr är 0(noll) då axeln står centrerad i ett spår med ideal spårvidd. I de fall man på enkelt sätt önskar ställa förspänningskraften i kontaktpunkten skall IZERO=0 användas.

Hertz'k kontaktstyvhet
Används en Hertz'k kontaktstyvhet i kontaktytans normal d.v.s. pknwr=0, skall inte en förspänningskraft ges. Ty den Hertz'ka kontaktstyvheten har en olinjär karakteristik där normalkraften blir proportionell mot intryckningen höjt till 3/2. Anges en förspänningskraft här så kommer inte intryckningen i kontaktytan att stämma, och därmed kommer även tangentstyvheten i arbetspunkten att bli fel.

Önskar användaren simulera slipersstörningar genom att variera vertikalstyvheten i spåret, skall inte heller någon förspänningskraft ges, ty annars bär förspänningskraften upp hela fordonet och styvhetsvariationerna får ingen effekt.

I en tidssimulering gör det inte så mycket att kraftbalansen i kontaktpunkten i början inte är fullständig, ty det rättar till sig mycket snabbt p.g.a. att styvheten mellan hjul och räl är i sammanhanget en mycket hög styvhet.

Modal och Fresp
I programmen Modal och Fresp är det mer viktigt att det råder kraftbalans i kontaktpunkten, ty här sker ingen tidssimlering som kan rätta till det. Varför i dessa fall rekommenderas att alltid göra en quasistationär beräkning först innan Modal eller Fresp tar vid. Programmen Modal och Fresp kan med fördel exekveras med option -quasi, ty då sker automatiskt en quasistationär beräkning innan Modal eller Fresp tar vid.