-
Notifications
You must be signed in to change notification settings - Fork 36
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
NZS3101 design code #40
NZS3101 design code #40
Conversation
Replace nice ' with ugly "
Hi @robbievanleeuwen I've also added the ability to assess sections to the NZSEE C5 assessment guidelines (which is basically the bible we need to follow here if assessing existing buildings), there are two additional types of analysis that fit under this umbrella. I wasn't going to do that before the first merge, but isolating at the moment with covid and got nothing better to do!
Still need to do check of built docs and do some basic independent verification of capacities and so forth. Thanks. One thing I've never had anything to do with before is doing the tests, that's the only check failing at the moment. Any advice/help on this would be appreciated? |
Hi @Agent6-6-6, thanks for all your hard work on this! I'll review this weekend :) |
Update AS3600 docs for consistency
@robbievanleeuwen I took the liberty of updating some of the AS3600 docs to be consistent with respect to the material assumptions being in a note. Essentially the code is ready for review, but do need to do the formal verification of capacities, etc. Hopefully by weekend. Couple of things to consider:-
Any feedback or changes are welcome. |
@robbievanleeuwen having had a little time myself now to look through the examples and how the design code pages are linked together/arranged. I'm just wondering how you want to organise these if more codes are added. In particular these two pages:- I'm wondering if the first link should have the AS3600 & NZS3101 stuff moved on a subpage linked from this page?? Or is the preference just one long list of codes added one after the other? On the second link, were you thinking something similar but organised into subpages with some linked subpages with the actual examples from different codes as they are implemented?? I think that would be the best option to keep things concise? Anyway if you do get some time this weekend to review, have a think about what your preference might be. If separating them out into separate pages is that something you're able to or prefer to do to prepare for the NZS3101 design code page and example, creating a placeholder page essentially? Then I can likely replicate your AS3600 page as a starting point for completing that part of the docs? |
corrects utilising CL5.2.4 instead of CL5.2.5
@robbievanleeuwen, marked ready for review. Let me know if you have any comments. Otherwise, merge if happy! |
@Agent6-6-6 thanks this looks great! My kid's got chickenpox at the moment, but hopefully I'll have a chance to have a look at this at the end of this week/early next week! Love your work! |
Hi @Agent6-6-6, finally got the time to go through the entire PR. I started writing a review then realised it would be easiest if I commit some minor changes as a lot of it was styling, linting things etc. We can revert anything you don't agree with, but here's the gist:
Other than the above everything looks really fantastic! Thank you so much for taking the time to make the code readable and understandable, and the documentation is amazing! I have a few comments regarding the |
@robbievanleeuwen, yeah go for it. Agree with items 1 to 3, thought I had import organiser installed but apparently not. Item 4 no idea what you're really talking about 😊 similar for 5. So feel free to amend as required and I'll have a look see if it triggers any other minor amendments or tidying up. |
Sorry wasn't super clear! I've started using Pylance to catch some potential code loopholes. Item 4 - for example in Item 5 - I've added a few None of this changes any of your implementation, more for removing the red squiggly lines from my code editor 😆 |
For item 4, I think (at least some of) the input was checked/validated earlier in the code so by the time you get to that location there is no way you could have a wrong value. So returning a value error seemed redundant. But appreciate if you called that method by itself with a wrong input it would fail. But I really need to refresh my mind what I did there as I could be wrong in the way I think I addressed this. But I guess I'll just need to raise new tests against these new lines to get back to full coverage to close it out if it makes code more complete with no loopholes. Will review the comments in ModifiedMander class. Cannot recall why I just kept it as numpy array throughout, will review if it works as a list. |
assign_analysis_section_valueerror test added, copied valueerror from capacity_reduction_factor
For Started working on the others but I got to thinking that the same redundant check looks like it applies to all the other I can add tests to cover the additional You may have missed one Please review given the redundant nature of these if you still actually want them included (I mean no harm in having them, but they are not required if you're using the Note there were tests previously to capture the first instance of a wrong input for Some tests to hit these redundant Anyway just wanted to double-check if this is really required prior to going to the trouble of adding additional Let me know your thoughts. |
Hi @Agent6-6-6, I am happy with the code as is, thanks for these changes. We definitely don't need to aim for 100% test coverage, I don't believe in writing tests after the fact just to get full coverage, although I am definitely guilty of not writing enough tests myself! Having said that, your ~97% coverage is commendable! I have built the docs locally and everything looks fantastic. I just have to do a few fixes with the new shapely release in sectionproperties, hence the <2 requirement for now. If you are happy with the code in it's current state I will merge and create a new release! |
There are a couple of the statements you added that I'll just update to be similar valueerror message to other locations to be consistent. But apart from that I didn't have anything else. I'll do this later today when I'm free to spend some time on it. |
Nearly complete now with the following changes being committed in cbef839 to tidy up the loose ends:-
Just need to look into the second point further then it should be ready to merge. |
@robbievanleeuwen, all good to merge now with a1656b3 addressing point above. |
Hi @robbievanleeuwen
Still have some minor updates to perform, some more formal verification of results, updating/correcting of docstrings, review of built docs, create some examples, etc..... but the bones are present to perform 3 types of analysis:-
Normal design analysis: Normal material properties, normal strength reduction factors
Capacity Protected Element analysis: Normal material properties, strength reduction factor of 1.0
Overstrength capacity analysis: Likely upper limit material properties (steel strength multiplied by overstrength factor, concrete strength + 15MPa), strength reduction factor of 1.0
Hope to add a further analysis type in the future to reflect a probable strength analysis (required by guidelines in NZ to assess existing structures)
To achieve the overstrength analysis, the code simply copies the concrete section and updates the material to the modified materials reflecting the likely upper limit material strengths.
There were a few minor changes I made outside of the NZS3101 design class to correct docs, or add other methods required.
Open to any comments you might have on progress!