Open taylormcd opened 3 years ago
Hi, I would personally be very interested to see this as a feature. Is it something you will be implementing any time soon? Kind regards.
I currently don't have any plans to work on this. A pull request for this would be welcome, but it would likely require a significant amount of work.
I have read and understood the part in the paper where the modification of equilibrium and compatibility equations is described. Could you point me to where exactly in the code these equations are assembled? i.e. Equation 49 and 50 in the Yu and Blair 2012 paper. Thanks very much.
The code differs slightly from the paper now. While equilibrium is still enforced in the same manner, compatability equations are enforced for each element instead of at the nodes.
For the static case, point loads are first added here: https://github.com/byuflowlab/GXBeam.jl/blob/6d9b8ad37ec6fe62173561c9cdb540462c04513b/src/point.jl#L2036-L2037 and then the element end loads are added here: https://github.com/byuflowlab/GXBeam.jl/blob/6d9b8ad37ec6fe62173561c9cdb540462c04513b/src/element.jl#L2457-L2464
The position of each residual in the residual vector is defined by the system_indices
function.
Actually, now that I think about it, the simplest solution is probably just to modify PrescribedConditions to allow prescribed displacements to be linked to the displacements of another node.
Thank you for the replies Taylor, I've finally got some time to get stuck into this now. I've been looking through the code, making comparisons to the paper, and have a few questions:
PrescribedConditions
Hi Taylor, I went with your approach suggested in point 3 of your previous comment and I think I've got it working. I forked the repo and have pushed my changes. Currently I've only implemented the joints for a static analysis, perhaps I'll look into it for steady/dynamic analyses in the future. Could you please take a look at my branch and let me know what you think / if anything needs modifying? https://github.com/ss1870/GXBeam.jl
I didn't do a thorough review, but it looks good. Extending it to the other analyses is trivial since it would involve the exact same operations.
This package currently only allows rigid connections. A nice feature would be expand this to allow other types of joints. My thoughts for making this happen is to introduce a new type JointAssembly which combines two or more Assembly objects with some joints. Then we can dispatch on the JointAssembly in a special manner to handle the joints. The theory for adding joints is covered in the paper on which this code is based.