You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I implemented a simple spring element (3 dofs, only normal forces). Now I want to combine it with the euler-bernoulli beam element. However, the global stiffness matrix is not positive definite. In general mixing elements should be supported right? I think the main problem is that while having the same geometry for both types of elements, one has 3 and the other has 6 dofs. Here no conversion between problem dofs to solver dofs is done and here only problem based dofs are considered, right? So the only way I currently see to get the assembly right is making sure that the dof numbering between the two problems matches, which is not very user friendly.
Is there something I'm missing or is the only way to use set_gdofs(problem, element, dofs) and manually map the dofs of the 6 dof problem to the ones of the 3 dof problem?
The text was updated successfully, but these errors were encountered:
I managed to get it running with setting the matching dofs. Now I have the problem that in the stage of writing back the field results, the wrong dofs are written to the fields. I think the problem is that this function infers the number of nodes with
nnodes = round(Int, length(u)/field_dim)
which is obviously not given for my problem because u has storage for 6 dofs per node while field_dim is 3.
So the more general way would be to use get_gdofs to extract the values from u and then reshape.
I can make a PR for that if that is something that's useful for the package and is not messing with something else (I don't have such a good overview of all the related packages yet ;))
I implemented a simple spring element (3 dofs, only normal forces). Now I want to combine it with the euler-bernoulli beam element. However, the global stiffness matrix is not positive definite. In general mixing elements should be supported right? I think the main problem is that while having the same geometry for both types of elements, one has 3 and the other has 6 dofs. Here no conversion between problem dofs to solver dofs is done and here only problem based dofs are considered, right? So the only way I currently see to get the assembly right is making sure that the dof numbering between the two problems matches, which is not very user friendly.
Is there something I'm missing or is the only way to use
set_gdofs(problem, element, dofs)
and manually map the dofs of the 6 dof problem to the ones of the 3 dof problem?The text was updated successfully, but these errors were encountered: