Home GASolver Download Installation Registration Step by Step Reference Support About Us Contacts EMail Us

GASolver Sample 3

This is a complete and real example from the world of F1 motor racing design which was created by Yearstretch in partnership with one of our client teams

Sample 3

Flexure Mass Minimisation

This lesson will show a complete and real example from the world of F1 motor racing design created by Yearstretch Limited in partnership with one of the teams.

The Problem

Flexures are used at the inner end of the wishbones where they connect to the monocoque. Road cars use rubber bushes on their suspension joints, racing cars normally use a spherical bearing but Formula 1 cars have moved towards flexures to reduced weight, friction and eliminate potential wear in the suspension system. A flexure is a solid machined component, normally titanium, which is bonded into the inner ends of the wishbone legs, where there used to be a bearing there is now a simple plain hole that is used to bolt the wishbone to the chassis. The flexure simply bends or flexes as the outer end of the wishbone moves up and down with the rest of the suspension. As there is less than 2 inches of suspension movement at the wheel the angle through which the flexure has to bend is minimal hence allowing the use of this simple but strong design.

The flexure needs to bend enough to accommodate the designed suspension movement and must contain sufficient metal so as not to fail during use. Like all motor racing parts the flexure needs to be as light as possible which means it must be as small as possible and therefore use as little volume of metal as possible. The smaller the dimensions of the part the lighter it will be thus we seek to minimise the size of the part as long as it will also meet the bending and strength requirements.

The known factors of the chosen metal are entered as constants as are the expected maximum loads and the required suspension arm movement.

The unknown values we wish to solve are the dimensions of the active part of the flexure, e.g. the size of a plain rectangular piece of solid metal with length (measured along the suspension arm axis), width (measured from front of the car to the back) and thickness (measured from top to bottom) being open to design.

The spreadsheet model uses a standard method for calculating the flexibility and strength parameters and includes a strength safety factor calculation whose resultant value must remain at or above 1 for a valid solution.

To start Sample 3:

  1. Run GASolver by clicking the GASolver desktop icon.

  2. Open Sample3.xls from the folder where you installed GASolver (the default folder is c:\program files\yearstretch GASolver\sample1.xls) OR run Start | Programs | Yearstretch GASolver | Sample3.

  3. The settings for Sample are contained in the Sample3.txt file which may be loaded into GASolver by pressing the button from the main dialog and locating the folder where you installed GASolver (the default folder is c:\program files\yearstretch gasolver\sample3.txt).

Description of Sample 3


Cell B25 is our target, e.g. the resultant volume of the design. Our aim is to minimise this figure. The calculation calls a macro named Stress that returns a value to cell B25.

Input Range 1

Cell B21 contains one of the three dimensions of our part, the metal thickness. This is an input value to the calculation and is therefore changed by GASolver when it looks for solutions. However, for manufacturing reasons we wish this value to remain between a minimum of 3mm and a maximum of 5 mm. We could add another output constraint to check that GASolver had produced a thickness within that range, but this would be less than optimal as output constraints are very CPU time expensive in that they require an entire solution to be created and only then can the output value to be checked to see if it is acceptable. If not acceptable then the entire possible solution has to be discarded and the CPU time used in creating it was thus wasted! To control input cell values it is far better to specify the allowed range of values within an input cell range constraint if possible. This method ensures that the required values are created along with the solution rather than after it. Cell B21 has a creation range of a minimum 3 and a maximum 5.

Note that all the input cell values ranges are to be integers as this is far faster to process although we might be able to refine our solution if we can say allow ourselves 2 decimal place per dimension e.g. 1/100th mm in manufacturing terms but for most practical purposes integer mms here are good enough.

We have not checked the 'Non-zero values only' box as the creation range of 3-5 will not anyway create a non-zero value and a check for non-zero values takes yet more CPU time which we would far rather use to create new solutions.

We do not wish to expand the range of values automatically so that box is left unchecked. Range expansion is rather dangerous in that it can rapidly widen the space within which we are searching for solutions so it must be used with care. In fact it should only be used if one can start from a valid solution and then check the range expansion if no better one can be found. If searching for a first solution from scratch then do not use range expansion at all until a reasonable solution has first been located.

Input Range 2

Cell B20 contains the value for the width of the flexure. We wish this to be 25mm or less and so we set the value creation range to be between 10 and 25.

Output Constraint

Cell B24 contains a result of the calculations so cannot be controlled with input seed ranges. The RF value must be a minimum of 1 or the part will fail in use. As this is a result of the calculation rather than a value that we will feed into the calculation, we must use an output cell value constraint to ensure the value is as we need it to be. You can see the constraint in the figure above as $B$24 Greater than or equal to 1.


By clicking on the start icon and checking Evolve a solution from scratch and Halt solver manually we can start solving.

Fairly soon evolution will progress to the point where improvement per generation tails off towards a reasonable solution.

After about half a minute we may see 200 or so generations, of 50 new solutions each, producing a best design flexure from a choice of 10,000 or so possible flexures. The best shown here is 77mm long, 25mm wide and 3mm thick.

Allowing GASolver to continue solving, by clicking the Solve icon and selecting Continue solving from here, may yield better solutions in time.

See also Sample 1, Sample 2, Adding Constraints, Changing Constraints, Using Constraints, Input Cell Conditioning


Any questions or comments about this site or page should be addressed to gasolver@yearstretch.com

Copyright 1995-2020 Yearstretch Limited. Legal and Privacy statements.

Go to the top of the page