Part 1: What do all these words mean??
For the past couple of years Ansys has been running code fests at various universities around the world. Perhaps most notably at Cornell University (because they wrote an article about us!). These events have had a variety of formats, but ultimately we have settled on a mechanical/structures challenge in the form of a (currently) private python library called ansyscodefest
. We are in the process of developing this to the point it can be released for free on the developer portal, but it is not quite there yet. For now it is distributed on a case-by-case basis (usually at events we run). We have also begun running a similar series of events we call "PyBake", initially in conjunction with PyCon, which uses this library although we hope to extend these events to digital events on our forum in the future as well!
P.S. If you'd like to try out the tool or have us run a dedicated event at your company/institution please do reach out to me at james.derrick@ansys.com.
The basic problem is thus:
You have a 2D side-on view of a chasm, represented in a square grid format with nodes at each vertex. Each node is separated from its neighbours by 1 m of space in the directions: up, down, left and right, (and sqrt(2) m
diagonally). You must construct a bridge connecting the nodes labelled 1
and 2
out of bridge elements/beams. Beams can be created by linking two neighbouring nodes. There will be a LOT of beams and nodes in your solution! Each beam can be made out of one of 16 different materials and can have one of four possible cross-sections. Given a known load on the beam, and a known load path that you also have to specify, what is the cheapest bridge you can build?
This can all be a bit overwhelming at first glance, and to alleviate this somewhat, we provide a suggested design to get you started that solves the problem... but not well. It is certainly one of the answers of all time.
OK, so how do you do "OK" given the above? That's what this article is about. How to take the latest iteration of the ansyscodefest
and get a reasonable result whilst putting in the absolute minimum effort to do so.
The lowest of effort solutions
Over ~1 hour of work with some simple changes I was able to achieve a sub-1000 dollarydoo answer. Here's how!
There are a lot of moving parts in this problem, so if we want to make things easy for ourselves, let's get rid of as many as possible. We are given a suggested design that costs ~$150,000, which is a lot, but serves as a good watermark to measure success against. With the following work I will demonstrate how we can get the cost under 1000 USD without having to try much at all.
Check out Part 2 to see how we can start simplifying the problem.