Natural frequency of oscillation prediction

3DEC → Options → Damping

I am running “; Block under gravity - 3 critically damped cases”.

I want to use “block mech damp rayleigh stiffness” in my model. When I try the different block size I got different result as I predict. I change the upper block to a smaller block and the frequency seems not good(fig1) as shown in the example(fig2). Is there any suggestion to make it like the one in example?
image
fig1

image
fig2

======================================
Here is my code:

model new
model config dynamic
model large-strain on

block create brick 0 10 0 1 0 5
block create brick 3 7 0 1 5 10
block cut j-set or 0 0 5

block fix range pos-z 0 5
model grav 0 0 -10

block prop dens 1000

block contact gen-sub
block contact jmodel assign mohr
block contact property stiffness-normal 5e7 stiffness-shear 5e7
block contact material-table default property stiffness-normal 5e7 …
stiffness-shear 5e7

block mechanical damp rayleigh 0 0

hist interval 1
block his vel-z pos 5 0 10
block his disp-z pos 5 0 10
model his dynamic time-total

;no damping
model solve time 1
model title "Vertical displacement v time (undamped)

ret

I think the problem here is that there is a very coarse, asymmetric discretization of the faces. Try adding the command BLOCK FACE TRI RADIAL before generating the subcontacts. This will give a better, symmetric distribution of subcontacts and the velocity histories should look better.

1 Like

Thank you very much. It works.
But I still get some problem in the frequency part. I have two questions.

Question 1

I make two block the upper one is 1 * 1 * 1 times and the down one is 15 * 15 * 50 (fixed). In the Options-> Damping mention that the frequency can get form a function.
image
When I use this function I assume that the frequency show be 11.25cycle/second. But I got around 23 cycle/second in the result(fig1). Is there any misunderstand that I made?

Question 2

I try to use “block mech damp contact” command. What my input is 'block mech damp contact ‘group 1’ ‘2’ ‘test123’ 0.1 0 0.1 0 0.1 0 0.1 0 0.1 0 0.1 0 '. And make a error. Where can I change?

Here is the code:

code for the first question

========
model new
model config dynamic
model large-strain on

block create brick 7 8 7 8 50 51
block group “1”
block hide on
block create brick 0 15 0 15 0 50
block group “2”
block hide off

;block face tri radial range pos-z 0 10

block fix range group “2”
model grav 0 0 -10

block prop dens 2000

block contact gen-sub
block contact jmodel assign mohr
block contact property stiffness-normal 1e7 stiffness-shear 1e7
block contact material-table default property stiffness-normal 1e7 …
stiffness-shear 1e7

;block mechanical damp rayleigh 0 0

hist interval 1
block his vel-z pos 7.5 7.5 51
model his dynamic time-total

;no damping
model solve time 1
ret

======

code for the second question

=====
model new
model config dynamic
model large-strain on

block create brick 6.5 8.5 6.5 8.5 60 62
block group “1”
block hide on
block create brick 0 15 0 15 0 50
block group “2”
block hide off

block fix range group “2”
model grav 0 0 -10

block prop dens 2000

block contact gen-sub
block contact jmodel assign mohr
block contact property stiffness-normal 1e7 stiffness-shear 1e7
block contact material-table default property stiffness-normal 1e7 …
stiffness-shear 1e7

;block mechanical damp rayleigh 0 0

hist interval 1
block his vel-z pos 7.5 7.5 51
model his time
model his dynamic time-total

block mech damp contact ‘group 1’ ‘2’ ‘test123’ 0.1 0 0.1 0 0.1 0 0.1 0 0.1 0 0.1 0
model solve time 2
ret

Thank you very much

I can answer the second one. See here for the documentation for that command: block mechanical command — 3DEC 7.0 documentation (itascacg.com)

It should look something like:
block mech damp contact group1 ‘1’ group2 ‘2’ betaffn 0.1 betaffs 0 …

Note that in this case you will only have one contact so you don’t need to specify the groups. You also don’t need to give the zero values. So this will work:
block mech damp contact betaffn 0.1 betavvn 0.1 …

I’m not sure what’s going on with the first question. If you make the blocks the same size, then you get the expected frequency. I’ll look into it.

I just want to try different size in the beginning for the frequency. I have tried the upper block size with 2 * 2 * 2. And it suit the estimate value. But when size down to certain value the frequency become very strange.

There is a bug in the calculation of areas when you have rigid blocks with mismatching faces. The pseudo-static stresses and displacements are OK, but since the area is off (by a factor of 2) then the dynamic response is off (frequency is too high by a factor of 2).

I’ll work on a fix. In the short term, you can either use deformable blocks, or ensure the faces match by cutting and joining. For example:

block create brick 7 8 7 8 50 51
block group ‘1’
block hide on
block create brick 0 15 0 15 0 50

; cut and join to match top block
block cut joint-set dip 90 dip-dir 90 or 7 7 50
block cut joint-set dip 90 dip-dir 90 or 8 7 50
block cut joint-set dip 90 dip-dir 0 or 7 7 50
block cut joint-set dip 90 dip-dir 0 or 7 8 50
block join

block group ‘2’
block hide off

I have some questions when I do some simple test. The attached file is that I build a sliding model and try to use “block mech damp contact” command. I know what the friction angle is in the material. But I found the contact is different when I compared to the laboratory test. I want to reduce the normal contact by using “block mesh damp contact”. Here are my questions.

  1. It takes a long time when I simulate only one block. Is there any other damping you can suggest me to use? Or is there any way to reduce the calculation time?

  2. I have asked the sub-contact identify question before. Would the judgement become strange or error when I use rigid body in this case?

;;;;

model new
model config dy lh
model large-strain on
block tolerance edge 0.00002
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
block create brick -1.9927 0 -0.2 2.3746 -0.2 0.2
;block cut joint-set dip 0 dip-direction 0 ori 0 1 0
;del range y 1 9999999999
;block create brick 310cos,0,thickness, 310sin+30cos, channel wide
block cut joint-set dip 60 dip-direction 90 ori 0 -0.15 0
;thickness 0.5 0.5cos
block delete range plane below dip-direction 90 dip 60 ori 0 -0.15 0

block cut joint-set dip 30 dip-direction 270 ori -1.9927 2.3746 0
block delete range plane above dip-direction 270 dip 30 ori -1.9927 2.3746 0
;hight 50cm 50*sec
block cut joint-set dip 60 dip-direction 90 ori 0 0.7778 0
block delete range plane above dip-direction 90 dip 60 ori 0 0.7778 0
mark region 4

block cut joint-set dip 90 dip-direction 0 ori 0 0 0.15
block cut joint-set dip 90 dip-direction 0 ori 0 0 -0.15
block hide range position-z -0.15 0.15
mark region 5

block hide off

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11:13

block hide on range region 5

block cut joint-set dip 60 dip-direction 90 ori 0.00000 0.001 0.000000
block hide on range plane above dip 60 dip-direction 90 ori 0.00000 0.001 0.000000

mark region 1
block hide on

;;deposited area
block create brick 0 0.005 0 0.5 -1 1.01
block cut joint-set dip 90 dip-direction 0 ori 0 0 0.15
block cut joint-set dip 90 dip-direction 0 ori 0 0 -0.15
block delete range plane position-z -0.151 0.151
mark region 3

block hide on

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11:14

block create brick 0 1.5 -0.1 0 -1.00 1.00
mark region 2
block hide on
block create brick 0 1.5 0 0.30 -1.005 -1.00
block create brick 0 1.5 0 0.30 1.00 1.005

mark region 3
block hide on

block hide off
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
block hide on range region 4

block join on
block hide on
block hide off range region 4

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
block cut joint-set dip 90 dip-direction 0 ori 0 0 0.144
block cut joint-set dip 90 dip-direction 0 ori 0 0 -0.144
block del range plane position-z -0.151 -0.144
block del range plane position-z 0.144 0.151
block hide on

block hide off region 4

block join on

block cut joint-set dip 60 dip-direction 90 ori 0 0.063391 0
block delete range plane above dip-direction 90 dip 60 ori 0 0.063391 0

block cut joint-set dip 30 dip-direction 270 ori -0.5000067 0.865987 0
block delete range plane below dip-direction 270 dip 30 ori -0.5000067 0.865987 0

block cut joint-set dip 30 dip-direction 270 ori -0.516069 0.893699 0
block delete range plane above dip-direction 270 dip 30 ori -0.516069 0.893699 0

block cut joint-set dip 90 dip-direction 0 ori 0 0 0.016
block delete range plane above dip-direction 0 dip 90 ori 0 0 0.016

block cut joint-set dip 90 dip-direction 0 ori 0 0 -0.016
block delete range plane below dip-direction 0 dip 90 ori 0 0 -0.016

block hide off

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
model gravity 0 -9.81 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
block property density 1170 range region 1,2,3,5,7
block property density 2750 range region 4

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;’
block contact generate-subcontacts
block contact prop stiffness-norm=1e9 stiffness-shear=1e9 friction=17.8 range region 1,2,3,5,7
block contact prop stiffness-norm=1e9 stiffness-shear=1e9 friction=24.2 range region 4
block contact material-table default prop stiffness-norm=1e9 stiffness-shear=1e9 fric=17.8

;;;;;;;;;;;;;;;;;;;;;;;
block hide off
block fix range region 1 2 3 5

block mech damp contact betaffn 0.5 betavvn 0.5 betaven 0.5 betavfn 0.5 betaefn 0.5 betaeen 0.5

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

model solve time 3
program return

The left-handed coordinate system is no longer supported. Please reformulate the problem for a RH system and send to technical support.