1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
# simulation of negatively charge liquid argon-positively charged solid/frozen argon
# MAKE this dielectric_interface then interface (major difference: non-uniform grid)
# START with extrinsic charges on both and then use an intrinsic charge density for frozen
echo both
units real
atom_style full
########### BEGIN PARAMETERS ####################################
variable a equal 5.719025032
variable i equal 1
variable s equal 100
variable n equal 1000 # 500 2000
variable dt equal 4.0
variable W equal 4
variable L equal 20
variable Ls equal 4 # surface
variable h equal 10
variable phiInf equal -1. # 0. 10 -10.0
variable perm2 equal 2.
variable depth equal 17.1571
# 1 1 0.1 0.1 1 1
variable w1 equal 4/$L # relative wall width
variable w2 equal ${w1}+2/$L # relative wall width
variable w3 equal ${w2}+2/$L
variable w4 equal ${w3}+2/$L
############## END PARAMETERS #################################
dimension 3
boundary f p p
pair_style lj/cut 13.0
lattice fcc $a
read_data interface_init.data
atom_modify sort 0 1
mass * 39.948
pair_coeff * * 0.2381 3.405
dielectric 1.0
region BOX block 0 $L 0 $W 0 $W
group SOLID type 1
group FLUID type 2 3 4
group P type 3
group N type 4
set group SOLID charge 0 # use ATC to provide charge to the surface
timestep ${dt}
neigh_modify every $i check no
fix WALLS all wall/reflect xlo EDGE xhi EDGE
fix PP all atc field
fix_modify PP add_species IONS type 1 2 3 4
fix_modify PP fields add species_concentration mass_density charge_density
fix_modify PP atom_element_map eulerian $s
fix_modify PP mesh create $h 1 1 BOX f p p
fix_modify PP output volume_integral all mass_density
fix_modify PP output volume_integral all charge_density
fix ATC FLUID atc species_electrostatic Ar_electrostatic.mat
fix_modify ATC add_species P type 3
fix_modify ATC add_species N type 4
fix_modify ATC boundary SOLID
fix_modify ATC atom_element_map eulerian $i
fix_modify ATC internal_quadrature off # on creates a nasty error (NOTE trap error)
fix_modify ATC mass_matrix fe
fix_modify ATC include atomic_charge
# mesh
fix_modify ATC mesh create $h 2 2 BOX f p p dx piecewise_linear 0 0 0 1 0 0 0.0 1.0 1.0 1.0
fix_modify ATC output volume_integral all mass_density
fix_modify ATC output volume_integral all charge_density
fix_modify ATC mesh create_nodeset lbc 0 0 -INF INF -INF INF
fix_modify ATC mesh create_nodeset rbc $L $L -INF INF -INF INF
fix_modify ATC mesh create_nodeset wall 0 ${Ls} 0 4 0 4
fix_modify ATC mesh create_elementset wall 0 ${Ls} 0 4 0 4
#fix_modify ATC mesh create_faceset lbc plane x 0
fix_modify ATC mesh create_faceset surface -INF ${Ls} -INF INF -INF INF
fix_modify ATC mesh output dielectric_interfaceMESH text binary
# ic/bcs
#fix_modify ATC initial charge_density all 0.
fix_modify ATC initial mass_density all 0.
fix_modify ATC initial electric_potential all 0.
# output
thermo $s
variable cFLUID equal count(FLUID)
compute PAVE P reduce ave x
compute PMIN P reduce min x
compute PMAX P reduce max x
compute NAVE N reduce ave x
compute NMIN N reduce min x
compute NMAX N reduce max x
compute q all property/atom q
compute Q all reduce sum c_q
compute m all property/atom mass
compute M all reduce sum c_m
compute Qf FLUID reduce sum c_q
compute Mf FLUID reduce sum c_m
compute F FLUID reduce sum fx fy fz
thermo_style custom step temp press etotal pe c_Q c_M c_Qf c_Mf c_PMIN c_PAVE c_PMAX c_NMIN c_NAVE c_NMAX c_F[1] c_F[2] c_F[3]
compute T FLUID temp
thermo_modify temp T
thermo_modify flush yes
log dielectric_interface.log
fix_modify ATC output dielectric_interfaceFE $s full_text binary
fix_modify PP output dielectric_interfacePP $s full_text binary
dump X all custom $s dielectric_interface.dmp id type x y z q vx vy vz fx fy fz
fix_modify ATC fix electric_potential rbc 0.
# stage 1 : active source controlling far-field shielding
fix_modify ATC control charge FLUID dielectric ${phiInf} ${perm2} ${depth}
fix_modify ATC control charge FLUID image_charge surface
run $n
# stage 2 : static source - i.e. above the mean like JCTC / "effective_charge"
fix_modify ATC source electric_potential wall 0.001
fix_modify ATC fix electric_potential lbc ${phiInf}
#run $n
|