Linux Package to Simulate Mechanical Systems

In summary, Fred is looking for a free/libre CAD system that can do dynamic analysis. VARKON and BRL-CAD are two such systems.
  • #1
syberraith
42
0
I want to start modeling mechanical systems, something say on the order of a motor, input torque only needed, driving a crankshaft that drives a piston. I'm looking to examine the forces generated in the crank, connecting rod and piston. I was wondering what open source Linux packages are available to do this. Would z88 do? I have years of experience with SPICE modeling, so I guess I'm looking for a mechanical equivalent.
 
Engineering news on Phys.org
  • #2
BRL-CAD?
Military grade solid-modelling package.
I don't know how complete it is...

In repos I see mostly physics engines for computer programmers.
 
  • #3
That looks awesome. I've been looking for a CAD program for a long time. I actually stopped looking for a free one because they were so difficult to learn and different from each other. BRL-CAD looks worthy of the time and effort to climb up it's learning curve.

If I may ask some clueless questions: In general how does a constructive solid geometry modeling system differ from a finite element analysis system? Do they serve different purposes? Can they both do dynamic force analysis?
 
  • #4
You'll see there is an offshoot specialized to simulate munitions.

Whenever someone says "there are no good free/libre-software CAD systems" this is my goto model. The objections then tend to center around the lack of a GUI because what they really mean is that their personal favorite CAD system is not free software.

CGS modelling is a computational convenience from it's original purpose in modelling munitions.
The military application is central to the development - lots of the libs will be irrelevant to designing and analyzing an engine.

But if you want details, I'm afraid you'll have to ask the devs.
There is a lot of info on the site and tutorials around the place.
It is a very long time since I've used anything like it, so I'm sure it is quite different now.

If you have Ubuntu or derivatives, there is always:
sudo apt-get install varkon*

From the package description:

VARKON is a high level development tool for applications in the
area of Engineering, Computer Aided Design and Product Modelling.

VARKON can be used as a traditional CAD-system with drafting,
modelling and visualisation if you want to but the real power of
VARKON is in parametric modelling and CAD applications development.
VARKON includes interactive parametric modelling in 2D or 3D but also
the unique MBS programming language integrated in the graphical
environment.


There's actually quite a few - search for CAD in synaptic.
Most are specialized - like architecture or sailmaking. Nature of Open Source dev.

I've never had to model more than the shape of something so I have no experience using CAD packages for analysis.
 
Last edited:
  • #5
I've been reading up on this a little. I'm still looking for how to do dynamic analysis. The testing I've seen so far has to do with static forces and material strength rather then dynamic loading during operation.

Anyway I can do the dynamic modeling crudely with math and make an animation with Blender, which I have used before, until I figure something else out.

Thanks,

fred
 
  • #6
That's largely what I do yeah.

Why not ask them? I see BRL-CAD will do movement, so presumably you can apply a series of instantaneous models to get a dynamic result a la numerical methods. You can't be the first person to want to do what you want to do so ask.

Similarly with Varkon, one of the tutorials is supposed to have an example of an engine model.

I doubt you'll find any CAD system which does general dynamical analysis ... so you'll need to be specific. Good luck and happy hacking.
 
  • #7
There are a whole range of different "levels" of dynamic analysis that you could do on your type of structure. Probably a good place to start would be with software aimed at modeling robot arms and such like, which will treat your structure as a set of rigid parts with mass and inertia properties, jointed together. That will be able to calculate the accelerations of the parts through the complete rotation cycle, and the forces between them.

If you then want to do a detailed analysis of an individual part (for example finding the stresses in the connecting rod bearings) you could take the forces and accelerations from your dynamics model and apply them to a detailed finite element model of just that part. The point of doing that is to reduce the dynamics analysis to equivalent static stress analyses on the various parts (each one at the worst loading conditions for that particular part, which will probably occur at different times in the rotation of the crank system), whcih is much cheaper than trying to run a dynamics analysis on a complete detailed model.

There may be some manual iterations required here, because if you decide to change the shape of a part when you see the stresses, the change in mass will affect the loads in ALL the parts, not just the part you changed.

To do the analysis "all in one go" you would need the sort of software that is used to do car crash simulations etc. But that is almost certainly overkill since (presumably) your crank system is not going to have any permanent plastic deformation, and running large models is time consuming. At work, we run those type of models on seriously large multi-CPU systems (e.g. 64 processors), and some of the models run for literally weeks. That's probably not the place you want to start from!
 
  • #8
AlephZero said:
There are a whole range of different "levels" of dynamic analysis that you could do on your type of structure. Probably a good place to start would be with software aimed at modeling robot arms and such like, which will treat your structure as a set of rigid parts with mass and inertia properties, jointed together. That will be able to calculate the accelerations of the parts through the complete rotation cycle, and the forces between them.
That sounds like just what I'm wanting.
If you then want to do a detailed analysis of an individual part (for example finding the stresses in the connecting rod bearings) you could take the forces and accelerations from your dynamics model and apply them to a detailed finite element model of just that part. The point of doing that is to reduce the dynamics analysis to equivalent static stress analyses on the various parts (each one at the worst loading conditions for that particular part, which will probably occur at different times in the rotation of the crank system), whcih is much cheaper than trying to run a dynamics analysis on a complete detailed model.

There may be some manual iterations required here, because if you decide to change the shape of a part when you see the stresses, the change in mass will affect the loads in ALL the parts, not just the part you changed.
That would be overkill at this point.
To do the analysis "all in one go" you would need the sort of software that is used to do car crash simulations etc. But that is almost certainly overkill since (presumably) your crank system is not going to have any permanent plastic deformation, and running large models is time consuming. At work, we run those type of models on seriously large multi-CPU systems (e.g. 64 processors), and some of the models run for literally weeks. That's probably not the place you want to start from!
So you do car crash testing, huh?

A few decades ago I almost go a job at Breed Corp in NJ as a fortran programmer back twhen they were using UNIVACs 6000s I think. The girl who was doing the hiring said she didn't want to hire anyone smarter then herself. Looking back, it was rather dumb of me to play the smart one... :)
 
  • #9
Simon Bridge said:
That's largely what I do yeah.

Why not ask them? I see BRL-CAD will do movement, so presumably you can apply a series of instantaneous models to get a dynamic result a la numerical methods. You can't be the first person to want to do what you want to do so ask.

Similarly with Varkon, one of the tutorials is supposed to have an example of an engine model.

I doubt you'll find any CAD system which does general dynamical analysis ... so you'll need to be specific. Good luck and happy hacking.

I've downloaded the four BRL-CAD tutorials. I'll have to dig into that a bit. I'll look at the VARKON stuff too.
 
  • #10
I believe all the CAD apps mentioned lack what's called a physics engine, which is what I heed to do the dynamic modeling. I did find out that Blender, which is really for 3d animation does have a physics engine. So. it looks that that will do.
 
  • #11
By the way I did find another app, Working Model 4, made by Autodesk that would do, although being made by that company it as to cost BIG $$$.
 
  • #12
The general term is "multi body dynamics" if you want to do a web search. "Physics engines" are a subset of that - often developed for computer games where accuracy may be less important than speed, provided the answers don't "look obviously wrong".
 
  • #13
I've been doing searching. There are some possibilities, although I think I'm looking at a substantial learning curve for what ever I end up using.

Since I lack the funds to build a real prototype, the next best thing is to show somebody a simulation right?

People just look at my math, and then say I'd like to see one work before anything else. So what else have I to do except build a simulation model.

***

Hey Aleph,

I found an app called Step that looks like it will be fairly easy with which to get going. I just hope it has the capability to do what I want.

fred
 
Last edited:
  • #14
What are you trying to simulate?
 
  • #15
Basically it's a mass the rotates about a axis with an angular position that is a function of time.

Step is too simplistic. Arbitrary rotation is beyond it. I might be able to use it's core library and code something myself, although I wonder how I would visualize it.

***

Aleph,

I'm having much better results searching for 'Mulitbody Dynamics' their are a number of packages that will do.
 
Last edited:
  • #16
A windmill? I gyroscope? An overbalanced wheel?
That could describe anything!

You know the result you get from whatever package you pick will only be as good as the numbers you put into it?

Oh this is your thruster?
pm me.
 
  • #17
If all else fails use WINE + Windoze software...
 
  • #18
Yeah - even linux geeks can enjoy malware-ridden windows freeware xD

There are plenty of packages - it's just that there are fewer niche programs - some may start out that way, but if they are any good they get added to until they are general. Proprietary development benefits from restricting use with the side effect that a high demand area will have a program that does almost exactly what you want right away.

I've seen people go to Windows for quickie stuff and back to some gnu/linux when they want a workhorse. But mostly you use what you got.
 

1. What is a Linux package for simulating mechanical systems?

A Linux package for simulating mechanical systems is a software tool that allows users to create and run simulations of mechanical systems on a Linux operating system. It typically includes a user-friendly interface and a range of tools and features for designing, analyzing, and visualizing simulations.

2. What are the benefits of using a Linux package for simulating mechanical systems?

Using a Linux package for simulating mechanical systems offers several benefits, such as cost-effectiveness, compatibility with open-source software, and the ability to customize and modify the code for specific research or industry needs. It also provides access to a vast community of users and developers who can offer support and collaborate on projects.

3. How do I install a Linux package for simulating mechanical systems?

The installation process for a Linux package for simulating mechanical systems varies depending on the specific package and your Linux distribution. However, most packages can be installed using a package manager, such as apt or yum. You can also download the package from the developer's website and follow their installation instructions.

4. What types of mechanical systems can be simulated with a Linux package?

A Linux package for simulating mechanical systems can be used to simulate a wide range of systems, including but not limited to, rigid bodies, multi-body systems, fluid systems, and control systems. It can also simulate various physical phenomena, such as structural mechanics, heat transfer, and electromechanical systems.

5. Are there any limitations to using a Linux package for simulating mechanical systems?

While Linux packages for simulating mechanical systems offer many benefits, they may also have limitations. For example, some packages may have a steeper learning curve, require coding knowledge, or have compatibility issues with certain hardware or software. It is essential to research and compare different packages to find the one that best fits your needs and capabilities.

Similar threads

Replies
9
Views
2K
Replies
58
Views
5K
Replies
1
Views
245
Replies
4
Views
539
Replies
10
Views
2K
Replies
9
Views
2K
  • General Engineering
Replies
5
Views
3K
  • General Engineering
Replies
2
Views
1K
Replies
2
Views
832
  • Mechanical Engineering
Replies
9
Views
2K
Back
Top