One of my dream projects would be to glue physics engine like Project Chrono[1] with modeling kernel like Open CASCADE[2], and some (FOSS) CAD (solvespace[3]?) to make an user friendly package to be able to setup simple scenes for simulation.
[1] https://projectchrono.org/
[2] http://www.opencascade.com/content/open-source-core-technolo...
I've only used Chrono::Sensor, Chrono::Vehicle, PyChrono and I work on a new module called SynChrono. Feel free to reach out if you have any questions.
Seems like you are just comsol.
As someone who does this 50+ hours a week in industry (although only structural modelling but frequently coupled with optics/heat transfer/) and is reasonably well versed in the up and coming research I have a couple of questions (or would have if I was a potential buyer).
Can you mix 1D-2D-and 3D elements (I know fenics cannot). But for complex assemblies, making idealized representations is typically worthwhile (and typically necessary if anything is e.g. bolted together). Can you even mix different types of 3D elements (e.g. tets/pyramids/wedges/hexs).
The future of finite element modeling is probably is nurbs-enhanced or IGES-enhanced. Why are you building the past/current instead of the future?
Can your solvers do HP-refinement? Or even just H refinement.
Can you do glued contacts?
How much do I have to know about the time stepping scheme, or does your software work that out for you.
If I am doing thermal control or dynamic control can you handle that (I like that it interfaces with matlab so I can plug it into simulink--you should hammer on that in your copy--that is a really nice differentiating factor for people who would use FEA to drive control e.g. smart materials people, active optics, aerodynamic control people).
How easy is it to do optimizations? For instance (at home) I keep thinking about wanting to optimize a piezoelectric diagram fan like GE uses in their lights but for computers, how much easier is that going to be than just figuring out an open source software on my own.
Why FENICS and not DEAL.II or MOOSE (I don't know, I am just curious. I used to use FENICs but got frustrated because their input syntax kept changing on me.
Also really cool.
I have been thinking about writing software in this space but more nichy for about the past year and am beginning to get started, any interest in collaboration?
Also if you want to ask me questions about my thinking as a user who thinks a lot in these problems space, feel free to email me (I will want it to move to a phone call, but don't want to post my phone number on hacker news).
Maybe it isn't too clear, but Comsol is just one solver (depending how to look at it I guess), while the idea of FEATool is to be a fully integrated platform for "any" solver, and in the extension to be able to mix and match and combine them (plug and play so to speak). At present I have just been able to implement the built-in MATLAB based multiphysics solver, with interfaces to FEniCS, OpenFOAM, and SU2.
> Why FENICS and not DEAL.II or MOOSE (I don't know, I am just curious. I used to use FENICs but got frustrated because their input syntax kept changing on me.
No particular reason really, I just started with FEniCS as it is quite popular and I found the FEATool PDE syntax easy to convert to FEniCS Python scripts. The plan is to add more and more external solver options.
> As someone who does this 50+ hours a week in industry (although only structural modelling but frequently coupled with optics/heat transfer/) and is reasonably well versed in the up and coming research I have a couple of questions (or would have if I was a potential buyer).
Thank you, I really appreciate the interest and feedback. Unfortunately its kind of "not implemented/available yet" to all your technical questions, although FEATool technically can solve any system of PDEs, I haven't yet pre-defined and set up everything so it is easy for the end users. So as many things are possible to do by going down to the FEM matrix assembly syntax but from a users standpoint that is most often the same as it doesn't exist.
> Also really cool. I have been thinking about writing software in this space but more nichy for about the past year and am beginning to get started, any interest in collaboration?
Thanks again for the feedback, I'm certainly open to all and any collaborations (email in my profile). Yes, looking back I think starting in a niche would have been a better approach.
Thank you for your offer, I could not find you contact info anywhere though, so I left my contact in my profile if anyone wants to get in touch for collaborations or anything at all really.
Talking about the output, what is it the user is actually interested in? Some direct simulation outcome, such as trajectories or densities, still images, time series or some derived quantities? Is the user capable of programming in some language, is interface scripting even required? Does she actually prefer a CLI?
There are a lot of different industries with different needs. For certain engineering tasks (such as aviation), there are long standing tools which work fine and people are used to. For hobbyists or the gaming industry, the same applies.
Disclaimer: I am a theoretical/computational physicist. Maybe I am too much thinking about simulating heavy ion collisions or black hole mergers, but given the physical problem you want to solve, there are quite different numerical methods applied. This applies for fundamental concepts: Besides the traditional linear algebra/partial differential equation solving, there are statistical approaches and nowadays artificial intelligence for obtaining a solution to a problem in a shorter time. The ways how to model physical reality are as diverse as the physical problems.
Even though there are specialized tools, there is definitely a market for comsol like products. A problem here is they don't differentiate from comsol.
That being said, he/she/it/their would do a lot better focusing on a particular niche. For example thermal desktop is used for widely in the space industry for space simulations because it is the only off the shelf solver which does radiative heat transfer and controls well. But all the thermal analysts I know the UI is basically garbage and it solves their models way to slowly. They also have huge issues with their simulations taking for every so if you hammered on that problem for a while you would probably end up with a customer base.
Easy to use FEA is a seemingly impossible goal because of the huge range of features that some users want and other users don't want as well as the fact that it has to combine a lot of concepts just don't seem to naturally fit well into any simple organizing principle for the user. Then there's the zillions of man-hours to do it all.
How did you get out of the post-doc loop?
Supporting multiple solvers is surely going to mean having solver-specific features, isn't it? Which would eat away at what seems like your vision. Or are you able to keep it abstracted from that so they really are interchangeable?
They mention using some open source solvers, so in that sense you could say that the open source COSMOL was already sitting around :)