Files
lammps/examples/USER/atc/fluids/in.conducting_interface
rjones 666de878ad ATC version 2.0, date: Aug7
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@10558 f3b2605a-c512-4ea7-a41b-209d697bcdaa
2013-08-07 21:29:05 +00:00

112 lines
4.4 KiB
Plaintext

# simulation of negatively charge liquid argon-positively charged solid/frozen argon
# MAKE this conducting_interface then interface (major difference: non-uniform grid)
# START with extrinsic charges on both and then use an instrinsic 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 R equal 2*$a
############## 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
# charged layer -- NOTE on an element boundary
variable b equal ${Ls}-0.1
variable c equal ${Ls}+0.1
region LAYER block $b $c INF INF INF INF
group LAYER region LAYER
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 # temperature
fix_modify PP output volume_integral all mass_density
fix_modify PP output volume_integral all charge_density
fix_modify PP atom_element_map eulerian $s
fix_modify PP mesh create $h 1 1 BOX f p p
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 kernel cell $R $R $W
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 : 2x2 tosses an atom to infinity and beyond
#fix_modify ATC mesh create $h 4 1 BOX f p p dx piecewise_linear 0 0 0 1 0 0 0.0 1.0 1.0 1.0
#fix_modify ATC mesh create $h 1 1 BOX f p p dx piecewise_linear 0 0 0 1 0 0 &
# 0.0 1.0 0.2 1.0 0.207812 0.1 1.0 1.0
### >>> node h vs list reepat and scale to box
fix_modify ATC mesh create $h 4 1 BOX f p p dx 2 2 0.5 0.5 0.5 0.5 2 3 4 5
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 conducting_interfaceMESH full_text binary
fix_modify ATC output volume_integral all mass_density
fix_modify ATC output volume_integral all charge_density
# 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 Qf FLUID reduce sum c_q
compute m all property/atom mass
compute M all reduce sum c_m
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 conducting_interface.log
fix_modify ATC output conducting_interfaceFE $s full_text binary
fix_modify PP output conducting_interfacePP $s full_text binary
dump X all custom $s conducting_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 LAYER conductor ${phiInf}
fix_modify ATC control charge LAYER feedback 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