0

I need to implement in C a method of obtaining transient solution Rdm of damped FE models based on modal results R for a structural model (imported CAD geometry) defined with hysteretic (structural) damping, the method is also available in Matlab by using Rdm = solve(model,tlist,"ModalResults",R);

However, the main problem is how to get damping matrix for this model (structural, not proportional from above defined hysteretic damping). Every route I took from the below listed in solving this problem, finally appears to be problematic:

  1. I cannot find any information how the above mentioned application of solve function was implemented in Matlab,
  2. I tried to get this damping matrix using assembleFEMatrices in Matlab function but it does not give damping matrix despite its usage in structural model as hysteretic damping,
  3. I tested reduce function based on Craig-Bampton reduction method, but it similarly does not give damping matrix, only stiffness and mass matrices,
  4. I was checking if modal analysis performed for a damped model (hysteretic damping) can return any information about damping, but I suppose it does not. Do you have any clue how to solve this problem and get the full data about the model or the algorithm for C implementation ?

Edit: The most promising idea so far it seems to me to get stiffness, mass and damping matrices from geometry mesh in the same way as matlab function assemblefematrices assuming hysterestic damping for the model. I believe it was already solved and used in many tools but I am not able to reach the proper document.

Thanks, Piotr

Piotr
  • 1
  • 1
  • You can't get a damping matrix out of any model with just mass and stiffness. It's up to you to add it in. Viscous damping, proportional to velocity, or Coulomb damping come to mind. – duffymo Jul 17 '23 at 18:20
  • OK. What about hysteretic damping as mentioned above (equal to let's say 0.1 for the whole structure)? How to add it to the model ? – Piotr Jul 19 '23 at 06:52
  • Proportional to velocity? If yes, calculate an appropriate damping factor corresponding to your 0.1 (units?) for the whole structure and add that to the equation: Mx'' + Cx' + Kx = F. You need to add the C matrix to the formulation. – duffymo Jul 19 '23 at 12:11
  • Yes, but I dont know how to get C matrix or damping factor from 0.1. – Piotr Jul 20 '23 at 14:19
  • In literature hysteretic damping is related to so called loss factor and it depends on displacement. In both Matlab and the literature it has no unit. After reviewing this topic one more time and reading some articles from Comsol it appears the hysteretic damping extends the Young’s modulus to its imaginary part called loss modulus. They further explained it can be included in the stiffness matrix as K’ = K(1+j*lossFactor). Can someone confirm this, i.e. that it can be included as presented and that Matlab uses the same definition of hysteretic damping ? – Piotr Jul 20 '23 at 14:19
  • I've never worked with an FEA solver that allowed complex numbers in the stiffness matrix. I guess Matlab gives you the flexibility to do whatever you can specify. You still have that physics issue of how to specify the hysteretic damping factor. You'd quoted a value of 0.1. I don't know how you'll confirm that experimentally. Do you have plans to measure the transient decay of dynamic response due to some transient excitation? – duffymo Jul 20 '23 at 14:46
  • I am not sure if Matlab gives such possibility. Or in other words, so far I have tested how to give input - hysteresis damping and obtain result of analysis. I still try to know the method which is inside to implement it on my own. I assumed this knowledge should be rather available but try to confim. For sim some value of loss factor can be taken from literature (e.g. Comsol, Damping in Structural ... by Henrik Sonnerlind). I didnt analyze how to measure it so far, but I see a couple of articles so I think it is manageable, may come down to transient decay or dynamic response, as you wrote. – Piotr Jul 21 '23 at 15:41

1 Answers1

0

As far as I can tell, extracting a damping matrix directly from Matlab, when it's specifically related to structural (hysteretic) damping, is a bit like trying to find a needle in a haystack. Let's try and sort this out , though!

Matlab's solve function: Unfortunately, it's almost like a "black box" in terms of implementation , because Matlab's internal coding isn't typically open to the public. Not much to do there, really.

assembleFEMatrices: As far as I know , this function can only get you so far as to provide mass and stiffness matrices. The lack of a damping matrix option is a bummer. It seems like a weird oversight, doesn't it?

Craig-Bampton reduction: The sad news here is that this method is typically only used for providing reduced mass and stiffness matrices. The damping matrix usually doesn't get a ticket to this party.

Modal analysis: You're right. The damping information isn't usually available from a standard modal analysis.

So , where do we go from here? It seems like your best bet might be to construct the damping matrix manually. You'd probably need to incorporate the damping ratio associated with each mode of vibration. That's a bit of a hands-on process and would likely involve using the mass and stiffness matrices you've already got.

You could also try a Rayleigh Damping approach where you express the damping matrix as a combination of the mass and stiffness matrices. But remember , this type of damping is proportional and might not accurately reflect the hysteretic damping you're after.

Implementing this process in C might involve creating a loop to calculate each element of the damping matrix based on the damping ratios , and the corresponding elements of the mass and stiffness matrices.

  • Thanks for discussion. Thats right, I rather need hysterestic damping not Rayleigh as proportional – Piotr Jul 08 '23 at 12:22
  • Thats right, I rather need hysterestic damping not Rayleigh as proportional. The Craig-Bampton method seems to support derivation od reduced damping matrix as presented in Primer on the Craig-Bampton doc. I believe a method of assembling matrices including damping matrix from geometry mesh and hysterestic damping should be known and solved somethere available, similarly as assemblefematrices matlab function – Piotr Jul 08 '23 at 12:34