×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Is Visual Basic powerful enough for learning FEA ?

Is Visual Basic powerful enough for learning FEA ?

Is Visual Basic powerful enough for learning FEA ?

(OP)

Hi colleagues. I would like to know your opinions about this question. I am a civil engineer and i am interested in FEA for analysis of shells, among other things. All answers appreciated. Thanks,

Victor

RE: Is Visual Basic powerful enough for learning FEA ?

I's relatively easy to develop your own Visual Basic software for FEA, the difficult part is the graphics and creating the model with the minimal of effort. Unless you have a lot of spare time on your hands then it's better to get some free software, or buy it.   

corus

RE: Is Visual Basic powerful enough for learning FEA ?

One of the open source FEA projects is written in Java. I wouldn't want to use it for a large model, but it certainly emphasises that even a slow interpreted language is fast enough on today's PCs.

Cheers

Greg Locock

RE: Is Visual Basic powerful enough for learning FEA ?

Victor,

I too am a civil engineer with the intention of using VB for FEA analysis.  In fact I've just finished my first 'program' in VBA (not quite VB, but very similar) for elastic torsion of open section members – not very difficult I know, but a fair starting point.  I find that pure VB is a bit of a pain in the neck when it comes to user interface, too much work to pretty it up... VBA for Excel provides a nice flexible familiar environment.

As it happens, I too plan on going on to shell elements, however I do not have enough technical knowledge yet, and am studying the material.  I think though I will only likely remain in the area of 1000 elements or so – matrices get pretty big pretty fast.  I think much larger than that and I will have to start using fancy numerical techniques which I do not know yet...

DRW75

RE: Is Visual Basic powerful enough for learning FEA ?

To keep a check on the number of elements, consider using the p-version FE.  This accuracy of this method relies less on the number of elements and more on the mathematical routine to solve.

Regards,
Qshake

Eng-Tips Forums:Real Solutions for Real Problems Really Quick.

RE: Is Visual Basic powerful enough for learning FEA ?

(OP)
DRW75,
  Tell me why you'll only be able to work with a limited number of elements (1000 as you said). I am about to start learning programming and up to now i do not know which language to choose (visual basic,matlab,c++..). Please give me some advice, thanks,
 Victor

RE: Is Visual Basic powerful enough for learning FEA ?

Victor

All serious (i.e. Abaqus, Ansys, Lusas, Nastran ..... etcetera) FEA software is written in Fortran despite the fact that Fortran probably isn't taught anywhere any more and the mere mention of the name brings sneers and derision from C++ , C# and VB programmers. It does however lend it self very naturally to mathematical based programming and is really very simple to use. Salford software have a free download of their Fortran77 and Fortran95 compilers at

http://www.salfordsoftware.co.uk/software/downloads/compilers.html

They have a good graphics library plugin (but you will probably have to pay for that)

RE: Is Visual Basic powerful enough for learning FEA ?

Victor

If you interest is learning FEA i would recommend mathlab, it has a lot of the required numbercrunching "built in". If you are prepared and set on doing your own matrix solvers etc any language can do that. Looking att speed Fortran and C++ are generally speaking muck faster and much stronger.

Your choice would, in my humble opinion, be very much connected to what exactly you want to study.

I once heard a professor say that building it in matlab takes a week and it executes in a day. In Fortran building it takes a month and executing it takes a minute. That is putting it to the extreme but it gives an indication of the effort.

By the way, as far as I know some of the serious software is written in Fortran (that is what I was taught in grad school) but the "real" numbercrunching is, as far as I know, written in assembler. Assembler is the way to go for "real" speed. However, it's not very userfriendly.

Regards

Thomas

RE: Is Visual Basic powerful enough for learning FEA ?

Victor,

I only have knowledge of VB, VBA, (several other permutations of basic programming language), and some knowledge of fortran77, and was introduced to matlab.  I would have liked to learn C++ and others, but never had the opportunity, and all I can really speak of is basic and fortran.  

The reason why I mentioned 1000 elements was due to the fact that the matrices that result from analysis can get very large very fast based one the number of elements/nodes. You could go with larger numbers than these, but bear in mind going from 1000x1000 to 10,000x10,000 is a big step    

VBA for excel provides a nice familiar environment (if you've used excel before) to 'construct' things.  You don't have to go to as much effort as you do with some programs for the user interface, and the excel environment itself can be the interface.  Of course, if you are crunching major numbers 10000-100000+, the excel environment may be an extra computing overhead that could effect performance of calculations substantially.  How many shell elements do you plan on analyzing in general?  If you are taking about large numbers, you will likely need Fortran or some other language to do the postprocessing (number crunching), but you can still use Excel VBA as a preprocessor (input).

(Hopefully I haven't misused any FEA terms – and if I have, my apologies to the FEA gurus out there)

DRW75

RE: Is Visual Basic powerful enough for learning FEA ?

Victor,

As well, if you are looking at analyzing huge systems, then you probably should consider a commercial package like ANSYS or whatever.  That is their business, and if you have major numbers to work with, those kinds of packages are geared for that.  They tout being able to do 1,000,000+ DOF problems, and if this is the range you are working in, best to stick with what's available.  They have techniques and tricks to reduce the number of calculations required, such that you would likely need a ph.d in math to help optimize your code.

Having said that, I could use commercial packages, but I would prefer to use my own 'software' since I know exactly how it works.  I am leery of the black box solution where all the answers just appear after a few keystrokes.  I don't particularly like to bet my career on a black box.

DRW75

RE: Is Visual Basic powerful enough for learning FEA ?

1000 elements isn't a big job. What you're forgetting is that the equations are generally symmetric and banded and hence need less space, and less computation. There are also sparse banded solvers that can improve the computations. Wave front solutions are another method, though I'm not familiar with that one. All of these methods are available and described in books.

corus

RE: Is Visual Basic powerful enough for learning FEA ?

Corus,

Absolutely agree that 1000 is pretty basic as far as FEA goes.  For my purposes, creating my own software to analyze the problem however, seems to generate a pretty good size matrix.  I can't speak from experience of creating software that handles large numbers, so I can't say for sure that 1000+ is large for a 'home-grown' package.  Have you or anyone created their own software (in VB, C, FORTRAN, or whatever) with large numbers of elements (10 000+ say)?  If so, where does it seem to start to have mathematical computational difficulties (long process times, not numerical problems).

I am, for the purposes of this discussion, not considering symmetry and/or banded matrices since it would be in the best interest of any FEA user to make use of such mathematical phenomena regardless.

DRW75

RE: Is Visual Basic powerful enough for learning FEA ?

DRW75, Most problems I've written FE programs for are 2D and have at most 2000 elements. This is by choice, however. The run-time is about 20 seconds, but that is using the fact that the matrices are banded and uses such algorithms for solving the problem.

You don't need a PhD to use these algorithms as they are available in text books just as gaussian elimination is available for handling the full matrix. If you dont trust the results then check them against other 'free' FE codes, or simply by hand calculations.

The advantage of the major software producers is that they can handle complex geometry easier. The preparation of the model geometry can be the biggest part of the problem so that is where they have the advantage. If you're just using assessing simple geometry then home grown software can be a cheaper alternative. The only problem is that companies prefer results to come from reputable software. Although many of these major software companies produce code that has bugs in them, they are the preferred option if you're producing results for an outside company. In any case, whatever the source of your FE model you should check the results regardless.  

corus

RE: Is Visual Basic powerful enough for learning FEA ?

Thank-you on the Fortran front. Not a dead language especially when it comes to 0.000000000000etc37416 x .......... on a banded matrix, double precision for sure.  Fortran 77 still using my Microsoft compiler on a 486. Just spits out piles of numbers.  Like it that way.

RE: Is Visual Basic powerful enough for learning FEA ?

corus,

Fair enough, you probably don't need a PhD to code some of these algorithms (I was perhaps a bit too hasty), but I think you should have a good understanding of the math and assumptions behind them I suppose, which will require a certain amount of research and investigation.

What was you FE analysis completed in?  20 seconds is pretty good for 2000 elements. What type of analysis was it?

DRW75

RE: Is Visual Basic powerful enough for learning FEA ?

DRW75, the answer is a thermal analysis. This is obviously quicker to compute as only one degree of freedom exists per node. I believe that the computation varies with the square of the unknowns, so a problem with 2 dofs (such as a 2D plane stress/strain problem) would take 4 times as long. Obviously the time also depends on your computing power.

I'm not so certain that you need a good understanding of the maths and assumptions behind the algorithms for matrix solvers before you can use them just as I don't need to know how my tv works in order to watch it. You may be worried more about iterative solvers and when convergence has been obtained however, but for direct solvers they work in all cases. One check that is made in direct solvers is checking for zero diagonals. This indicates that either the stiffness matrix of an element is zero or the boundary conditions haven't been described properly. This is usually described in solvers as a zero 'pivot' and prevents division by zero when solving. Only a poor software developer would omit such a check.

For the development of the general FE code you would need an understanding of the principles behind the code, as I have seen some instances where the software was wrong in theory. As I said before you should check the code anyway using a wide variety of problems to check it's validity, bearing in mind that FE is only an approximate solution and does have its limitations.

corus

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources