How to use mode shape result after analysis

Post Reply
gookki
Posts: 36
Joined: Wed May 19, 2021 8:24 am

How to use mode shape result after analysis

Post by gookki » Mon Sep 06, 2021 6:02 am

https://www.youtube.com/watch?v=MJFf51Vi6ts

I took the 12th Webinar lecture and applied it to conduct a modal analysis of the slightly modified model.

With this mode analysis result, I would like to input the story shear force corresponding to the mode shape in a pushover method, but is there a way to check the shear force in the mode shape in the post processor?
Attachments
Week_12.zip
(516.74 KiB) Downloaded 10 times

marafini.f
Posts: 272
Joined: Fri Nov 13, 2020 1:52 pm

Re: How to use mode shape result after analysis

Post by marafini.f » Mon Sep 06, 2021 7:47 am

Dear gokki,
Mode shapes are one of the intrinsic dynamic characteristics of a structure, together with frequency and damping, I am sure you know that they represent deformations not force.

What you can do is extract the value of "ModesOfVibration(U)", which is the deformation in terms of displacement at a specific node of the structure, and then apply such values as a prescribed displacement to your structure in a load control pushover analysis. This was you can do a modal proportional pushover.

If you need any assistance in performing this let us know.

Enjoy your modeling:geek:
Francesca

gookki
Posts: 36
Joined: Wed May 19, 2021 8:24 am

Re: How to use mode shape result after analysis

Post by gookki » Mon Sep 06, 2021 9:49 am

How can I extract modes of vibration values from a specific node?
I tried many ways, but I couldn't find a way to pull it out with data. However, I understand that using the show function, I can check by reading the legend value by activating only the points in a specific location on the screen. Is there any better way?
Attachments
extract displacement data3.png
extract displacement data3.png (12.37 KiB) Viewed 209 times
extract displacement data2.png
extract displacement data2.png (111.78 KiB) Viewed 209 times
extract displacement data.png
extract displacement data.png (96.97 KiB) Viewed 209 times

marafini.f
Posts: 272
Joined: Fri Nov 13, 2020 1:52 pm

Re: How to use mode shape result after analysis

Post by marafini.f » Mon Sep 06, 2021 11:31 am

Dear gokki,

you can access the eigenvector values if you open the database with HDF viewer. Like this:
1.PNG
1.PNG (91.75 KiB) Viewed 207 times
If you know some tcl you can use the following script in a customCommand to run a modal analysis and save the eigenvector at a specified list of nodes:

Code: Select all

proc modal { num_modes filename1 {eig_solver -genBandArpack}} {

	# begin
	puts "\nRunning modal analysis ..."

	# get all node tags
	set nodes [getNodeTags]
	if {[llength $nodes] == 0} {
		error "modal - Error: no node in model"
	}

	# check problem size (2D or 3D) from the first node, we do not support mixed dimesions!!
	set ndm [llength [nodeCoord [lindex $nodes 0]]]

	# compute total masses
	if {$ndm == 3} { 
		set ndf_max 6 
		set total_mass {0.0 0.0 0.0 0.0 0.0 0.0}
		set mass_labels {"MX" "MY" "MZ" "MRX" "MRY" "MRZ"}
		set mass_labels1 {"MODE" "MX" "MY" "MZ" "MRX" "MRY" "MRZ"}
	} else {
		set ndf_max 3
		set total_mass {0.0 0.0 0.0}
		set mass_labels {"MX" "MY" "MRZ"}
		set mass_labels1 {"MODE" "MX" "MY" "MRZ"}
	}
	foreach node $nodes {
		set indf [llength [nodeDisp $node]]
		for {set i 0} {$i < $indf} {incr i} {
			set imass [nodeMass $node [expr $i+1]]
			set imass_total [lindex $total_mass $i]
			lset total_mass $i [expr $imass_total + $imass]
		}
	}

	# some constants
	set pi [expr acos(-1.0)]
	
	#modalDamping 0.02 0.02
	
	# solve the eigenvalue problem
	set lambdas [eigen $eig_solver $num_modes]
	if {[llength $lambdas] != $num_modes} {
		error "modal - Error: something went wrong in the eigen analysis"
	}

	#open a new document to record the values of the eigenvectors
	set fp1 [open $filename1 w]

	#set nodes_x {8} where we are interested in recording the eigenvectors TO BE EDITED!!!!
	set nodes_x {12 9 7 4 6 11}

	# process each mode of vibration
	for {set imode 0} {$imode < $num_modes} {incr imode} {

		# compute i-mode eigen analysis derived data
		set lambda [lindex $lambdas $imode]
		set omega [expr {sqrt($lambda)}]
		set omega [expr {sqrt($lambda)}]
		set frequency [expr $omega / 2.0 / $pi]
		set period [expr 1.0 / $frequency]

		foreach node $nodes_x {
			# get eigenvector
			puts $node
			set V [nodeEigenvector $node [expr $imode+1]]
			puts $fp1 "$node  $V"
		}

	}
	# done
	close $fp1
	puts "\nModal Analysis done\n"
}

#ask for the number of modes you want to extract
modal 4 "_eigenvectors.txt" "_frequencies.txt"
record


Unfortunately at the moment there is not the possibility to extract eigenvectors from the post-processor as a table.

gookki
Posts: 36
Joined: Wed May 19, 2021 8:24 am

Re: How to use mode shape result after analysis

Post by gookki » Tue Sep 07, 2021 2:57 am

Both methods were useful and well utilized. Thanks, especially the tcl language, which I haven't dealt with recently, but the code was very helpful.
It was also useful to check the analysis results with the hdf viewer.

marafini.f
Posts: 272
Joined: Fri Nov 13, 2020 1:52 pm

Re: How to use mode shape result after analysis

Post by marafini.f » Tue Sep 07, 2021 7:31 am

You are welcome. :geek:

Post Reply