How to import the PFC model into YADE?
Hi~
I am trying to import a complex model that comes from PFC into YADE, but I don’t know how to achieve it.
May you guide me~?
and the PFC code like this:
; Filename: Agc.DVR
;
; PURPOSE: Create the gross resolution, contact-bonded instance of
; material-A
;
; INPUT: none
; OUTPUT: 'md_run_name' 'spc' final specimen (bonded or unbonded)
;
; Itasca Consulting Group, Inc.
; =======
SET random 111 ; for reproducibility
new
;======
def set_fist_env
environment(
end
set_fist_env
;======
set logfile Agc.log
set log on
set safe_conversion on
SET disk on ; model unit-thickness cylinders
;
SET echo off ; load support functions
call %itascaFishTank
call %itascaFishTank
call %itascaFishTank
SET echo on
; =======
SET md_run_name = 'Split'
title
Agc (material-A, fine resolution, contact-bonded)
; =======
; Specify parameters that control the specimen-genesis procedures
;======
def read_nsign
array aa(40000)
status = open('nsign-
status = read(aa,40000)
status = close
end
;======
read_nsign
;======
def rock_element
range_element
;
; ----- Defines a FISH range element that determines whether an object
; lies within rocks in concrete
;
; INPUT: fc_arg(0) - object being queried for range inclusion
; fc_arg(1) - object position (x-component)
; fc_arg(2) - object position (y-component)
;
; RETURN VALUE: 0 - object does not lie within circle
; When called, function value is initialized to 1.
;
_aalen=
_x = round((
_y = round((
_xx = min(max(
_yy = min(max(
if aa(_xx*
rock_element = 0
else
rock_element = 1
end_if
end
;======
set et2_xlen=0.0985 et2_ylen=0.10
SET et2_radius_
;
;pause
SET md_wEcfac=1.1
SET tm_req_isostr=-5e4 tm_req_
SET flt_def=3 flt_remain=0.0
;
;======
;; Specify parameters that define a contact-bonded material
;;
SET md_add_pbonds=1
SET md_dens=2800
SET md_Ec=32e9 md_Ec_scc=32e9 md_Ec_rock=48e9
SET md_knoverks=1.7 md_knoverks_scc=1.7 md_knoverks_
SET md_fric=0.5
;
SET pb_radmult=1.0
SET pb_Ec=32e9 pb_Ec_scc=32e9 pb_Ec_rock=48e9 pb_Ec_inter=16e9
SET pb_knoverks=1.7 pb_knoverks_scc=1.7 pb_knoverks_
SET pb_sn_mean=10e6 pb_sn_sdev=0
SET pb_ss_mean=10e6 pb_ss_sdev=0
;
SET pb_sn_mean_rock =42.0e6 pb_sn_sdev_rock =100
SET pb_ss_mean_rock =84.0e6 pb_ss_sdev_rock =100
SET pb_sn_mean_scc =15.0e6 pb_sn_sdev_scc =100
SET pb_ss_mean_scc =30.0e6 pb_ss_sdev_scc =100
SET pb_sn_mean_inter = 6.0e6 pb_sn_sdev_
SET pb_ss_mean_inter =12.0e6 pb_ss_sdev_
;======
SET et2_prep_saveall=1
et2_prep ; invoke the specimen-genesis procedures
;
;
group rock_element range fish rock_element
range name scc_element group rock_element not
group scc_element1 range scc_element
prop c_index 0 range group scc_element1
prop c_index 1 range group rock_element
;
md_pbprops_
md_pbprops_
md_pbprops_
;======
print group
md_tag_name = '-spc'
md_save_state
; =======
set log off
call Agc_ex_bra.DVR
return
; END OF Filename: Agc.DVR
; fname: Agc_ex.DVR
;
; PURPOSE: 1) Create Agc specimen,
; 2) perform Brazilian test upon it,
; 3) perform biaxial test upon it at Pc=0.0 MPa.
;
; Itasca Consulting Group, Inc.
; =======
; -------
;Create Agc specimen using specimen-genesis procedures
; call Agc.DVR ;=> Agc-spc.SAV
; -------
; Execute Brazilian test
restore Split-spc.SAV
set safe_conversion on
; SET md_run_name='Agc'
title 'Agc Brazilian test'
; -------
SET echo off ; load support functions
call %itascaFishTank
call %itascaFishTank
SET echo on
; =======
;
SET et2_knxfac=1000 et2_knyfac=0.001
SET et2_wsxx_req=-1.0e4 et2_wsyy_req=-1.0e0 et2_ws_tol=0.01
SET p_vel=1.0e-3 p_cyc=1000 p_stages=1000
SET et2_peakfac=0.50
;
et2_wallstiff
;
ini xvel 0.0 yvel 0.0 spin 0.0
SET fishcall #FC_CYC_MOT et2_servo
SET et2_servo_xon=1 et2_servo_yon=0
SET et2_servo_
del wall 1
del wall 2
wadd1 = null
wadd2 = null
et2_install_ws
solve ; do it 3 times to assure we are near equil.
et2_install_ws
solve
et2_install_ws
;
; =======
SET fishcall 0 remove et2_strains
bt_sample_
bt_carve
;
prop xdisp=0.0 ydisp=0.0
prop xv=0.0 yv=0.0
wall id=3 xvel=0.0 yvel=0.0
wall id=4 xvel=0.0 yvel=0.0
;;
cycle 10000
prop xdisp=0.0 ydisp=0.0
prop xv=0.0 yv=0.0
;
split_gage
crk_init
;======
; Install test monitoring variables and histories
;
history reset
history nstep=100
;history id=1 crk_num
;history id=50 crk_num_cnf
;history id=51 crk_num_csf
history id=52 crk_num_pnf
history id=53 crk_num_psf
;
history id=11 time_t
history id=12 time_t_2
;
;
history id=3 et2_meyy_2
history id=4 split_gage_ey
history id=5 wsyy
history id=6 wsyy2
;
history id=204 et2_wfxx ; wall-derived forces
history id=205 et2_wfyy
;
trace energy on ; energy quantities
history id=15 energy boundary
history id=16 energy bond
history id=17 energy frictional
history id=18 energy kinetic
history id=19 energy strain
history id=23 et2_e_delstrain ; increment of strain energy
;
history id=20 et2_n ; wall-derived microstructural quantities
history id=21 et2_e
history id=22 et2_phy_e ; physical void ratio
;
; =======
plot set color on
plot cur 1
plot set foreground black
plot set background white
plot clear
plot add wall
plot add ball white yellow white white white white white outline lgray
plot add fish crk_item black red black red
plot add his 5 6 v 3 xmin 0 ymin 0
;;
;======
SET md_tag_name = '-bt0'
md_save_state
; -------
return
; EOF: Agc_ex.DVR
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Jingchi Yu for more information if necessary.