Anda di halaman 1dari 20

Date: September 15, 2011

To: PFC Development Files


From: David Potyondy and Sacha Emam
Re: PFC3D 4.0 manual modifications
Ref: 8508, PFC3D Development

1.0 ADDITIONAL KEYWORDS FOR {WALL TYPE DISK} COMMAND
The geometry of a disk wall is defined by the following keywords:
rad r
radius
norm nx ny nz
normal vector
xc x
center (x-coordinate)
yc y
center (y-coordinate)
zc z
center (z-coordinate)

2.0 MODIFY WALL STATE INFORMATION FISH INTRINSICS
Modify Table 2.19 Wall state information functions to add write access to FISH intrinsics: w_x,
w_y, w_z and w_pos. This modification was made to PFC3D 4.0-126.

3.0 MODIFY BASIC FLUID ANALYSIS FISH INTRINSICS
Fish intrinsics FC_XFAP, FC_YFAP, and FC_ZFAP now return the body force per unit volume in
a given fluid cell. The fish intrinsics B_XFFAP, B_YFFAP and B_ZFFAP return the buoyancy and
drag force applied by the fluid to the particle. The sample problems drop1.dat, drop2.dat and
PFC3D 4.0 manual modifications Page 2

porous1.dat have been updated to include examples of the use of these intrinsics. This
modification was made to PFC3D 4.0-131.

4.0 MODIFY WALL SUPPORT FISH INTRINSIC
Modify behavior of FISH intrinsic w_type as follows.
w_type( wp ) wall type. Value of one indicates standard wall, while other values
indicate general wall: cylinder (2), disk (3), line3d (4), ring (5), sphere (6)
and spiral (7).
This modification was made to PFC3D 4.0-133.

5.0 NEW WALL-FACE FISH INTRINSICS
The following new FISH intrinsics have been added to PFC3D 4.0-133: wf_id, wf_vnum and
wf_vpos. These intrinsics are to be added to Table 2.20 Wall-face functions (3D only) as follows.
type function name
INT wf_id( WF_PTR wfp )
INT wf_vnum( WF_PTR wfp )
FLT wf_vpos( WF_PTR wfp , INT v , INT d )
wf_id( wfp ) ID number of face wfp. Each face of a standard wall has a unique
positive ID number starting with one.
wf_vnum( wfp ) number of vertices of standard wall, or error if wfp is not a
standard wall see w_type. Standard infinite walls have no
vertices.
wf_vpos( wfp, v, d ) position of vertex v ( { } 1, 2, , v n , n is returned by wf_vnum; d-
component, { } 1, 2, 3 d ) of standard wall, or error if wfp is not a
standard wall see w_type. Vertex ordering is defined by the
WALL FACE command.

PFC3D 4.0 manual modifications Page 3

6.0 NEW FISHCALL FC_CONT_ACTIVE
The Fishcall FC_CONT_ACTIVE has been added to PFC3D 4.0-139. The active status is defined
by FISH intrinsic c_active(cp). The following line is to be added to Table 2.2 Association
between FISHCALL-IDs and triggering events:
ID triggering event fc_arg(0) fc_arg(1)
24 contact active status changed contact address active flag
The following line is to be added to Example 2.13 Association between FISHCALL-IDs and macro
names (reprint of file fishcall.fis):
macro FC_CONT_ACTIVE 24 ; contact active-status changed
; (contact addr., active flag)
PFC3D 4.0 manual modifications Page 4

7.0 PARALLEL BOND ENHANCEMENT
The parallel bond behavior has been enhanced in PFC3D 4.0-142. The current behavior of the
parallel bond (denoted here as the standard bond model) is not affected by these modifications, and
thus, existing data files will continue to work as before. Two new behaviors are provided. (1) The
stress in the parallel bond ( and ) is used to determine if the bond will break; the bond breaks if
either
c
or
c
. In the standard model, the parallel-bond moment contributes to the stress; in
the enhanced model, the moment contribution is controlled by the parameter such that

s
n
i
s n
i
M
F
R
A I
F M
R
A J

= +
= +

The parameter is a new parallel-bond property called the moment-contribution factor. Setting
1 = gives the behavior of the standard model. (2) A Mohr-Coulomb strength envelope (see Figure
1) is provided such that the parallel-bond shear strength is a function of cohesion ( c ), friction angle
( ) and confining stress. The parameters c and are new parallel-bond properties. In the
standard model, the shear strength (
c
) is a property, and if this property is specified, then the code
sets
c
c = and 0 = to give the behavior of the standard model.

Figure 1 Mohr-Coulomb strength envelope for a parallel bond
The following lines are to be added to the Parallel-Bond Properties section of the PROPERTY
command:
pb_mfac moment-contribution factor ( , by default 1 = )
pb_coh cohesion ( c , 0 c ) [stress]
PFC3D 4.0 manual modifications Page 5

pb_fa friction angle ( , 0 ) [degrees]
Add the following three lines to the Parallel-Bond Model section of the PROPERTY command:
pbp_mfac moment-contribution factor
pbp_coh cohesion [stress]
pbp_fa friction angle [degrees]
These FISH intrinsics are to be added to Table 2.21 Parallel-bond physical property functions as
follows.
type function name modifiable
FLT pb_mfac( PB_PTR pbp ) yes
FLT pb_coh( PB_PTR pbp ) yes
FLT pb_fa( PB_PTR pbp ) yes
FLT pb_sstrength( PB_PTR pbp ) yes

pb_mfac( pbp ) moment-contribution factor ( )
pb_coh( pbp ) cohesion ( c ) [stress]
pb_fa( pbp ) friction angle ( ) [degrees]
pb_sstrength( pbp ) shear strength (
c
) [stress]. This is provided for backwards
compatibility. If shear strength is specified, then the code sets
c
c = and 0 = to give the behavior of the standard model.
PFC3D 4.0 manual modifications Page 6

These FISH variables are to be added to Table 3.3 Short-term micro-properties in the FISH in
PFC3D volume.
symbol FISH symbol FISH type default name
parallel-bond properties:
pb_mcf()
FLT(
m
n )
1.0 moment-contrib. factor
c (mean) pb_coh_mean()
FLT(
m
n )
NA cohesion, mean
c (std. dev.) pb_coh_sdev()
FLT(
m
n )
0.0 cohesion, std. dev.
pb_phi()
FLT(
m
n )
0.0 friction angle

PFC3D 4.0 manual modifications Page 7

8.0 NEW CLUMP PROPERTY MOI_PMASS
The command CLUMP property moi_pmass on/off has been added to PFC3D 4.0-143.
Add the following keyword to the CLUMP PROPERTY command:
CLUMP property
moi_pmass off (default)
on
Specifying moi_pmass on causes the moments of inertia (
ii
I ) to be computed
assuming that the constituent particles are point masses, and thus, have a
radius of zero.

9.0 NEW BPM BEHAVIOR: ALL LOAD CARRIED IN PBOND
The PFC Fishtank 1-86 has been enhanced to provide a new bonded-particle material for which all
load at each parallel-bonded contact is carried in the parallel bond, and after the parallel bond breaks,
then load is carried in the standard grain-grain contact. The new material is created by specifying a
non-zero value for
_ pb all
B in the parallel-bond properties section of the short-term micro-properties.
The following FISH variable is to be added to Table 3.3 Short-term micro-properties in the FISH in
PFC3D volume.
symbol FISH symbol FISH type default name
parallel-bond properties:
_ pb all
B
pb_all BOOL 0 all load in pbonds flag

PFC3D 4.0 manual modifications Page 8

10.0 FISH ACCESS TO THERMAL CONDUCTIVITY TENSOR
The ability to compute and obtain the values of the thermal-conductivity tensor from a measurement
sphere via FISH has been added to PFC2D/3D 4.0-145. The first sentence above Table 2.24
Measurement-sphere state information functions should be modified to read:
Note that current values for stress, strain rate or thermal conductivity components are only
available after the measure function has been executed.
These FISH intrinsics are to be modified as noted or added to Table 2.24 Measurement-sphere state
information functions as follows.
type function name availability
INT measure( M_PTR mp, INT code ) blank
FLT m_tc11( M_PTR mp ) blank
FLT m_tc12( M_PTR mp ) blank
FLT m_tc13( M_PTR mp ) 3D only
FLT m_tc21( M_PTR mp ) blank
FLT m_tc22( M_PTR mp ) blank
FLT m_tc23( M_PTR mp ) 3D only
FLT m_tc31( M_PTR mp ) 3D only
FLT m_tc32( M_PTR mp ) 3D only
FLT m_tc33( M_PTR mp ) 3D only

measure( M_PTR mp, INT code )
computes all stress components (if code equals 1), all strain rate
components (if code equals 2) or all thermal conductivity
components (if code equals 3 and the thermal option is active) of
measurement circle mp, and stores the results in the corresponding
data structures associated with mp, such as m_ed11, m_s11, etc.
The return value is undefined.
m_tc11( M_PTR mp ) thermal conductivity (11-component, {1,2,3}={x,y,z})
m_tc12( M_PTR mp ) thermal conductivity (12-component, {1,2,3}={x,y,z})
m_tc13( M_PTR mp ) thermal conductivity (13-component, {1,2,3}={x,y,z})
m_tc21( M_PTR mp ) thermal conductivity (21-component, {1,2,3}={x,y,z})
m_tc22( M_PTR mp ) thermal conductivity (22-component, {1,2,3}={x,y,z})
m_tc23( M_PTR mp ) thermal conductivity (23-component, {1,2,3}={x,y,z})
m_tc31( M_PTR mp ) thermal conductivity (31-component, {1,2,3}={x,y,z})
m_tc32( M_PTR mp ) thermal conductivity (32-component, {1,2,3}={x,y,z})
m_tc33( M_PTR mp ) thermal conductivity (33-component, {1,2,3}={x,y,z})
PFC3D 4.0 manual modifications Page 9

11.0 CONTACT MOMENT MADE PERSISTENT
The moment stored at each contact is now persistent and consistent with the local contact coordinate
system in PFC2D/3D 4.0-150. This behavior is not supported by the parallel-processing option,
because the moment is not transferred parallel-processing partitions. There is a new command
PRINT contact moment, and new FISH intrinsics c_mom, c_tmom and c_vbmom.
This modification affects the behavior of the user-defined contact model (UDM) option. Before this
modification, the moment passed into a UDM was always zero. After this modification, the moment
passed into a UDM is the current value that is consistent with the contact normal.
Add the following keyword to the PRINT CONTACT command:
PRINT contact
moment contact-model moment (does not include parallel-bond moment)

These FISH intrinsics are to be added to Table 2.15 Contact state information functions as follows.
type function name modifiable availability
FLT c_mom( C_PTR cp ) yes 2D only
FLT c_tmom( C_PTR cp ) yes 3D only
FLT c_vbmom( C_PTR cp, INT dof ) yes 3D only

c_mom( cp ) bending moment in contact model (
b
M ). The moment vector ( M),
acting on entity 2, is given by

b
M = M k , where

k is a unit-vector
in the positive z-direction.
c_tmom( cp ) twisting moment in contact model (
n
M ). The moment vector ( M),
acting on entity 2, is resolved into normal (
n
M ) and shear (
s
M )
vectors w.r.t. the contact plane s.t. = +
n s
M M M . The normal
vector
n
M =
n
M n , where
n
M is the twisting moment and n is the
contact unit-normal vector.
c_vbmom( cp, dof ) bending-moment vector in contact model (
s
M ). The moment
vector ( M), acting on entity 2, is resolved into normal (
n
M ) and
shear (
s
M ) vectors w.r.t. the contact plane s.t. = +
n s
M M M . The
shear vector, also called the bending-moment vector, is given by
s
M , where
s
M lies in the contact plane.
PFC3D 4.0 manual modifications Page 10

Modify Eqn. (1.34) in the Theory and Background volume of PFC3D 4.0 manual to read as follows.
and the contact translational (
n
k and
s
k ) and rotational (
n
k

and
s
k

) stiffnesses,
which are given by

n n
n
s s
s
s
n rn
n
s rs
k k k A
k k k A
k k J k
k k I k

= +
= +
= +
= +

where
n
k and
s
k are the contact stiffnesses;
n
k and
s
k are the parallel-bond stiffnesses;
A, J and I are the area, polar moment of inertia and moment of inertia, respectively, of
the parallel-bond cross section; and,
rn
k and
rs
k are the rotational stiffnesses of a user-
defined model.
PFC3D 4.0 manual modifications Page 11

12.0 MATERIAL TESTING SURFACE MOTION CONTROL
PFC Fishtank 1-94 in PFC2D/3D 4.0-151 has been modified as follows. The motion of the loading
surfaces during compression, direct tension and Brazilian tension tests can now be specified as either
(1) both surfaces moving equal and opposite to one another (the previous behavior and the default),
or (2) one surface fixed and the other surface moving.
The FISH variable mt_pm is to be added and the description of the FISH variable mt_psr is to be
modified in Table 3.4 Material-testing parameters in the FISH in PFC3D volume.
symbol FISH symbol FISH type default name
strain-application control:
p
B
mt_pm BOOL 0
platen-motion flag
( ) 0
s
B =
both platens, 0
top platen only, 0
p
p
B
B
=


p

mt_psr FLT NA
final platen strain rate
( ) 0
s
B =
platen velocity:
1
2
, 0
, 0
p o p
p
p o p
L B
v
L B



PFC3D 4.0 manual modifications Page 12

13.0 ENHANCED VISUALIZATION SUPPORT
PFC2D/3D 4.0-155 has been modified to support the Enhanced Visualization upgrade to PFC3D 4.0
as follows.
The FISH intrinsic ev_mode is to be added to Table 2.32 General intrinsic utility functions in
PFC3D 4.0 manual as follows:
type function name modifiable
INT ev_mode blank

ev_mode a non-zero value indicates that the Enhanced Visualization upgrade
to PFC3D 4.0 is active (and PFC3D_EV is running); otherwise, it is
not active (and either PFC2D or PFC3D is running).
PFC3D 4.0 manual modifications Page 13

14.0 MODIFICATION TO PFC3D JSET COMMAND
The JSET command has been modified in PFC3D 4.0-156 as follows. The write keyword has been
added to enable output to an ASCII file of the geometric information of the generated joint set
only joint sets of finite circular disks can be output. This modification only affects PFC3D.
Add the following keyword to the JSET command in the Command Reference volume of the
PFC3D 4.0 manual:
JSET id id keyword <keyword...> <range>
The following keywords are available:
write fname
Write the geometric information of the generated joint set consisting of finite circular
disks to the file fname in ASCII format. If fname is not specified, if a file with name
fname already exists, or if the keyword radius is not specified with a non-zero value,
then a warning is issued and the joint set is not generated. The output format is
defined as follows:
line 1: Joint set generated by PFC3D 4.0.
line 2: Total number of finite circular disks [integer]
For each disk, two lines containing:
jset_id cen_x cen_y cen_z
dip dd rad
where
jset_id joint set id [positive integer]
cen_x center, x-component [float]
cen_y center, y-component [float]
cen_z center, z-component [float]
dip dip angle [float, degrees]
dd dip direction [float, degrees]
rad radius [float].
The disk unit normal is defined by the dip angle (
p
) and dip direction (
d
) via

( ) ( ) ( ) ( ) ( ) ( )
sin sin , sin cos , cos .
p d p d p
=
j
n
PFC3D 4.0 manual modifications Page 14

15.0 ADDITION OF CLUMP DISPLACEMENT TRACKING
The clump logic has been modified in PFC2D/3D-4.0.162 as follows. Tracking of the translational
displacement of the clumps has been added. New commands are provided to initialize and print this
new model state variable (vector in 2D/3D space), as well as new clump state information FISH
functions to query and modify it. This modification affects both PFC2D and PFC3D. Note that if
new particles are added to a clump, or if the densities or radii of its constituent particles are
modified, then the position of its centroid may be translated and this translation is accumulated in the
displacement. The datafile cldisp.dat
1
illustrates this behavior.
Add the following keyword to the CLUMP PROPERTY command in the Command Reference
volume of the PFC3D 4.0 manual:
CLUMP property keyword value <keyword value...>
assigns the specified property to all clumps in the range. The following properties are
available:

xdisplacement accumulated displacement (x-component) [distance]

ydisplacement accumulated displacement (y-component) [distance]

zdisplacement accumulated displacement (z-component) [distance]

Add the following keyword to the PRINT CLUMP command in the Command Reference volume of
the PFC3D 4.0 manual:
PRINT clump <keyword>
clump data. Optional keywords can be specified to display selected clump data. The following
keywords are available:

displacement accumulated displacement of centroid


1
This datafile is located in data_files3d\CommandReference.
PFC3D 4.0 manual modifications Page 15

The following FISH intrinsics are to be added to Table 2.28 Clump state information functions
between existing intrinsics cl_z and cl_vvel, and described as follows:
type function name modifiable availability
FLT cl_vdisp( CL_PTR clp, INT dof ) yes blank
FLT cl_xdisp( CL_PTR clp) yes blank
FLT cl_ydisp( CL_PTR clp) yes blank
FLT cl_zdisp( CL_PTR clp) yes 3D only

cl_vdisp( CL_PTR clp, INT dof ) accumulated displacement (dof-component, dof
{1,2,3})
cl_xdisp( CL_PTR clp) accumulated displacement (x-component)
cl_ydisp( CL_PTR clp) accumulated displacement (y-component)
cl_zdisp( CL_PTR clp) accumulated displacement (z-component)
PFC3D 4.0 manual modifications Page 16

16.0 FRACTURE-TOUGHNESS (KIC) MEASUREMENT
PFC Fishtank 1-98 in PFC2D/3D 4.0-163 has been modified to support measurement of mode-I
fracture toughness (
Ic
K ). A direct-tension test (as described in the PFC Fishtank chapter of the
PFC3D 4.0 manual) is performed on a flat plate with a through-thickness crack (see Figure 2). The
system mimics the middle-tension panel of Figure 12.1d in Anderson (1991), in which the stress-
intensity factor is given by

2 4
I
, sec 1 0.025 0.06 .
4 2
P f a a a a
K f
W W W W B W

(
| | | | | |
= = +
(
| | |
\ \ \
(

(1)
At the condition of incipient failure, or crack extension,
max
P P = and
I Ic
K K = , which can be
substituted into (1) to yield

max max
I max max
2 , .
2
c
P f P
K f W
WB B W
= = = (2)
The axial stress versus axial strain curve is monitored during the test, and if the point of maximum
axial stress corresponds with the onset of crack extension (such that the initial bond breakages occur
at one or both of the crack tips), then the mode-I fracture toughness is obtained from (2) by setting
max
equal to the maximum axial stress.

Figure 2 Middle-tension panel with through-thickness crack
PFC3D 4.0 manual modifications Page 17

The fracture-toughness test requires that an initial crack be created in the specimen. First, a set of
contacts associated with the crack are identified based on the following criterion. A contact is
associated with the crack if and only if the contact joins two particles that lie on opposite sides of the
crack and the contact lies within the extent of the crack (meaning that the projection of the contact
location onto the crack plane lies within the crack). This criterion is applied to all contacts
(including virtual contacts that join nearby but non-overlapping particles). The crack is created in
one of the following two ways. The contacts associated with the crack are either (1) debonded (by
having their contact and parallel bonds deleted), or (2) assigned smooth-joint contact models that are
aligned with the crack. These contacts behave as interfaces that differ only in their effective
interface orientations: the interfaces of the debonded contacts are parallel with the surfaces of the
two contacting particles, while the interfaces of the smooth-joint contacts are parallel with the crack
(see Figure 3).

Figure 3 Bonded particle model with two types of initial cracks: debonded (upper
left) and smooth joint (upper right)
PFC3D 4.0 manual modifications Page 18

The following four FISH variables are to be added to Table 3.4 Material-testing parameters in the
FISH in PFC3D volume:
symbol FISH symbol
FISH
type
default name
fracture-toughness (
Ic
K ) test:
K
a
mt_ka FLT NA crack half-length
sj
B
mt_ksj BOOL 0
crack-type flag
debonded, 0
smooth joint, 0
sj
sj
B
B
=



REFERENCE
Anderson, T.L. (1991) Fracture Mechanics: Fundamentals and Applications, Boca Raton: CRC
Press.
PFC3D 4.0 manual modifications Page 19

17.0 MODIFICATIONS TO THE USER-DEFINED CONTACT MODELS OPTION
The user-defined contact model logic has been modified in PFC2D/3D 4.0-183 as follows. Two new
boolean members bsliding and bflag have been added to the FdBlock structure in
cmodel.h, to allow the user to communicate sliding and bonding information from the contact
model to PFC. This information is required by the built-in viscous damping and energy tracing
logics. In 3D only, another member, ptsrot, as also been added to the FdBlock structure. This
quantity stores the 3D vector used by PFC3D to rotate the shear force direction to account for the
motion of the contact-plane
2
, and can be used from within the contact model to reproduce this
rotation on its relevant properties (see the description in cmodel.h for further details).
Finally, the compatibility restriction between the user-defined contact models option and the periodic
space logic has been alleviated as follows. A new method:
virtual bool TransferProps(const ContactModel &cm, bool reverse=false),
has been added in the ContactModel class in cmodel.h. By default, this method returns false,
in which case an error will be thrown in PFC if the corresponding contact is used by the periodic
space logic. This method may be overridden by a specific user-defined contact model to adequately
implement the transfer of properties from cm to the current instance (assuming both instances are of
the same type). The boolean argument reverse indicates that the current instance corresponds to a
contact whose normal is in opposite direction compared to the contact holding cm (see the
description in cmodel.h for further details).

2
See Section 1.4.1 in the PFC3D version 4.0 Theory and Background manual.
PFC3D 4.0 manual modifications Page 20

18.0 DIRECT SPECIFICATION OF BALL MASS PROPERTIES
The ability to specify ball mass properties directly has been added to PFC2D/3D 4.0-190 by adding
FISH intrinsics b_realmassset and b_realmoiset and making FISH intrinsics b_realmass and
b_realmoi be read/write. This allows a user to specify ball mass and moment of inertia, and thereby
override the default behavior whereby these properties are derived from the ball density and radius.
Each ball has a diagonal mass matrix, with the translational DOFs equal to b_realmass and the
rotational DOFs equal to b_realmoi. These values are used (a) in the equations of motion when
running in dynamic mode when running in one of the density-scaling modes, then these values are
scaled and (b) to obtain body forces arising from the gravitational-acceleration vector (see SET
GRAVITY).
An anticipated use of this capability is for molecular-dynamics simulations in which ball radius must
be made large to insure that a contact forms when two balls come within a cut-off distance of one
another. For such models, the ball mass and moment of inertia can now be specified directly.
The following FISH intrinsics are to be added to and modified in Table 2.9 Ball physical property
functions in the FISH in PFC3D volume of the PFC3D 4.0 manual:
type function name modifiable
FLT b_realmass( B_PTR bp ) yes
INT b_realmassset( B_PTR bp ) yes
FLT b_realmoi( B_PTR bp ) yes
INT b_realmoiset( B_PTR bp ) yes

b_realmass( bp ) real (physical) mass. If the value is assigned (by using this intrinsic
on the left-hand side of an equal sign), then a side effect is that
b_realmassset(bp) will be set to one. Default behavior can be
restored by setting b_realmassset(bp) to zero.
b_realmassset( bp ) real mass set flag. Nonzero value means that real mass will be set by
the user, and will not be derived from the ball density and radius. The
default value is zero.
b_realmoi( bp ) real (physical) moment of inertia. If the value is assigned (by using
this intrinsic on the left-hand side of an equal sign), then a side effect
is that b_realmoiset(bp) will be set to one. Default behavior can be
restored by setting b_realmoiset(bp) to zero.
b_realmoiset( bp ) real moment of inertia set flag. Nonzero value means that real
moment of inertia will be set by the user, and will not be derived from
the ball density and radius. The default value is zero.

Anda mungkin juga menyukai