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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
LAMMPS (30 Aug 2013)
units real
atom_style full # charge
### NOTE p p p is required for both lammps & atc since periodic images are employed in ExtrinsicModelElectrostatic::correct_electrostatic_forces
########### BEGIN PARAMETERS ####################################
variable T equal 300
variable a equal 1.0 # 5.719025032
variable i equal 10 # thermo
variable f equal 50 # neighbor & conc interval
variable s equal 100 # 10 # 100 # output
variable n equal 800 # 20 # 200 # 300 # duration
variable x equal 4 # 40 # 2 # 4 # exchanges
variable e equal 100. # 1. # 100. # 10. # energy
variable h equal 5 # nelems
variable dt equal 4. #1. # 0 # 4.0
############## END PARAMETERS #################################
dimension 3
boundary p p p
pair_style lj/cut/coul/cut 13.0
lattice sc $a
lattice sc 1
Lattice spacing in x,y,z = 1 1 1
read_data concentration_init.data
Scanning data file ...
Reading data file ...
orthogonal box = (0 0 0) to (114.381 22.8761 22.8761)
4 by 1 by 1 MPI processor grid
544 atoms
544 velocities
Finding 1-2 1-3 1-4 neighbors ...
0 = max # of 1-2 neighbors
0 = max # of 1-3 neighbors
0 = max # of 1-4 neighbors
1 = max # of special neighbors
atom_modify sort 0 1
mass * 39.948
pair_coeff * * 0.2381 3.405
pair_coeff 1 * 0.4 3.405
dielectric 80.0
variable xlo equal xlo
variable xhi equal xhi
variable xmid equal 0.5*(${xhi}+${xlo})
variable xmid equal 0.5*(114.38050064000000816+${xlo})
variable xmid equal 0.5*(114.38050064000000816+0)
print "reservior x ${xmid}:${xhi}"
reservior x 57.190250320000004081:114.38050064000000816
variable ylo equal ylo
variable yhi equal yhi
variable zlo equal zlo
variable zhi equal zhi
region BOX block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region BOX block 0 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region BOX block 0 114.38050064000000816 ${ylo} ${yhi} ${zlo} ${zhi} units box
region BOX block 0 114.38050064000000816 0 ${yhi} ${zlo} ${zhi} units box
region BOX block 0 114.38050064000000816 0 22.876100128000000922 ${zlo} ${zhi} units box
region BOX block 0 114.38050064000000816 0 22.876100128000000922 0 ${zhi} units box
region BOX block 0 114.38050064000000816 0 22.876100128000000922 0 22.876100128000000922 units box
region FLUID block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region FLUID block 0 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region FLUID block 0 114.38050064000000816 ${ylo} ${yhi} ${zlo} ${zhi} units box
region FLUID block 0 114.38050064000000816 0 ${yhi} ${zlo} ${zhi} units box
region FLUID block 0 114.38050064000000816 0 22.876100128000000922 ${zlo} ${zhi} units box
region FLUID block 0 114.38050064000000816 0 22.876100128000000922 0 ${zhi} units box
region FLUID block 0 114.38050064000000816 0 22.876100128000000922 0 22.876100128000000922 units box
region R block ${xmid} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region R block 57.190250320000004081 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
region R block 57.190250320000004081 114.38050064000000816 ${ylo} ${yhi} ${zlo} ${zhi} units box
region R block 57.190250320000004081 114.38050064000000816 0 ${yhi} ${zlo} ${zhi} units box
region R block 57.190250320000004081 114.38050064000000816 0 22.876100128000000922 ${zlo} ${zhi} units box
region R block 57.190250320000004081 114.38050064000000816 0 22.876100128000000922 0 ${zhi} units box
region R block 57.190250320000004081 114.38050064000000816 0 22.876100128000000922 0 22.876100128000000922 units box
group SOLID type 1
288 atoms in group SOLID
variable xdof equal 3*count(SOLID)
compute_modify thermo_temp extra ${xdof}
compute_modify thermo_temp extra 864
#set group SOLID charge 0
group NEUTRAL type 2
114 atoms in group NEUTRAL
group FLUID type 2 3 4
256 atoms in group FLUID
group NION type 3
66 atoms in group NION
group PION type 4
76 atoms in group PION
#group tPION type 5 # not dynamic
#group tNION type 6 # not dynamic
#variable typeP atom type[]==5
set group PION charge 1
Setting atom values ...
76 settings made for charge
set group NION charge -1
Setting atom values ...
66 settings made for charge
variable O equal count(NEUTRAL)
variable S equal count(SOLID)
variable F equal count(FLUID)
variable P equal count(PION)
variable N equal count(NION)
variable Pr equal count(PION,R)
variable Nr equal count(NION,R)
#variable tP equal count(tPION)
#variable tN equal count(tNION)
variable V equal vol
variable cO equal v_O/v_V
variable cS equal v_S/v_V
variable cN equal v_N/v_V
variable cP equal v_P/v_V
compute q all property/atom q
compute m all property/atom mass
compute Q all reduce sum c_q
compute M all reduce sum c_m
compute Qf FLUID reduce sum c_q
compute Mf FLUID reduce sum c_m
compute PMIN PION reduce min x
compute PMAX PION reduce max x
compute NMIN NION reduce min x
compute NMAX NION reduce max x
timestep ${dt}
timestep 4
#neighbor 13 bin
neigh_modify every $i check no
neigh_modify every 10 check no
# coulombic interactions
fix ATC FLUID atc species_electrostatic Ar_electrostatic.mat
ATC: constructing electrostatic species coupling with parameter file Ar_electrostatic.mat
ATC: version 2.0
ATC: peratom PE compute created with ID: 13
ATC: 1 materials defined from Ar_electrostatic.mat
ATC: creating fem_efield extrinsic model
ATC: 1 materials defined from Ar_electrostatic.mat
#fix_modify ATC parallel_consistency off
fix_modify ATC extrinsic short_range off
#fix_modify ATC boundary SOLID
fix_modify ATC atom_element_map eulerian $i
fix_modify ATC atom_element_map eulerian 10
fix_modify ATC internal_quadrature off
fix_modify ATC consistent_fe_initialization on
fix_modify ATC filter type exponential
fix_modify ATC filter scale $i
fix_modify ATC filter scale 10
fix_modify ATC filter equilibrate
# mesh
print "x = ${xlo}:${xhi}"
x = 0:114.38050064000000816
fix_modify ATC mesh create $h 1 1 BOX p p p # f p p ExtrinsicModelElectrostatic::correct_electrostatic_forces iterates through ghosts
fix_modify ATC mesh create 5 1 1 BOX p p p
ATC: created uniform mesh with 24 nodes, 5 unique nodes, and 5 elements
fix_modify ATC mesh create_nodeset LBC ${xlo} ${xlo} -INF INF -INF INF
fix_modify ATC mesh create_nodeset LBC 0 ${xlo} -INF INF -INF INF
fix_modify ATC mesh create_nodeset LBC 0 0 -INF INF -INF INF
ATC: created nodeset LBC with 1 nodes
fix_modify ATC mesh create_elementset FLUID FLUID
ATC: created elementset FLUID with 5 elements
fix_modify ATC mesh create_elementset R R
ATC: created elementset R with 2 elements
fix_modify ATC mesh create_elementset BOX BOX
ATC: created elementset BOX with 5 elements
## NOTE tag instead of type, what about transition tyme
fix_modify ATC mass_matrix fe
fix_modify ATC internal_element_set FLUID
fix_modify ATC include atomic_charge
fix_modify ATC add_species N type 3
fix_modify ATC add_species P type 4
fix_modify ATC add_species Nt type 5
fix_modify ATC add_species Pt type 6
## CC
fix_modify ATC control concentration N R 0.001 Nt # deletions R
ERROR: Illegal fix_modify command (../fix.cpp:104)
|