How to set up spring-mass modal vibration model?

I have a demo modal model (KM_10b.liml) consisting of a single beam element with a mass at the end. The beam properties and mass have been chosen to vibrate at 1000 Hz. Although this runs correctly, I wanted to see if this could be set this up as a classic spring-mass model (i.e., with a true "spring"). To convert from KM_10b.liml to KM_100a.liml (the spring-mass model), I made the following changes to the material properties --
1. Changed the Geometric from General section to None.
2. Changed the Mechanical from Isotropic to Spring.
3. Set the Density to 0.

However, KM_100a.liml won't run because of a problem with the fixed support --



I don't know if this is the only problem.

Can a spring-mass model be set up as I envision? If so, I would think that I would also need to constrain the mass end to only vibrate in the X direction but the constraints don't seem to allow this (i.e., no elastic support, no frictionless support).

Mecway v.16, Windows 10.

Thanks,
Don C.

Comments

  • hi don,

    it's funny you posted this. i've been doing the same types of tests for the last week or so. i haven't looked at your files, as my head is spinning with my own tests. however, i just wanted to say that yes it's possible and the results do match hand calcs. there are a number of ways to build the model in mecway. i have tried a lot of combinations. they all agree to hand calcs. i'll leave it to someone else to find the specific issue with your model. i'm sure it can be worked out though.

    anthony
  • edited November 2022
    Forget about fixed support. Set x,y=0.

  • disla --

    That works. Thanks.

    (I may have some follow up questions regarding dynamic analysis of such models, likely in another post.)
  • Here some example
  • disla --

    Your example works well for the spring element.

    I tried applying this to the beam design (modifying modal KM_10b.liml). Dynamic model KM_20a.liml uses the CCX solver. It gives the following solver errors --



    I then changed the model to use the internal solver (dynamic model KM_30a.liml) which generated an ambiguous L4 error --



    I tried running these models with both a fixed support (per the modal analysis) and X-Y displacement supports but neither made any difference.

    (I inadvertently uploaded 2 copies of KM_10b.liml. I couldn't delete either because the delete option was below the bottom of the window, even after scrolling all the way down.)
  • edited November 2022
    That'll be due to lack of rotational inertia on the free node as well as no 2nd moment of area of the beam. You can add an arbitrary large value for 2nd moment of area and low rotational inertia (under Loads & Constraints) to put the bending mode's frequency above the one you're interested in.

    I'm not sure why it's not showing an error for those values being missing.
  • In dynamic analysis there are inertial forces.
    I would say the beam needs density too.

  • Hi Dculp, Prop_design

    Here there is an example with a beam in Dynamic 2D. Dynamic also needs a gravity load to convert the mass into an inertial load.
    I have found something that doesn’t seem to work but this is not my area and maybe I have set up something wrong. (Initial displacement)
    You both seem very experience in this area. Me and other users would appreciate if you can both confirm agreement with some analytical solution.
  • The L4 error results from lack of beam density. If the beam density is set to any low value (e.g., 1e-10 kg/m^3) then the 2nd moment of inertia has no effect (as long as nonzero).
    If the 2nd moment of inertia is 0 then the error is "Rigid body mode found." --




    The rotational inertia isn't needed.

    In theory (i.e., to model an ideal spring-mass system) the beam shouldn't need any density -- the beam should only need stiffness as long as a discrete mass is attached to provide the required inertia .

    Attached is the new model (KM_31a.liml). The result looks visually correct -- a sinusoid with ever increasing amplitude (in the absence of damping).



    Regarding the CCX solver -- Is dynamic analysis not possible for beam elements (per previous model KM_20a.liml)?
  • I think you need to switch to 3D
  • @dculp, Yes you can do dynamic response with beams in CCX but need to address those 3 error messages you posted.

    Giving the beam density also gives a rotational inertia to the free node so either way is OK but density is less pure because it alters the translational mass too.

    All these difficulties appear because it's a 2D or 3D simulation that you have to limit to 1D motion.
  • edited November 2022
    .
  • edited November 2022
    hi disla,

    i haven't tried the dynamic 2d option yet. i am somewhat confused on what that would mean. i'm used to modeling in the 3d. my test cases have only 1 axis of motion, so that i can compare to hand calcs. i have tested 1 and 2 dof mass spring dampers. i have got excellent agreement. the only issue i had is with the ccx solver. so i'm sticking with the mecway internal solver for now. the modal superposition option is the fastest. however, if you want acceleration output, you can't use that option. you also can't use rayleigh damping with that option.

    the hand calcs are very difficult to do. i have 12 pages of math using Mathcad 15. i use their eigenvals, eigenvecs, and statespace solvers. you have to formulate the mass, damping, and stiffness matrices as well.

    far too much to get into on the forum. needless to say, Mecway makes quick work out of complex problems. i think dculp mentioned this in a different post. it would be nice to have harmonic analysis. that is where the forcing function does a sweep of freqeuncies and you get plots of stress and displacement vs frequency. that is what i use to use in ansys. the existing dynamic analysis is ok, but the harmonic analysis is really useful.

    update:

    i misspoke when i said the mode superposition doesn't support rayleigh damping. actually, you have to use that. it doesn't support damping elements.
  • it would be nice to have harmonic analysis
    ¿Isn't CalculiX manual v2.20 7.117 *STEADY STATE DYNAMICS that?.?
    If this is what you are requesting, maybe it is possible with custom cards.

    First line:
    • *STEADY STATE DYNAMICS
    • enter any of the parameters you need.
    Second line for HARMONIC=YES (default):
    • Lower bound of the frequency range (cycles/time)
    • Upper bound of the frequency range (cycles/time)
    • Number of data points n (default: 20)
    • Bias (default: 3.)

  • edited November 2022
    @disla

    oh that's awesome. i will have to give that a try.

    thanks a lot.
  • edited November 2022
    hi disla,

    i guess the issue here is i'm having problems with the ccx dynamic solver. i don't think i'll be able to use that analysis type. it is the analysis i was asking for though. i'm not sure what the problems are with ccx dynamic. it is just having a lot of issues with the simple models i made.

    update; i should also say the ccx modal analysis is also having problems with the models. it is generating a lot of weird modes that the mecway solver is not. the mecway solver is generating the two modes i am calculating by hand. the ccx solver only gets the first one right then generates 6 additional incorrect modes. i get the feeling it could be the ccx expansion and some kind of problem with mapping the displacement constraints that i have. i say this because there is a lot of motion that i constrained showing up.
  • prop_design --

    I am curious about your CCX modal problem. I do a lot of modal analysis with CCX and so far have not encountered such problems. If you can upload your designs I can have a look.

    If you upload, it would be most helpful to have both the CCX and the internal solver's FEA models in the solved condition if the files aren't too large. This would avoid any possible system differences. Otherwise, just upload both unsolved models and I will attempt to solve, assuming my system resources are sufficient.
  • Beam model -- no stresses or strains calculated.

    The attached beam-mass model (KM_32a.liml) is the same as I posted yesterday (KM_31a.liml) except that I'm trying to determine the stresses and/or strains in the beam as the model oscillates. For a given displacement these should be uniform along the length of the beam and should be easy to calculate. However, all show the following problem --




    I then tried a static analysis (KM_32a_static.liml) with a 1 N axial load but it gave the same problem. (For this model, a force of 1 N on an area of 0.001 m^2 should give a stress of 1000 Pa. )

    The problem seems to be, "Field variables that it depends on exist -- NO". However, if there is a relative displacement then there must be a strain and, hence, a stress. (I exclude thermal effects from this general statement.)

    Mecway v.16, internal solver
  • Try Stress in element coordinates.


  • disla --

    There are a number of "stress in element coordinates". I tried 2 that seemed possible (s.uu.1 and s.uu.u) on the static model but both gave the same problem. Can you upload the corrected static model and/or the dynamic model?


  • disla --

    Also, I see only one reference in Mecway's manual to "stress in element coordinates" and couldn't find any in the CCX manual. Where can I find more info?
  • I have requeste it in the solution tree directly.
    Not a formula.
    Right click on top of Solution--->>New Stress and Strain-->Stress in element coordinates.

    Appart from that, I don't think the material properties are right in your file KM32a. If you look at displacements of the extreme node at scale factor 1, it is changind sign from +X to -X. Is that posible?

  • disla --

    For the static analysis with a scale factor 1, the FEA displacement at the free end of the beam is +1 m.

    The model has been set up with a modulus of 1000 Pa, an area of 0.001 m^2, and a length of 1 m so that the beam's axial stiffness k = E*A/L = 1 N/m. Thus, the displacement should be u = F/k = 1 N/(1 N/m) = +1 m (per the FEA result).



    For the static analysis I still can't get any stress output (all stresses indicated as 0).



    When I click on node 2 at the free end, the popup says --

    stress UU user defined point = NaN Pa
    Element 1 stress UU user defined pint = NaN Pa

    Attached is the updated static file (KM_32b_static.liml).


  • You need to input a value at the Second moment of area in your last file KM_32b_static.
  • disla --

    This gives the correct stress (1000 Pa). However, any value of the second moment of area (other than 0) gives the same stress. (Try 1e-10, 1e+10) In a way this makes sense since the beam isn't bending (pure axial load). I guess the solver doesn't know how to handle this when the second moment of area is 0 but the bending moment is also 0 (bending stress = M*Y/I = undefined). However, I think the preferred solution would be to assign the bending stress as 0 and then correctly calculate the axial stress.

    I'll try this with the dynamic model.
  • Sorry for all the frustration. I turns out that removing the note about beams and shells from stress in element coordinates created unexpected problems like this.

    "Field variables that it depends on exist -- NO" seems wrong. I think it should say YES. I'll look into this. But either way, it can't generate stress in global coordinates for beams with the internal solver.

    Also, it should be an error if 2nd moment of area is 0 but it's not detecting it and just generating a broken solution (NaN). I'll fix this in the next release (v18).
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!