# 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