Download the latest versions of the best Mac apps at MacUpdatematlab for mac free download - Matlab, Matlab, Image Processing Toolbox for Matlab, and many more programsMatlab integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing.
1) Sharing information, knowledge, experience related to the principles and practice of all types of engineering: civil, structural, mechanical, electrical, aerospace, chemical, computer, environmental, etc. 2) Questions about current engineering projects you are working on, how to interpret codes and standards, and industry practice are all encouraged. Engineers should help each other to make the world a safer and better place. 3) Images related to engineering are accepted provided they are relevant to engineering.
Completed projects, destructive test results, and unique machinery and hardware are all acceptable and encouraged. Lead-in comments are encouraged to provide context to the readers.
Please see for help on where to post. Rules 1) Questions related to school or university aren't allowed, try.
Asking for help on homework at any level will result in an instant ban. 2) Questions about 'how something works' aren't allowed, try. 3) Questions about major selection, careers, salaries, resumes, and office politics should be posted in the GENERAL threads that are posted daily.
Job postings/wanted ads should be placed in the weekly thread. Do not post these topics outside of those threads. The general rule of thumb is this: if your question does not involve the principles and practice of engineering, it belongs in the daily threads. 4) No self-promotion or blog-spam of any kind. 5) No memes or image macros. 6) No low-effort posts.
This includes jokes, puns, etc. 7) Keep discussion civil. Overly insulting or crass comments will be removed, multiple violations will lead to ban. 8) No sensationalised titles. 9) Posts about 9/11 are blacklisted.
If you are still unsure, please see before posting. Kickstarter / Crowdfunding You are allowed a single post provided it is relevant to engineering and you are active in the comments to answer any questions.
Your post MUST be submitted as a. Need to Interview an Engineer?
I came here to suggest this. Not sure how your university does it (or if they have it set up at all) but assuming its the same thing as I have at my school its very simple.
First make sure you have. Then open up terminal and type in 'ssh -X ' or whatever sever you are supposed to use. Make sure it is a capital X not a lower case one as they are different commands. After you log in you will probably be able to run matlab by just typing 'matlab' or you might have to navigate to the appropriate directory if the shortcut isn't set up. Again, it might be different at your school but if it works like this its very handy. Unfortunately they never told us we could do this so I just recently learned that I could do this halfway through my 4th year. Would have been very handy earlier on.
My speculation would be that forwarding X to a machine rather than sending images of the entire desktop would be faster (someone with more X experience, please provide your input) Generally, VNC/remote desktop is acceptable when you're doing tasks that need a frame rate. I use MATLAB daily and used to run OS X, but I've since switched to Win7. Here are my opinions of a few of your options:. Don't use Octave.
It's a fine piece of software but it's pretty significantly different from MATLAB. Especially if this is your first class using MATLAB, you're going to be struggling to learn all the syntax in the first place and it's just going to make it that much harder to be running a different program. Octave is great for people who are doing their own independent mathematical research/calculations, not learning MATLAB for the first time. There is a UNIX build of MATLAB available.
It's out there to be found (Pirate Bay, etc). The only problem is it is UNGODLY SLOW compared to the Windows version. I think this is due to it running through X11 instead of being a native Cocoa app (don't quote me, I only ran OS X for like a year). If you do anything even remotely advanced, there's going to be a noticeable difference in processing speed.
If you're just doing really basic functions and scripts and such, you'll probably be fine though. The method I used most was logging in through Windows Remote Desktop (available for Mac) to my school's remote computer labs. Not sure if your school offers anything like this, but it's really nice, especially if you need access to a program only like once in a blue moon and don't want to have to install it. The only problem with this is, of course, lag. I found that the lag running remotely was occasionally worse, and occasionally better than running the native Mac version locally. It's really kind of a trade off. But it's also legal, which is nice.
The best option by far would just be to boot camp Windows and install MATLAB there (you said you don't have access to the program though, so again this would involve pirating. Depending on the size of your engr department though, legit copies of MATLAB may be getting passed around via physical CDROM like hotcakes). I didn't do this because MATLAB was literally the only program I needed Windows for, so I didn't want to have to bother with the hassle, and for some reason I just don't like dual-booting. But yeah, running it on Windows is the way to go honestly.
Running it on OS X or using freeware alternatives can get the job done but you'll get sick of it after awhile IMO.
. for comments on this page: crss/node/1394. This page was started following initiated by Mogadalai Gururajan. Here are some links to open source codes/software available on the net; all this information is collected from different posts at iMechanica. It is quite possible that we missed some, and some that are listed are not open source. If so, please feel free to edit the post or leave a comment with relevant links so that we can edit the post. If you write a post or comment about some codes/software or if you notice one while you are reading the posts at iMechanica, please leave a note in the comments or include the information in the listing below.
If you have some code you would like to share with mechanicians, write a post in your blog and leave a comment here, so that we can update the repository database. We believe, over a period, we might be able to build a very authorotative and useful repository of codes here, so that this post becomes a one-stop shop for any of your code needs. Finite Elements. Pre- and Post-Processors. A three-dimensional mesh generator with some CAD and postprocessing features. Comments: See comment Expert opinion: not available Rating:. A two-dimensional triangular element mesh generator.
Comments: See comment Expert opinion: not available Rating:. Nonlinear Finite Elements. Finite element solver for linear/nonlinear field problems. Comments: See comment.
Expert opinion: See comments nd Rating:. Explicit/implicit linear/nonlinear finite elements for thermomechanical problems. Site is in French. An English blurb can be found. Comments: See comment.
Expert opinion: See comment Rating:. Explicit nonlinear finite element code.
Has a simple preprocessor. Comments: See comment. Expert opinion: not available. Rating: not rated. Linear/Nonlinear finite elements for solids and some fluid and transport problems. Developed at the Czech Technical University at Prague.
Good documentation. Comments: See comments. Expert Opinion: not available. Rating:. Nonlinear Finite Element and Mesh Free software from Sandia. Comments: See comments. Expert opinion: not available.
Rating:. Nonlinear finite elements for solid mechanics from the Univerty of Illinois at Urbana-Champagne.
Comments: See. Expert opinion: not available. Rating: not rated.
FEBio is a nonlinear finite element software package that is specifically designed to address problems in computational biomechanics. Some of the features of note include capabilities for contact, rigid bodies and kinematic joints, nonlinear anisotropic constitutive models, simulation of active contraction, poroelasticity, element formulations for nearly-incompressible materials and parallel solution of the linear system of equations. Linear Finite Elements. A multiphysics finite element software developed in Finland. Comments: See comment. Expert opinion: not available.
Rating: not rated. Suite of Matlab routines for PDEs;. Comments: not available. Expert opinion: not available. Rating: not rated. Comments: not available. Expert opinion: not available.
Rating: not rated. Comments: not available. Expert opinion: not available. Rating: not rated. Tool for the linear finite element analysis of complex scanned microstructures. Comments: See comment. Expert opinion: not available.
Rating: not rated. Comments: not available. Expert opinion: not available. Rating: not rated. General Computational Mathematical Modeling. A joint project between universities, national labs, and industry to create a next generation computational framework.
Includes solver modules ( ), compilers and optimizers for variational forms (, ), a symbolic finite element engine among other things. Comments: See comment. Expert opinion: not available. Rating: not rated. A C/Matlab library that provides a variety of finite elements. GNU Public Licence. Comments: See comment.
Expert opinion: not available. Rating: not rated. A C library that provides base classes for a variety of finite elements.
Comments: See comment. Expert opinion: not available. Rating: not rated. Adaptive Mesh Refinement and Error Estimation. A C library for adaptive finite element analysis and error estimation. Comments: See comment.
Expert opinion: not available. Rating: not rated. Ordinary Differential Equation Solvers. Framework for solving systems of linear ODEs. Allows for parallel solution. Comments: not available. Expert opinion: not available.
Rating: not rated. Partial Differential Equation Solvers. Framework for solving elliptic PDEs. Not really open source and requires a site license of $250/year. Comments: See comment.
Expert opinion: not available. Rating: not rated. PDE solution framework from NIST. Comments: not available.
Openfoam Matlab Download For Mac
Expert opinion: not available. Rating: not rated. Simulation framework for solving PDEs from Physiome. Comments: not available. Expert opinion: not available. Rating: not rated.
Two-dimensional PDE solving framework. Comments: not available. Expert opinion: not available. Rating: not rated.
Meshfree Methods. Matlab routines for 1D and 2D Element-free Galerkin (EFG) simulations from John Dolbow. Comments: See comment. Expert opinion: not available. Rating: not rated.
Parallel C code for Material Point Method calculations from University of Utah. Available for free upon request. Limited user documentation.
Comments: See comments,. Expert opinion: See comment. Rating: not rated. Open Source CFD and Coupled Codes. CFD code.
Comments: not available. Expert opinion: not available. Rating: not rated. Solver library and user interface for incompressible Navier-Stokes in 2D and 3D from the University of Dortmund. Comments: See comment. Expert opinion: not available.
Rating: not rated. Comments: not available. Expert opinion: not available. Rating: not rated. Comments: not available.
Expert opinion: not available. Rating: not rated. Finite element library that's primarily been used for CFD applications. Comments: See comment.
Expert opinion: not available. Rating: not rated. Parallel C code for couple fluid-structure interaction simulations.
Uses an Implicit Compressible Eulerian (ICE) CFD code for the fluid and the Material Point Method for the solid. From University of Utah. Available for free upon request.
Limited user documentation. Comments: See comments,. Expert opinion: See comment. Rating: not rated. Microstructural evolution. Dislocation dynamics code. Comments: See comment.
Expert opinion: not available. Rating: not rated. Molecular Dynamics/Statics and Quantum Chemistry. Biomolecules. Molecular dynamics code from Scripps. Comments: not available.
Expert opinion: not available. Rating: not rated.; Molecular dynamics code. Comments: not available. Expert opinion: not available. Rating: not rated., Molecular dynamics code.
Comments: not available. Expert opinion: not available. Rating: not rated. Molecular dynamics code from UIUC. Comments: not available. Expert opinion: not available. Rating: not rated.
Molecular dynamics code from PNL. Comments: not available. Expert opinion: not available. Rating: not rated.
Program for running classical simulations of biomolecules. Simulations can be carried out in the NVE, NPT, NHP, and NVT thermodynamic ensembles. Comments: not available. Expert opinion: not available. Rating: not rated. Molecular dynamics code from WUSTL.
Comments: See comment. Expert opinion: not available. Rating: not rated. Polymers, Metals, Gases. Molecular dynamics code from Scripps. Comments: not available.
Expert opinion: not available. Rating: not rated. Great deal: avi to mp4 converter for mac. Molecular dynamics and atomistic simulation codes from Denmark written in Python. GPL License ( Free).
The atomistic simulation tools include:. Density functional code - dacapo.
Classical MD and quasticontinuum code - Asap. Linear muffin-tin orbital code - LMTO Comments: See comment Expert opinion: not available. Rating: not rated.
Molecular dynamics code. Comments: not available. Expert opinion: not available. Rating: not rated.
Molecular dynamics code to do atomistic and molecular simulations of solid state, liquid, molecular and biological systems. The methods included range from first principles ab initio density functional methods to parametrised, classical pair- and many-body potentials. Comments: not available.
Expert opinion: not available. Rating: not rated. Molecular dynamics code from UK.
Comments: not available. Expert opinion: not available. Rating: not rated. Molecular dynamics code primarily designed for biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions.
Also fast at calculating the nonbonded interactions (that usually dominate simulations) and may be used for research on non-biological systems, e.g. Comments: not available. Expert opinion: not available. Rating: not rated., Molecular dynamics code from Sandia. Comments: not available. Expert opinion: not available.
Rating:. Noble gas simulator.
Comments: not available. Expert opinion: not available.
Rating: not rated. Library for molecular simulation applications. In addition to providing ready-to-use implementations of standard algorithms, MMTK serves as a code basis that can be easily extended and modified to deal with standard and non-standard problems in molecular simulations. Comments: not available.
Expert opinion: not available. Rating: not rated. Molecular dynamics simulations of condensed phase systems defined by classical molecular mechanics force-fields such as AMBER, OPLS, CHARMM and GROMOS. Comments: not available. Expert opinion: not available. Rating: not rated. Molecular dynamics code from UIUC.
Comments: not available. Expert opinion: not available. Rating: not rated.
Molecular dynamics code from PNL. Comments: not available. Expert opinion: not available. Rating: not rated. Molecular dynamics code from Sandia. Comments: not available.
Expert opinion: not available. Rating:. Serial molecular dynamics code. Comments: not available. Expert opinion: not available.
Rating: not rated. Visualization. Scientific Visualization software toolkit from University of Utah. State of the art algorithms for volume rendering and ray tracing.
Includes a number of extremely efficient tools. Comments: See comment. Expert opinion: not available. Rating:., Comments: not available. Expert opinion: not available. Rating:., VMD software? Comments: not available.
Expert opinion: not available. Rating: not rated., Rasterizing software? Comments: not available. Expert opinion: not available. Rating: not rated. Rasterizing software?
Comments: not available. Expert opinion: not available. Rating: not rated. A scientific data visualization tool kit written in Python. Comments: not available. Expert opinion: not available. Rating: not rated.
A copyrighted, but freely distributed plotting software. Comments: not available. Expert opinion: not available. Rating: not rated.
Linear/Nonlinear Algebraic Solvers. Parallel solvers for linear systems of algebraic equations. Free Comments: not available. Expert opinion: not available. Rating: not rated.
Parallel solvers for linear systems of algebraic equations. Free Comments: not available. Expert opinion: not available. Rating: not rated. Parallel solvers for linear systems of algebraic equations. Free Comments: not available.
Expert opinion: not available. Rating: not rated. Others. For rotations, Mohr's circles, visualization, elastic constants calculation etc;. A collection of C/C library for a range of numerical tasks, and is a must-visit site for anybody who is even remotely interested in using computers for scientific calculations. The GSL homepage also lists related packages, extensions/applications and wrappers for other languages.
A comprehensive collection of software that can be run on Linux. Among other things, the software listed include those for the study of multizone airflow, structure and properties of cement based materials, scientific visualization, statistical analysis, non-linear modelling, a guide to the available mathematical software (cross-indexed), and smoke plume modelling. A C subroutine library for discrete Fast Fourier Transforms (FFT); benchmarked and portable, a choice program for FFTs. A GPL computer algebra system implemented in LISP that can do symbolic, and numeric computations (and, plotting too). Among other things, the code can do symbolic manipulations on tensors.
A mathematical and plotting tool that can be used online or installed on WINDOWS, MAC and Linux systems, which includes interfaces to programs like Matlab, Mathematica, Magma etc., and is an open source alternative for the study and teaching of algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, and exact linear algebra. Ranked Lists of Free/Commerical Software. from BridgeArt.net.
Lists software by name, category. Searchable list. Provides rankings too. Comments: See comment. Easy and fast visualization of results is an important requirement in scientific computing. We use a set of cuting edge visualization tools from the at Utah on a daily basis.
The tool of choice for moderate sized data sets is. The SCIRun/BioPSE software is opensource and the latest release can be downloaded from the. The code is relatively well documented and easy to use and the interface is similar to the now defunct IBM DataExplorer. Use can also explore and download a range of tools from the SCI institute at including our code Uintah. You can browse our subversion repository. Downloading the software requires that you be registered at the SCI institute site.
You can contact me if you are interested in the Uintah side of things. You a watch a video generated in SCIRun below. Dear Roozbeh, I have taken the liberty to make your post more viewer friendly.
Please try to avoid too much capitalization within a sentence. Also life becomes easier for the reader when sentences start with capital letters and each sentence is separated from the next by two spaces.
Mathematica may be useful for certain small applications. However, there are two problems that come to mind: 1) Mathematica is not available for free. 2) It is hard to run big problems with Mathematica based packages and a nightmare to parallelize.
Dear Guru, Biswajit, Arun: Thank you very much for getting this page started. I took liberty to modify the title of the page to 'Open source software'.
(see this ) This title was suggetsed by Arun, and looks more explicit than 'Open source review' as a button in 'Quick guide' on the right side of iMechanica. Following the suggestion of Arun, I've broken Guru's initial draft into categories. Please feel free to amodify.
I think that it is fine for one piece of software to appear under two categories. It might be a good idea to add one sentence to each software to say what it is about. If a thread of discussion on a piece of software appears in iMechanica or elsewhere, we can also add a link of 'user forum'.
I have also set up Biswajit as a, so that he, too, can edit pages. If three of you subscribe to the RSS feed of the comments on this pape, when other users give tips on other open source codes or a review of a code, you will be alerted and can update the page. Everyone: Please help Guru, Arun and Biswajit by adding comments. Is a nonlinear finite element code developed at the Sandia National Laboratories.
The code contains a large range of tools for the analysis of solids at various length scales. Features include a number of material models, cohesive zone modeling, transferring data to and from a number of formats, etc. In my opinion, the input format is a bit dated though it conforms to a number of standards.
Also, a separate mesh generation tool is needed. The code is reasonably easy to understand but can be a bit difficult to modify without some hand holding. You can see some of the models that have been implemented in Tahoe at its. Update: I have added some more links from. Type: Molecular Dynamics/Force Fields License: GPL Description: The CAMPOS project consists of several atomistic simulation tools and an environment for setting up atomistic calculations and visualizations, written in Python. Currently the atomistic simulation tools include dacapo, a density functional program, Asap, a set of python classes, that can be used for doing atomistic simulations of systems containing up to millions of atoms and a linear muffin-tin orbital (LMTO) program.
Asap is a tool for classical molecular dynamics simulations. The current version supports parallel simulations on e.g. Clusters of workstations.
It scales well up to at least a few hundred workstations even with 100MB/s ethernet communication. The interatomic forces are described in the Effective Medium Theory (EMT).
The modular structure allows for easy implementation of other interatomic potentials, without having to worry about the subtleties of parallel programming. Asap includes modules for quasicontinuum (QC) simulations. In regions of space where stress and strain fields are slowly varying, the atoms are replaced with a mesh of representative atoms, leading to a dramatical reduction in the number of degrees of freedom, while maintaining atomic-scale resolutions where that is required. The QC part of Asap is not yet running on parallel computers. Type: Molecular Dynamics/Force Fields License: GPL Description: GROMACS is a versatile package to perform molecular dynamics, i.e.
Simulate the Newtonian equations of motion for systems with hundreds to millions of particles. It is primarily designed for biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations) many groups are also using it for research on non-biological systems, e.g. Type: Molecular Dynamics/Force Fields License: GPL Description: Noble Gas Simulator.
Type: Molecular Dynamics/Force Fields License: GPL Description: The Molecular Modelling Toolkit (MMTK) is an Open Source program library for molecular simulation applications. In addition to providing ready-to-use implementations of standard algorithms, MMTK serves as a code basis that can be easily extended and modified to deal with standard and non-standard problems in molecular simulations.
Type: Molecular Dynamics/Force Fields License: GPL Description: MOSCITO is designed for molecular dynamics simulations of condensed phase systems defined by classical molecular mechanics force-fields such as AMBER, OPLS, CHARMM and GROMOS. Type: Molecular Dynamics/Force Fields License: GPL Description: ORAC is a program for running classical simulations of biomolecules. Simulations can be carried out in the NVE, NPT, NHP, and NVT thermodynamic ensembles. Type: Molecular Dynamics/Force Fields License: Freeware Description: A program package to do atomistic and molecular simulations of solid state, liquid, molecular and biological systems. The methods included range from first principles ab initio density functional methods to parametrised, classical pair- and many-body potentials.
Type: Molecular Dynamics/Force Fields License: Proprietary Description: No description. Type: Molecular Dynamics/Force Fields License: Proprietary Description: No description. Type: Molecular Dynamics/Force Fields License: Proprietary Description: No description. Type: Tight binding License: GPL Description: Yet Another extended Huckel Molecular Orbital Package (YAeHMOP) was developed by Greg Landrum whilest a graduate student in the research group of Professor Roald Hoffmann at Cornell University.
YAeHMOP is intended to be an easy to use, transparent, extended Huckel calculation and visualization package which can perform calculations on both molecular and extended materials in 1,2, or 3 dimensions. Type: Tight binding License: Proprietary Description:. Type: Tight binding License: Proprietary Description. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: GPL Description: A numerical Hartree-Fock program for diatomic molecules. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: GPL Description: A molecular modelling software package with nice 3D-visualization tools. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: GPL Description: MPQC is the Massively Parallel Quantum Chemistry Program.
Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: GPL Description: PyQuante is a suite of programs for writing quantum chemistry software. The program is written in the Python programming language, but has many 'rate-determining' modules also written in C for speed. The resulting code is not nearly as fast as Jaguar, Gaussian, or GAMESS, but the resulting code is much easier to understand and modify.
Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: Proprietary Description:. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: Proprietary Description:. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: Proprietary Description:. Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: Proprietary Description:.
Type: Quantum Chemistry: Hartree Fock/MP/CC/CI License: Proprietary Description. Type: Density Functional License: GPL Description:.
Type: Density Functional License: GPL Description:. Type: Density Functional License: GPL Description: Octopus is a program aimed at the ab initio virtual experimentation on a hopefully ever increasing range of systems types. Its main characteristics are:. Electrons are describe quantum-mechanically within the Density-Functional Theory (DFT), in its time-dependent form (TDDFT) when doing simulations in time. Nuclei are described classically as point particles.
Electron-nucleus interaction is described within the Pseudopotential approximation. Type: Density Functional License: GPL Description:. Type: Density Functional License: GPL Description: The ab initio Spinor Project is a scientific code project based on density functional theory (DFT) within the ab initio pseudopotential frame work.
The code implements the fundamental Kohn-Sham functions in form of two-component spinors. Type: Pseudopotential/Pseudoprojector generators License: GPL Description: The 'UltraSoft PseudoPotential' (USPP) generation code from the group of David Vanderbilt at Rutgers University. Type: Pseudopotential/Pseudoprojector generators License: Freeware Description: A Projector Augmented Wave (PAW) code for electronic structure calculations.
Part I: atompaw for generating atom-centered functions Computer Physics Communications 135, 329-347 (2001). Type: Pseudopotential/Pseudoprojector generators License: Freeware Description: The package fhi98PP allows one to. Generate norm-conserving pseudopotentials of the Hammann and Troullier-Martins types, employing common parameterizations of the local-density approximation and the generalized gradient approximation for exchange and correlation. Check the transferability of one's pseudopotentials, in particular to search for unphysical ghost states of their fully separable (Kleinman-Bylander) representation. Type: Pseudopotential/Pseudoprojector generators License: Freeware Description: No description.
Working with an open source program takes a lot time. Choosing a nice open source program is really important. But i did'nt find any reliable ranking for open source programs.
According to citation and availability I have found general purpose programs DEAL.II, ALBERT, GROMACS, and PETSC better than others. But for a special purpose it is evident that one program can be great. For example Sandia's TAHOE as mentioned in the above have great tools for non-linear models and atomistic-continuum bridging. But it is not good choice for example in electromagnetism! And OPENFOAM was great for modelling supercavitation.
Is there any one who has any information about QM/MM simulating using GROMACS? Roozbeh, I've edited out some of the capitalization from your comment. Please try to avoid that in the future because that too many capital letters make the comment hard to read.
Your lists of software are impressive. The ranking of a particular software depends on the particular use it is intended for. General purpose software is useful for a larger group of people than very specialized software.
I would rank those higher. Ease of use and modification should also play a role in the ranking of software. One way you could help at this stage is to give some details of the softwares that you have listed. You can restrict yourself to those that you have actually used and know the strengths and weaknesses of. You could also rank these yourself and then we can list these on the main page. The large number of open-source software listed by Roozbeh seems to raise a question: Should iMechanica regularly review software?
One possible mode of operation can be similar to the. A few enthusiastic users form a council, which then invites other individuals to review software. Each month, say, an individual selects one theme, or just a piece of software, writes what he knows about the software. What does the software do?
Which other software are competitors? Who are the developers? The software can be either open-source or closed-source, so long as it is likely to be useful to mechanicians. The review may be placed as the top post in the Channel 'software' for the month, or may be even placed on the top of the front page for the first week. Other experienced users can add their experiences with the software, or ask questions. Individual software may have its own web site and online community.
What iMechanica may offer is a pointer to that community, as well as a comparision of various similar software packages. Is this a useful thing to do for iMechanica?
Suo, I think it is a great idea-for several reasons. First is the value addition-there are so many codes that the end user would really like to have an idea as to which one she wants to use, without proceeding by trial and error;. Second is the fact that an experienced user, with a short example, can make the process of using the software easier-for example, a sample code as to how FFTW can be used and/or optimised for solving PDEs would make it much easier for beginners-I learnt by looking at such template code, and modifying it for my purposes. It works great!; and,.
Third (even though not the primary benefit), such reviews, if use example problems from different areas of research might also serve the users to have hands on experience-thus, iMechanica will be serving as a forum for teaching each other some part of mechanics using the software as a tool. I can also see that in some cases it might lead to collaborations, and/or improvement of the existing software-at the minimum, it will at least make the users aware of any problems or grey areas that mihgt be lurking behind the black box. Hence, I guess an nClub (for numerical Club) would be very welcome! Zhigang, As someone whose primary interest is computational mechanics and who works in the commercial software industry, I would welcome more discussions of software.
I'm not exactly sure what form this should take or how to encourage it, though. As you can imagine, it is extremely difficult to write a broad 'review' of a general purpose analysis package.
It becomes even more difficult if more than one code is involved; the author has to be something of an expert in all packages. These kind of reviews typically degenerate into a Consumer Report -style checkbox format that I don't think is particularly useful. What seems more useful to me would be articles that focus on a user's experience with a particular problem or small class of problems. One source of these might be student projects from an advanced FEA or applied mechanics class. Could be an opportunity for the students to share some useful insights with a larger audience. These users may not, in general, be 'experts' with the software but, by the time they finish the project, they may have become experts in a specific area of the software.
I haven't followed the jClub procedure that carefully but I can imagine something like that would work here. Perhaps interested authors could submit abstracts, one of which would be selected each month for the feature article. I think some sort of editorial control might be necessary to keep commercial developers (like me ) from turning these articles into thinly-veiled advertisements. I think most information and details about a software may be find in it's web page. Of course, an experienced user, with a short example or short comment can make the process of using the software more easier. But i think one of primary difficulties for researchers is to find a suitable software for special purpose. For example, What is the main advantage and disadvatages of DEAL.II on ALBERT.
Both of them are developed for solve PDE's using Adaptive Finite Element method. But which of them is better for a special work.
Sometimes, Using a suitable software to do a specific task make it more simpler. It think categorization of existent softwares is a really good manner to help investiagtors to do so.
In addition, in the case of giving infomation about a software it must be done in a categorized way. Questions and answers about open source softwares are found in the internet very much but finding a specific answer for a special questions some times is harder than try and error. because this information are unsorted. This problem may be handled by sort answers and questions of users. Overally i think it is very good idea. But categorization of information is very very important too. Zhigang asked me to comment on the software review club idea a couple of weeks ago.
Most of the ground that I'd have liked to cover has already been discussed by Zhigang, Guru, and Bill. The idea is great and can be implemented quite easily. Bill had misgivings about the forum turning into advertisement space. I feel that since this is a two-way forum and more than one person may comment about their experience with a particular software the effect of such misuse will be small. After all we would all like to advertise something that we like - which is the point of the forum. I suggest that Guru/Arun/Bill/Rozzbeh decide on the first instalment of the software club with Guru acting as the moderator in charge (the idea evolved out of his initiative after all).
Rather than discuss all aspects of the software in one post we should follow Bill's suggestion about a special topic at a time. Personally, I'm more interested in seeing open source software take over the role that commercial software (such as Abaqus) plays today. That will need a significant amount of commitment from a few key developers who can take the ball and run with it. These developers will have to be graduate students under the guidance of an expert lead.
Professors and other senior researchers probably have too many other fishes to fry to be able to put in the required time. However, they can provide the expertise via a frum such as iMechanica. I see Tahoe as a software that can become the open source replacement for commercial FE codes. However, I'm not sure about the details of the licensing model that they follow and what needs to be done to make it GPL compliant. I would like to see more discussion on iMechanica on what can be done to reach the open source goal. Biswajit, Like you, I have wanted for a long time to see a more active open source mechanics software community. If iMechanica can help make this happen, it would be great.
I'd like to hear more about your experiences with Tahoe. After first becoming aware of it from an earlier post, I went to their web site to find out more. I started out looking for a FAQ; couldn't find anything like that.
The Tahoe Users Guide is four years old. I assume the Doxygen-generated documentation is up-to-date but this sure isn't the most straightforward way to get started with new software. I did finally manage to download the code but didn't find any kind of introduction there. Do you have any suggestions for getting started with this package? Do you have more information on the organization of this project? Is it still actively supported by Sandia/DOE? Hi Bill, I'm one of the adminstrator of Tahoe at Sandia.
The code does not have a user guide or a comprehensive FAQ and that is a large impediment for people who want to get started on the code. Tahoe is not an official Sandia/DOE code in that there are no funds devoted to its maintainance or development. It was a labor of love of Patric Klein, a former Sandian, that many people like myself have adopted for their research.
A few of us and Patrick still maintains it in our spare time and develop on it for our work. To get started, I suggest you download the open source version from sourceforge and download an xml reader such as Xample. The user guide, though four years old, is also helpful in that it gives you an idea of the avaiable elements, materials, and solvers available in the open source version. The format of the input file has changed radically, but there are updated benchmarks in the benchmark directory that can help get you started. The xml input file is self-explanatory in terms of the choices of parameters.
If you have further questions, you can e-mail or post on the Tahoe forum. Vicky Nguyen. Vicky, Thanks so much for your reply.
It is great to have a Tahoe developer here on iMechanica. I followed your suggestions about downloading the code and perusing the manual. I've spent a bit of time looking through the code but have been unable to answer a fairly fundamental question. I'm hoping you might point me in the right direction. I would post the question to the Tahoe forum but I think other iMechanicians may also be interested in knowing the answer. Here is the question. It appears from the manual and code that Tahoe supports both solid and heat transfer problems.
But it isn't clear to me how easily it can support more general nodal degrees-of-freedom. Suppose for example that I would like to add an element for coupled elastic, thermal, and electrical behavior (i.e. Displacments, temperatures, and electrical potential at the nodes).
Is this possible? Can you give me a brief idea of the steps? I found this method: BasicFieldT::Initialize and it appears to be related to this question but can't find where the method is called. A related question has to do with rotation degrees-of-freedom. Does Tahoe support these? I didn't see any beam or plate elements when I looked through the Elements directory. Basically I'm wondering how hard it would be to add these types of elements.
Thanks again for the help. Hi Bill, Tahoe does support general degrees of freedom for coupled problems, and there are some examples of this in the developer's version not in the open source version available on sourceforge. Do you want to implement a fully coupled problem i.e. Thermal-elastic, where you have a monolithic solution phase with a big stiffness matrix or do you want to implement a weakly coupled system with a staggered solution scheme?
The implementation would be very different for either cases. Assuming that you'd like the do the former fully coupled case Tahoe allows you to specify an arbitrary number of nodal degrees of freedom in the the.xml input file under the 'nodes' tag. The class FieldT manages initial conditions and nodal boundary conditions (i.e. Displacements, nodal forces) for your defined nodal dofs and handles the interface between the element class and the solver class (i.e. It stores as member data, arrays of the nodal values and its first and second derivatives for the current and previous time step. The continuum element classes are all derived from ContinuumElementT which handles the mapping from the global ordering to the local element ordering of the nodal dofs (SetLocalArrays) as well as the initialization of the shape functions (SetGlobalShape). The element classes passes interpolated integration point values of the nodal dofs to the material class so that you can calculate your constitutive relations such as stresss or heat flux.
I hope this helps. Deal.II is a C program library targeted at adaptive finite elements and error estimation. It uses state-of-the-art programming techniques of the C programming language to offer you a modern interface to the complex data structures and algorithms required for adaptivity and enables you to use a variety of finite elements in one, two, and three space dimensions, as well as time-dependent problems. The main aim of deal.II is to enable development of modern finite element algorithms, using among other aspects sophisticated error estimators and adaptive meshes. Writing such programs is a non-trivial task, and successful programs tend to become very large and complex.
We therefore believe that this is best done using a program library that frees the application programmer from aspects like grid handling and refinement, handling of degrees of freedom, input of meshes and output of results in graphics formats, and the like. Also, support for several space dimensions at once is included in a way such that programs can be written independent of the space dimension without unreasonable penalties on run-time and memory consumption.
Couple of months back I had the same question regarding the available FEM libraries. I had a quick glance through the Deal-II feature set. It appeared no-one has used Deal-II so far for XFEM. (Please correct me if I'm wrong). You may find a comparison of what Deal-II can't do from the following link. I don't have any test results to prove their claims. But for sure, one can write a XFEM program with GetFem (Though I posted some negative opinion about them).
They do provide a sample code to analyse a XFEM problem, too. The same is true for meshfree methods, too. ALBERTA is an Adaptive multi Level finite element toolbox using Bisectioning refinement and Error control by Residual Techniques for scientific Applications. Its design is based on appropriate data structures holding geometrical, finite element, and algebraic information. Using such data structures, abstract adaptive methods for stationary and time dependent problems, assembly tools for discrete systems, and dimension dependent tasks like mesh modifications can be provided in a library. This allows dimension-independent development and programming of a general class of applications.
In ALBERTA, hierarchical 2d and 3d meshes are stored in binary trees. Several sets of finite elements can be used on the same mesh, either using predefined ones, or by adding new sets for special applications. Depending on the currently used finite element spaces, all degrees of freedom are automatically managed during mesh modifications. Unfortunately open source FE codes cannot most of the time be compared to commercial ones in terms of functionnality and maintenance. Reasons are easy to understand: these projects involve in general only a few persons and when they move to other business interests, the project stalls. There are however a few exception: OpenFOAM seems to be one for CFD modelling (I don't have experience with this code) and CodeAster for Solid Mechanics.
CodeAster is being developed by EDF, a large french electricity company. They use CodeAster for their internal needs in terms of thermo-mechanical modelling. Considering their rather large community of users (more than 100 FE users only for EDF) and the resource they use to this project (probably a few dozens of developers working at least regularly on it), it is no surprise that CODEASTER has become a very powerfull tool. Capabilities are very large (thermal analysis, mechanical analysis, dynamic analysis, fracture mechanics.). Code can import meshes from SALOME, I-DEAS and GMSH. Results can be saved in the same formats. I have 10-year experience with structural mechanics, mostly with ABAQUS but I have used as well NASTRAN, RADIOSS and SAMCEF.
I have used CODEASTER for substructuring (Super elements) and thermal simulation of welding. In my opinion, there is no real difference between CODEASTER and ABAQUS. ABAQUS seems to be better suited for non linear anlyses (contact) but CODEASTER has its adavantage (substructuring is far better than in ABAQUS). I would thus recommend CODEASTER for people wanting a free, capable, reliable FE software able to perform industrial-like simulations. Documentation is very good, unfortunately in french (but an english translation seems to have begun). I have been working with/on CalculiX for a few years now and am responsible for the Windows port.
Since I have this bias, I will not include a rating and taint your polling results. The reasons I chose to get involved with CalculiX are that the solver and associated tools are under active development, are fully documented (in English) and there is a forum for support. It also has a umat interface and an input deck format that will be familiar to any Abaqus users. Primary website: Windows port: Forum: FYI: CalculiX probably ought to be categorized as a nonlinear finite element application. Most of FEM Packages either Opensource or not which i have seen ever are based on phsycial aspect of finite element method. Interpreting Materials as their Stress- strain relation. I think in practice mathematical point of view in finite element iss more interesting.
Because its generality in defining elements depend on PDE which we want to solve it. And its clearity in defining ERROR and Refining the mesh. And its comparablity to other mathematical methods.
I have not ever seen commerical finite element package which based on the MATHEMATICAL view. OF course COMSOL and FEMLAB could be such examples but their general PDE is very limited. DEAL.II and ALBERT of examples of opensource programs in this aspect. As their citation shows many users have used them by now and their bugs may be few. Some examples of their usage which must of them are mechanical exists in their site and shows their applicablity in our way.
Its not bad to take a glance at them and use them in finite element projects. Their expansion would result to more general finite element package we need in future. Yes, I can empathize with you. With C, one can get carried away with too much ``templatizing' and/or making it very general (differential forms for constitutive laws and for bilinear forms, etc.).
Such a need might not be necessary, even though it is mathematically aesthetic and elegant. Often, if the package is focused on just a few specific goals, then it is easier to meet the demands of readability, speed, and user-friendliness. That said, if a library does provide X and Y functionalities, then it might not meet the needs and/or expectations of those who also wan't Z1, Z2,., Zn. Overall, linear solvers are a good open-source library example that are mature and used by many; the service they provide is just one (solving Ax = b for different forms of A).
To expect such from open-source fem codes is a tad unreasonable. For the purpose of learning, understanding (pros and cons), and appreciating the subtleties of any computational model, there is no substitute to coding the key ingredients of the same by oneself. Thanks for using our code. Nguyen Vinh Phu is the author of this matlab code. We also developed an open source XFEM code for any problem, and we are planning to introduce it into OOFEM, but we need people to help us with this. If anyone is interested, it would be a pleasure to introduce OpenXFEM into OOFEM with them, I think that this will be a nice step for the community. I advise the use of gmsh for pre and post-pro, it is a really nice tool.
All the best form Glasgow, Stephane PS: I have three Ph.D. Theses available in fracture mechanics.
Dr Stephane Bordas. Thank you very much for your reply and your suggestion. I went through the documentation of OpenXFEM and also it's code embedded in it. The code is quite readable and thanks for making it that way. But is there any plan to release it through some open source software publishing platform?? I mean to say like using SourceForge.Net or Berlios (This is based in Germany).
That would help other members to contribute code to the project. Though I have some complaints against Berlios.
I'm an active developer of Code::Blocks (An Open-source Cross-Platform IDE). We use Berlios as our code publishing platform. It often remains inaccessible to Non-EU developers (like me). I wish I could contribute to your project. Definitely if I use OpenXFEM in my future development, I'll post improvements, if any. Thanks, Biplab. Hi Biplab, It is great to see your interest.
OpenXFEM is not yet released on an open source term, but this was our next step. We are also trying to couple it with OOFEM, and then, perhaps it can be released that way. My trouble was that I did not know how many people would be interested in contributing, and thought it would not make much sense for such a 'simple' code to be released this way. However, I do not know if this is true or not. I could use a lot of help to further develop the code (for instance, make it more efficient and parallel).
Thank you for your suggestions, let's keep this flowing stephane. Bordas @ gmail. Com Dr Stephane Bordas. Thank you for your reply. I do agree with you with this trend among Open-Source developers.
I do not blame them as most of them often develop it at their free time and it's the code that matters to most of them. But most of them follow certain rules while naming the variables and different classes so that the other members are able to decipher the code.
I gave one example of an unusual GetFem class name. Honestly I appreciate their hard work. But I'd request them to make the code more readable. PS: I do actively contribute in Open-Source Development. I'm an active developer of an Open-Source Cross-Platform IDE (Code::Blocks, ).