← Back to team overview

yade-users team mailing list archive

Re: [Question #217304]: contact stiffness in samples

 

Question #217304 on Yade changed:
https://answers.launchpad.net/yade/+question/217304

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hello Jessica,

I am sorry, but I don't understand your question very clearly.

Does your kn change while changing damping? If yes, then I would say that
something is wrong.

Is your question related to different interaction.phys.kn for different
interactions? If yes, then this behavior is expected. "kn" is computed for
each interaction at the moment of this interaction creation. The result
dpends on radii of both particles and on material parameters of both
particles.

Did I help you at least a bit? if not, sorry for spamming :-)
cheers
Jan


2012/12/20 jessica sjah <question217304@xxxxxxxxxxxxxxxxxxxxx>

> New question #217304 on Yade:
> https://answers.launchpad.net/yade/+question/217304
>
> Dear yade users,
>
> I made a bouncing of 4 spheres with different diameters.
> I varied the value of the damping (0.1 and 0.7) and I get the different
> value of contact stiffness (kn) used in the simulation.
> My question:
> How do you compute the contact stiffness? Is it kn is computed from the
> firs contact detected between the spheres?
> Your answer would be appreciated. Thank you
>
> I give you my script:
>
> # -*- coding: utf-8 -*-
> from yade import pack, plot
>
> # basic simulation showing sphere falling ball gravity,
> # bouncing against another sphere representing the support with cohesive
> contact law
>
> # DATA COMPONENTS
>
> # Geometry parameter to adapt
> rad1            = 0.2
> rad2            = 0.4
> rad3            = 0.6
> rad4            = 0.8
> young_val       = 1e7           # normal contact stiffness
>              (N/m2)
>                                                 # --- young_val=
> normal_contact_stiffness/radius
> pois_val        = 1.0                   # shear contact stiffness
>                       (N/m2)
>                                                 # --- pois_val=
> shear_contact_stiffness/normal_contact_stiffness
> dens_sp         = 2600          # density of the spheres
>              (kg/m3)
> angle_frict     = 30.0          # friction angle
>              (in degree)
> c_normal        = 1e6           # normal cohesion in contact
>              (N/m2)
> c_shear         = 1e6           # shear cohesion in contact
>               (N/m2)
>
> ## create materials for spheres and plates
> O.materials.append(CohFrictMat(
>         young=young_val,
>         poisson=pois_val,
>         density=dens_sp,
>         frictionAngle=radians(angle_frict),
>         normalCohesion=c_normal,
>         shearCohesion=c_shear,
>         momentRotationLaw=False,
>         isCohesive=True,
>         alphaKr=0.0,
>         alphaKtw=0.0,
>         etaRoll=0.0,
>         label='spheres'))
>
> # Blocked certain degress of freedom to make 2D-Model in plane-XZ
> for k in O.bodies:
>  if isinstance(k.shape, Sphere): k.state.blockedDOFs='yXZ'
>
> # add 2 particles to the simulation
> # they the default material (utils.defaultMat)
> O.bodies.append([
>    # fixed: particle's position in space will not change (support)
>    utils.sphere(center=(0,0,0),radius=rad1,fixed=True, material='spheres'),
>    # this particles is free, subject to dynamics
>    utils.sphere((0,0,2),rad2, material='spheres'),
>    # this particles is free, subject to dynamics
>    utils.sphere((0,0,4),rad3, material='spheres'),
>    # this particles is free, subject to dynamics
>    utils.sphere((0,0,6),rad4, material='spheres')
> ])
>
> # FUNCTIONAL COMPONENTS
>
> # simulation loop -- see presentation for the explanation
> O.engines=[
>    ForceResetter(),
>    InsertionSortCollider([Bo1_Sphere_Aabb()]),
>    InteractionLoop(
>       [Ig2_Sphere_Sphere_ScGeom6D()],        # collision geometry
>       [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow = True,
> setCohesionOnNewContacts = True)], # collision "physics"
>
> [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(always_use_moment_law=False)]
> # contact law -- apply forces
>    ),
>    # apply gravity force to particles
>    GravityEngine(gravity=(0,0,-9.81)),
>    # damping: numerical dissipation of energy
>    NewtonIntegrator(damping=0.7)
> ]
>
> # set timestep to a fraction of the critical timestep
> # the fraction is very small, so that the simulation is not too fast
> # and the motion can be observed
> O.dt=.5e-4*utils.PWaveTimeStep()
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.