Skip to content
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

Mixing beam models with different number of dofs #22

Open
sebastianpech opened this issue Nov 9, 2019 · 1 comment
Open

Mixing beam models with different number of dofs #22

sebastianpech opened this issue Nov 9, 2019 · 1 comment

Comments

@sebastianpech
Copy link

sebastianpech commented Nov 9, 2019

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?

@sebastianpech
Copy link
Author

sebastianpech commented Nov 9, 2019

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 ;))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant