byuflowlab / GXBeam.jl

Pure Julia Implementation of Geometrically Exact Beam Theory
MIT License
88 stars 19 forks source link

Eigen analysis of deflected beam? #101

Open RibeiroAndre opened 1 year ago

RibeiroAndre commented 1 year ago

Hi, Taylor. Can you advise on how to calculate the modal properties of a wing during a time_domain_analysis? Say a beam is vibrating and I'd like to do eigenvalue_analysis to see its eigenmodes and frequencies at different deflections. I'm not sure this is possible at the moment. Thanks a lot!

taylormcd commented 1 year ago

A linear model of a nonlinear system is a valid qualitative description of the nonlinear system (in a limited area) when the system is linearized about a steady state operating point. That's why the default is to perform eigenvalue analyses about steady state operating conditions. There is a steady keyword argument which you can use to skip the steady solve (the states in system will be used instead).

RibeiroAndre commented 1 year ago

Hi, Taylor. I tried doing this:

system,history,converged = time_domain_analysis(assembly, t;
    prescribed_conditions = prescribed_conditions,
    point_masses = structure.pointmass,
    structural_damping = false);
system, λ, V, converged = GXBeam.eigenvalue_analysis!(system, assembly, prescribed_conditions = prescribed_conditions, nev = 10, point_masses=pointmass,structural_damping=false,steady=false);
state = AssemblyState(system, assembly; prescribed_conditions);
eigenstates = [ AssemblyState(system, assembly, V[:,k]; prescribed_conditions)
    for k = 1:10 ];
write_vtk("eigenmodes", assembly, state, λ[1], eigenstates[1]);

But the eigenmodes are getting are identical to the undeformed beam and when I look at the VTK it is also undeformed. I'm deforming the beam quite aggressively, so I'd expect some effect on the eigenfrequencies and to see the eigenmodes on the deformed shape. Am I doing something wrong? Thanks a lot!

taylormcd commented 1 year ago

Looks like you might need to set linearization_state=system.x

RibeiroAndre commented 1 year ago

In the eigenvalue_analysis! calculation? It didn't seem to change anything. Also, after the eigenvalue_analysis, system.x is full of zeros. Thanks!