Coupled RC Core Wall with MVLEM-3D

kolozvari
Posts: 163
Joined: Tue Oct 05, 2021 9:22 pm

Re: Coupled RC Core Wall with MVLEM-3D

Post by kolozvari » Wed Feb 15, 2023 11:45 pm

Hello,

I have updated the coupling beams as you suggested and re-run the analysis with updated BeamWithShearHinge model. I did obtain some results, but I am not really sure what am I looking at and I would appreciate some additional clarification.

1) there are three options to process the results: 1) "Only Selection Set Elements", 2) "Selection Set Elements + Embedded Elements", 3) "Only Embedded Elements". Can you please clarify what these mean in the context of BeamWithShearHinge? I am assuming I should go with option 3 if I want to get stress/strain at the shear hinge.

2) Assuming that option 3 is correct choice in item 1, there are two columns of results for each coupling beam "eps11 (1) eps11 (2)". What are these referring to? Why eps11?

3) Since I have multiple coupling beams in selection sets there is a number of columns with results corresponding to each coupling beam. How do I know which column corresponds to which coupling beam? I don't see any identifying information in this regard as they are all called "ELE-GP".

Please let me know.

Thank you

STKO Team
Posts: 2068
Joined: Tue Oct 29, 2019 8:45 am

Re: Coupled RC Core Wall with MVLEM-3D

Post by STKO Team » Thu Feb 16, 2023 8:33 am

1) there are three options to process the results: 1) "Only Selection Set Elements", 2) "Selection Set Elements + Embedded Elements", 3) "Only Embedded Elements". Can you please clarify what these mean in the context of BeamWithShearHinge? I am assuming I should go with option 3 if I want to get stress/strain at the shear hinge.
  1. Only Selection Set Elements: Only the elements originally in the STKO's selection set (i.e. the Elastic beams in your case, since the zeroLength elements for hinges are added while writing the Tcl file)
  2. Selection Set Elements + Embedded Elements: As option 1 + all elements found in OpenSees that are fully embedded into elements in Option 1. (for fully embedded I mean that have all nodes shared by elements in the selection set). (i.e. Elastic Beams + zeroLength hinges in your case)
  3. Only Embedded Elements: this is Option 2 - Option 1: i.e. only zeroLength hinges in your case (This is what you want)

2) Assuming that option 3 is correct choice in item 1, there are two columns of results for each coupling beam "eps11 (1) eps11 (2)". What are these referring to? Why eps11?
A zeroLength element is a collection of multiple uniaxial materials (2 in your case, the first one is for Vy and the second one is for Vz).
In OpenSees, any uniaxial material that do not handle the "stress" or "strain" in their setResponse, will fall-back to the base-class implementation, that used "eps11" as label for the unique component (see UniaxialMaterial.cpp, line 250):

Code: Select all

    // strain
    else if (strcmp(argv[0],"strain") == 0) {
      theOutput.tag("ResponseType", "eps11");
      theResponse =  new MaterialResponse(this, 3, 0.0);
    }
Then STKO appends (1), (2), ... (N) if multiple components with the same label are found (Yes.. I know, element-based setResponse method in OpenSees unfortunately does not follow any rule for the names of the components)

In your specific case of BeamWithShearHinge:
  • eps11(1) (or sigma11(1)): shear displacement (or shear force) given by the uniaxial material Vy
  • eps11(2) (or sigma11(2)): shear displacement (or shear force) given by the uniaxial material Vz
beam_w_hinge.png
beam_w_hinge.png (31.98 KiB) Viewed 1314 times

3) Since I have multiple coupling beams in selection sets there is a number of columns with results corresponding to each coupling beam. How do I know which column corresponds to which coupling beam? I don't see any identifying information in this regard as they are all called "ELE-GP".
ELE-GP column will give you information about the zeroLength element:
out.png
out.png (32.78 KiB) Viewed 1314 times
The script could be further improved by adding a new column with a custom name (string) for the ELE-GP combo. This name could be a user-defined function of the X-Y-Z coordinates of the centroid of the element. In this way, based on the coordinates you can identify a name (like beam-first-floor-front-facade)...

kolozvari
Posts: 163
Joined: Tue Oct 05, 2021 9:22 pm

Re: Coupled RC Core Wall with MVLEM-3D

Post by kolozvari » Fri Feb 17, 2023 2:34 am

Thank you for the clarification, that makes more sense now. I need to plot maximum coupling beam rotations over the height of the building. To do that, I need to know the location of each coupling beam. Currently, the output gives tag of the zeroLength element, which can be related to the node, which can be related to the Z coordinate. The issue is that information about zeroLength elements is accessible only in elements.tcl, but it is not very easy to extract it as there is a lot of code around it. Is there a way to export all zeroLength element tags with nodes in a table format? Without this, I am not sure how can I create the plots that I am looking for...

Please let me know. Thanks,

STKO Team
Posts: 2068
Joined: Tue Oct 29, 2019 8:45 am

Re: Coupled RC Core Wall with MVLEM-3D

Post by STKO Team » Fri Feb 17, 2023 11:51 am

Try this:
extract_data_from_selection_sets.zip
(4.12 KiB) Downloaded 17 times

Put whatever you want in this custom function:
Custom1.png
Custom1.png (187.91 KiB) Viewed 1299 times


And you will have an extra column after the ID of the Hinge with your custom name:
Custom2.png
Custom2.png (27.3 KiB) Viewed 1299 times

kolozvari
Posts: 163
Joined: Tue Oct 05, 2021 9:22 pm

Re: Coupled RC Core Wall with MVLEM-3D

Post by kolozvari » Fri Feb 17, 2023 7:00 pm

That's perfect. Thank you.

STKO Team
Posts: 2068
Joined: Tue Oct 29, 2019 8:45 am

Re: Coupled RC Core Wall with MVLEM-3D

Post by STKO Team » Mon Feb 20, 2023 9:25 am

You're welcome

kolozvari
Posts: 163
Joined: Tue Oct 05, 2021 9:22 pm

Re: Coupled RC Core Wall with MVLEM-3D

Post by kolozvari » Tue Mar 07, 2023 10:48 pm

Hello there. I am still working on my coupled wall building. Currently, I am trying to run a pushover analysis - I have setup the model the best I could, and the model seems to run OK, but it is not able to converge to much of a roof displacements. Analysis fails after just a few percent of progress. The models runs fine for dynamic analyses (although without rigid diaphragms).

Can you please take a look at the model (attached) and let me know what you think? Is there anything I can do to improve its convergence?

Looking forward to hearing from you.

Thank you,
Last edited by kolozvari on Wed Mar 08, 2023 2:12 pm, edited 1 time in total.

STKO Team
Posts: 2068
Joined: Tue Oct 29, 2019 8:45 am

Re: Coupled RC Core Wall with MVLEM-3D

Post by STKO Team » Wed Mar 08, 2023 10:50 am

You can improve convergence in Disp-Control analysis by choosing a reference load such that the lambda (load multiplier computed by the Disp-Control analysis is about 1, i.e. not a huge nor a small number).
In your case, you can use the -fact of the "Add Pushover Load" set to 10000.

Then I also increased the number of iterations of the last analysis (it was 10, but are not enough for Krylov). I also had to decrease the error tolerance. When it's too high it can cause accumulation of error.
Attachments
Fixed_Base_NL_Structure_9_W_Slab_RD_Cols_4__ShearHingeBeam_2__2_Dmp_Rgn_Anal_1e12_Gravity_Pushover.zip
(2.89 MiB) Downloaded 14 times

kolozvari
Posts: 163
Joined: Tue Oct 05, 2021 9:22 pm

Re: Coupled RC Core Wall with MVLEM-3D

Post by kolozvari » Wed Mar 08, 2023 2:39 pm

Thank you for quick response. Unfortunately, this didnt fix the convergence issue. The model still fails at around 6% of progress. Any other suggestions? Can I implement somehow the resolution strategy? Again, the model works well for dynamic analysis.

Thank you.
Attachments
Capture.JPG
Capture.JPG (419.63 KiB) Viewed 1225 times

STKO Team
Posts: 2068
Joined: Tue Oct 29, 2019 8:45 am

Re: Coupled RC Core Wall with MVLEM-3D

Post by STKO Team » Thu Mar 09, 2023 11:17 am

Probably I sent you the files without this last change.
Try the 0-norm. It basically says that the tolerance in the test command is satisfied if all DOFs have an abs(error) < tolerance.

Instead, with the usual L2-norm, you enforce the norm of the vector of errors to be less than the tolerance. But when you have lots of DOFs, this norm can grow proportionally to the number of DOFs.
0_norm.png
0_norm.png (178.93 KiB) Viewed 1214 times

Post Reply