-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Fem: Add constraint rigid body #13900
Fem: Add constraint rigid body #13900
Conversation
Great. I already compiled it. As you said, the writer doesn't work yet so I can't check what actually goes to the input file and thus I have some questions about the new task dialog: 1 - those fields are just for the direction vectors for force, moment and rotation, right? 4 - does this one choose which of the input fields (force/moment/displacement/rotation) actually go to the input file? Is it necessary? If all forces and moments are 0, there's no problem when they are added as such to the input file. Boundary conditions have their own settings for free and fixed. Even though filling all the input fields at once wouldn't make sense (loads and boundary conditions acting in the same DOFs), maybe we don't have to prevent it by adding more settings which have to be considered to make full use of the tool. |
1- The total force applied must be entered. This way, it is easier if we use some shape as a reference, just as used in force constraint (reference selection still needs to be implemented). Of course, there are cases where one approach is more convenient than the other. In any case we can implement the dialog to offer both modes: Force by cartesian component or force by magnitude and direction. |
All right. Initially, I was thinking about an approach where each load/BC type has 3 inputs for vector components and that's it but indeed it can be done in other ways too and reference selection can help define forces at angles (the rest could use references too but it should be more convenient to keep the 3 components approach for moments and displacements/rotations).
I think that checkboxes would be more intuitive.
Generally speaking, I'm in favor of allowing all the combinations and making it the user's responsibility while also reducing the number of needed settings. Other preprocessors implement this constraint in such a way that a reference point is created and any load/BC can be applied to it. In FreeCAD this won't work since there's no moment load so we can use the current approach and just give full flexibility in input combinations. The user should know what each quantity means anyway. Some smaller questions:
|
7dea10c
to
566c8aa
Compare
@marioalexis84 Awesome, it seems that it's all working now. Only the moment units are still eV. Anything else left? Do you plan the support for solids? I think that it could be even added later in a separate PR if it's not ready yet to make sure this is merged before the feature freeze. Could the green sphere show the actual location of the reference point once it's specified? Do we keep the rotational BC definition the way it is - different than other loads/constraints (vector components and then a single value of the angle of rotation)? |
566c8aa
to
0f0bd52
Compare
@chennes I don't know why the tests fail. In my system all FreeCAD test pass without failure. |
515031b
to
4908786
Compare
@FEA-eng Fixed conflict between node numbers for multiple constraints. |
Perfect, it all works well now and the tests passed. @chennes Can you merge it so that we can proceed to the final FEM polish before the freeze? |
@chennes |
4908786
to
e307595
Compare
This pull request continues #7716.
@FEA-eng I have modified the properties to support load and boundary conditions.
Free*Mode
are intended to leave degrees of freedom.The task dialog still needs work, but it already exposes all the properties.
The writer is not yet updated to use the new properties. It's pending work.
Note that the Moment unit did not have the correct signature. Now it is corrected. The problem is the collision with the work unit. That's why you see electronvolt as unit for low values. We still have to think about how to solve this, also, in the property editors there is a problem with the unit parser for cases that involve
*
likeN*m
, so I commented out the lines in theUnitSchema*
files.