-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduction of operate_integration_points! closure in run! #7
Conversation
Pull Request Test Coverage Report for Build 52
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea to clean the code.
if string(func!) == "FEMMaterials.material_preprocess_analysis!" | ||
material_type = getfield(Materials, problem.properties.material_model) | ||
material = Material(material_type, tuple()) | ||
ip.fields["material"] = field(material) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is subject to be changed to be done elsewhere later on
22e22a2
to
7639db7
Compare
I just give some general ideas what we have maybe missing in past. Being static means that we know everything before we compile. Then it's fast. Being dynamic, we decide during compilation time about types, and then it's slow. I have been working with the field system in JuliaFEM/FEMBase.jl#55 and JuliaFEM/FEMBase.jl#47, I'm quite confident that we have a tradeoff between performance and flexibility, we can choose one but cannot have the other one. From practical point of view, we need material models to be fast. According to my studies, it means that we lose some flexibility when defining models or do metaprogramming to achieve maximum performance. |
Just cleaning to make run method more readable.