yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #08980
Re: [Question #243909]: Representing beams, wires, grids, with connected cylinders
Question #243909 on Yade changed:
https://answers.launchpad.net/yade/+question/243909
Klaus Thoeni posted a new comment:
Hi David,
self-contact for the WireMat is not included yet but should be straight
forward to implement. It's on my very long todo list.
One other think I should mention that the remote interaction can only have
tensile forces, i.e. stiffness in compression is equal to zero.
An other option of simulating a membrane with self-contacting spheres is with
Luc's JCFpmMat, see example below.
Cheers
Klaus
# -*- coding: utf-8 -*-
from yade import utils, pack
R=1.
#### materials
blocMat =
O.materials.append(JCFpmMat(young=1e6,poisson=0.3,frictionAngle=radians(30),density=2600))
netMat =
O.materials.append(JCFpmMat(young=1e6,poisson=0.3,frictionAngle=radians(30),density=2600,tensileStrength=1e8,cohesion=1e5))
#### create membrane
O.bodies.append(pack.regularOrtho(pack.inAlignedBox((-5*R,0,-R),
(5*R,R/4,R)),radius=R/10.,gap=0,material=netMat))
#### create non dynamic body
O.bodies.append(utils.facetCylinder([0,-2*R,0.0],radius=R,height=2*R,dynamic=False,wire=False,color=[0,0,1],material=blocMat))
#### for viewing it
from yade import qt
qt.Controller()
qt.View()
#### simulation
## to define interaction range for which cohesive links will be created
interactionRadiusFactor=1.1
## engines definition
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=interactionRadiusFactor,label='aabb'),Bo1_Facet_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=interactionRadiusFactor,label='Ig2ssGeom'),Ig2_Facet_Sphere_ScGeom()],
[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')],
[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(label='interactionLaw')]
),
NewtonIntegrator(gravity=[0.,-9.81,0.],damping=.2)
]
## time step definition
O.dt=0.1*utils.PWaveTimeStep()
#### run first time step to create cohesive link (cohesiveTresholdIteration=1)
O.step()
#### initialize the interaction detection factor for subsequent time steps
(negative factor means deactivation)
aabb.aabbEnlargeFactor=-1.
Ig2ssGeom.interactionDetectionFactor=-1.
On Monday 17 February 2014 05:36:02 David Zhang wrote:
> Question #243909 on Yade changed:
> https://answers.launchpad.net/yade/+question/243909
>
> Status: Solved => Open
>
> David Zhang is still having a problem:
> Hello Klaus and Bruno,
>
> I have read the suggested papers and now have a better understanding of
> the chained cylinders and remote interactions.
>
> I think previously I misunderstood Klaus' message (#4) on wire-wire
> contacts. The self contacts of wires I meant are not the remote interaction
> between two adjacent wire nodes. Actually they are the contacts between two
> arbitrary wires. This could occur when a flexible structure undergoes large
> deformation, e.g. 1) folding a soft net from an spread state to a folded
> state;
> 2) axially compressing a soft spring to its shortest length.
>
> It seems that this types of self-contacts have not been included by Yade
> yet. So is there a straightforward way to consider the self-contacts of
> wires in Yade?
>
> Many thanks,
>
> David
>
> --
> 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.