1.. index:: fix atc 2 3fix atc command 4=============== 5 6Syntax 7"""""" 8 9.. parsed-literal:: 10 11 fix <fixID> <group> atc <type> <parameter_file> 12 13* fixID = name of fix 14* group = name of group fix is to be applied 15* type = *thermal* or *two_temperature* or *hardy* or *field* 16 17.. parsed-literal:: 18 19 *thermal* = thermal coupling with fields: temperature 20 *two_temperature* = electron-phonon coupling with field: temperature and electron_temperature 21 *hardy* = on-the-fly post-processing using kernel localization functions 22 *field* = on-the-fly post-processing using mesh-based localization functions 23 24* parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file 25 26Examples 27"""""""" 28 29.. code-block:: LAMMPS 30 31 fix AtC internal atc thermal Ar_thermal.dat 32 fix AtC internal atc two_temperature Ar_ttm.mat 33 fix AtC internal atc hardy 34 fix AtC internal atc field 35 36Description 37""""""""""" 38 39This fix is the beginning to creating a coupled FE/MD simulation and/or 40an on-the-fly estimation of continuum fields. The coupled versions of 41this fix do Verlet integration and the post-processing does not. After 42instantiating this fix, several other fix_modify commands will be 43needed to set up the problem, e.g. define the finite element mesh and 44prescribe initial and boundary conditions. 45 46.. image:: JPG/atc_nanotube.jpg 47 :align: center 48 49The following coupling example is typical, but non-exhaustive: 50 51.. code-block:: LAMMPS 52 53 # ... commands to create and initialize the MD system 54 55 # initial fix to designate coupling type and group to apply it to 56 # tag group physics material_file 57 fix AtC internal atc thermal Ar_thermal.mat 58 59 # create a uniform 12 x 2 x 2 mesh that covers region contain the group 60 # nx ny nz region periodicity 61 fix_modify AtC mesh create 12 2 2 mdRegion f p p 62 63 # specify the control method for the type of coupling 64 # physics control_type 65 fix_modify AtC thermal control flux 66 67 # specify the initial values for the empirical field "temperature" 68 # field node_group value 69 fix_modify AtC initial temperature all 30 70 71 # create an output stream for nodal fields 72 # filename output_frequency 73 fix_modify AtC output atc_fe_output 100 74 75 run 1000 76 77likewise for this post-processing example: 78 79.. code-block:: LAMMPS 80 81 # ... commands to create and initialize the MD system 82 83 # initial fix to designate post-processing and the group to apply it to 84 # no material file is allowed nor required 85 fix AtC internal atc hardy 86 87 # for hardy fix, specific kernel function (function type and range) to # be used as a localization function 88 fix AtC kernel quartic_sphere 10.0 89 90 # create a uniform 1 x 1 x 1 mesh that covers region contain the group 91 # with periodicity this effectively creates a system average 92 fix_modify AtC mesh create 1 1 1 box p p p 93 94 # change from default lagrangian map to eulerian 95 # refreshed every 100 steps 96 fix_modify AtC atom_element_map eulerian 100 97 98 # start with no field defined 99 # add mass density, potential energy density, stress and temperature 100 fix_modify AtC fields add density energy stress temperature 101 102 # create an output stream for nodal fields 103 # filename output_frequency 104 fix_modify AtC output nvtFE 100 text 105 106 run 1000 107 108the mesh's linear interpolation functions can be used as the localization function 109by using the field option: 110 111.. code-block:: LAMMPS 112 113 fix AtC internal atc field 114 fix_modify AtC mesh create 1 1 1 box p p p 115 ... 116 117Note coupling and post-processing can be combined in the same simulations using separate fixes. 118 119---------- 120 121Restart, fix_modify, output, run start/stop, minimize info 122""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 123 124No information about this fix is written to :doc:`binary restart files 125<restart>`. 126 127The :doc:`fix_modify <fix_modify>` *energy* option is not supported by 128this fix, but this fix does add the kinetic energy imparted to atoms 129by the momentum coupling mode of the AtC package to the global 130potential energy of the system as part of :doc:`thermodynamic output 131<thermo_style>`. 132 133Additional :doc:`fix_modify <fix_modify>` options relevant to this 134fix are listed below. 135 136This fix computes a global scalar which can be accessed by various 137:doc:`output commands <Howto_output>`. The scalar is the energy 138discussed in the previous paragraph. The scalar value is "extensive". 139 140No parameter of this fix can be used with the 141*start/stop* keywords of the :doc:`run <run>` command. This fix is not 142invoked during :doc:`energy minimization <minimize>`. 143 144Restrictions 145"""""""""""" 146 147Thermal and two_temperature (coupling) types use a Verlet 148time-integration algorithm. The hardy type does not contain its own 149time-integrator and must be used with a separate fix that does contain 150one, e.g. nve, nvt, etc. In addition, currently: 151 152* the coupling is restricted to thermal physics 153* the FE computations are done in serial on each processor. 154 155.. _atc_fix_modify: 156 157Related commands 158"""""""""""""""" 159 160After specifying this fix in your input script, several 161:doc:`fix_modify AtC <fix_modify>` commands are used to setup the 162problem, e.g. define the finite element mesh and prescribe initial and 163boundary conditions. Each of these options has its own doc page. 164 165*fix_modify* commands for setup: 166 167* :doc:`fix_modify AtC mesh create <atc_mesh_create>` 168* :doc:`fix_modify AtC mesh quadrature <atc_mesh_quadrature>` 169* :doc:`fix_modify AtC mesh read <atc_mesh_read>` 170* :doc:`fix_modify AtC mesh write <atc_mesh_write>` 171* :doc:`fix_modify AtC mesh create_nodeset <atc_mesh_create_nodeset>` 172* :doc:`fix_modify AtC mesh add_to_nodeset <atc_mesh_add_to_nodeset>` 173* :doc:`fix_modify AtC mesh create_faceset box <atc_mesh_create_faceset_box>` 174* :doc:`fix_modify AtC mesh create_faceset plane <atc_mesh_create_faceset_plane>` 175* :doc:`fix_modify AtC mesh create_elementset <atc_mesh_create_elementset>` 176* :doc:`fix_modify AtC mesh delete_elements <atc_mesh_delete_elements>` 177* :doc:`fix_modify AtC mesh nodeset_to_elementset <atc_mesh_nodeset_to_elementset>` 178* :doc:`fix_modify AtC boundary type <atc_boundary_type>` 179* :doc:`fix_modify AtC internal_quadrature <atc_internal_quadrature>` 180* :doc:`fix_modify AtC time_integration <atc_time_integration>` 181* :doc:`fix_modify AtC extrinsic electron_integration <atc_electron_integration>` 182* :doc:`fix_modify AtC internal_element_set <atc_internal_element_set>` 183* :doc:`fix_modify AtC decomposition <atc_decomposition>` 184 185*fix_modify* commands for boundary and initial conditions: 186 187* :doc:`fix_modify AtC initial <atc_initial>` 188* :doc:`fix_modify AtC fix <atc_fix>` 189* :doc:`fix_modify AtC unfix <atc_unfix>` 190* :doc:`fix_modify AtC fix_flux <atc_fix_flux>` 191* :doc:`fix_modify AtC unfix_flux <atc_unfix_flux>` 192* :doc:`fix_modify AtC source <atc_source>` 193* :doc:`fix_modify AtC remove_source <atc_remove_source>` 194 195*fix_modify* commands for control and filtering: 196 197* :doc:`fix_modify AtC control thermal <atc_control_thermal>` 198* :doc:`fix_modify AtC control momentum <atc_control_momentum>` 199* :doc:`fix_modify AtC control localized_lambda <atc_control_localized_lambda>` 200* :doc:`fix_modify AtC control lumped_lambda_solve <atc_lumped_lambda_solve>` 201* :doc:`fix_modify AtC control mask_direction <atc_mask_direction>` 202* :doc:`fix_modify AtC filter <atc_time_filter>` 203* :doc:`fix_modify AtC filter scale <atc_filter_scale>` 204* :doc:`fix_modify AtC filter type <atc_filter_type>` 205* :doc:`fix_modify AtC equilibrium_start <atc_equilibrium_start>` 206* :doc:`fix_modify AtC extrinsic exchange <atc_extrinsic_exchange>` 207* :doc:`fix_modify AtC poisson_solver <atc_poisson_solver>` 208 209*fix_modify* commands for output: 210 211* :doc:`fix_modify AtC output <atc_output>` 212* :doc:`fix_modify AtC output nodeset <atc_output_nodeset>` 213* :doc:`fix_modify AtC output volume_integral <atc_output_volume_integral>` 214* :doc:`fix_modify AtC output boundary_integral <atc_output_boundary_integral>` 215* :doc:`fix_modify AtC output contour_integral <atc_output_contour_integral>` 216* :doc:`fix_modify AtC mesh output <atc_mesh_output>` 217* :doc:`fix_modify AtC write_restart <atc_write_restart>` 218* :doc:`fix_modify AtC read_restart <atc_read_restart>` 219 220*fix_modify* commands for post-processing: 221 222* :doc:`fix_modify AtC kernel <atc_hardy_kernel>` 223* :doc:`fix_modify AtC fields <atc_hardy_fields>` 224* :doc:`fix_modify AtC gradients <atc_hardy_gradients>` 225* :doc:`fix_modify AtC rates <atc_hardy_rates>` 226* :doc:`fix_modify AtC computes <atc_hardy_computes>` 227* :doc:`fix_modify AtC on_the_fly <atc_hardy_on_the_fly>` 228* :doc:`fix_modify AtC pair/bond_interactions <atc_pair_interactions>` 229* :doc:`fix_modify AtC sample_frequency <atc_sample_frequency>` 230* :doc:`fix_modify AtC set <atc_set_reference_pe>` 231 232miscellaneous *fix_modify* commands: 233 234* :doc:`fix_modify AtC atom_element_map <atc_atom_element_map>` 235* :doc:`fix_modify AtC atom_weight <atc_atom_weight>` 236* :doc:`fix_modify AtC write_atom_weights <atc_write_atom_weights>` 237* :doc:`fix_modify AtC kernel_bandwidth <atc_kernel_bandwidth>` 238* :doc:`fix_modify AtC reset_time <atc_reset_time>` 239* :doc:`fix_modify AtC reset_atomic_reference_positions <atc_reset_atomic_reference>` 240* :doc:`fix_modify AtC fe_md_boundary <atc_fe_md_boundary>` 241* :doc:`fix_modify AtC boundary_faceset <atc_boundary_faceset>` 242* :doc:`fix_modify AtC consistent_fe_initialization <atc_consistent_fe_initialization>` 243* :doc:`fix_modify AtC mass_matrix <atc_mass_matrix>` 244* :doc:`fix_modify AtC material <atc_material>` 245* :doc:`fix_modify AtC atomic_charge <atc_atomic_charge>` 246* :doc:`fix_modify AtC source_integration <atc_source_integration>` 247* :doc:`fix_modify AtC temperature_definition <atc_temperature_definition>` 248* :doc:`fix_modify AtC track_displacement <atc_track_displacement>` 249* :doc:`fix_modify AtC boundary_dynamics <atc_boundary_dynamics>` 250* :doc:`fix_modify AtC add_species <atc_add_species>` 251* :doc:`fix_modify AtC add_molecule <atc_add_molecule>` 252* :doc:`fix_modify AtC remove_species <atc_remove_species>` 253* :doc:`fix_modify AtC remove_molecule <atc_remove_molecule>` 254 255Note: a set of example input files with the attendant material files 256are included in the ``examples/PACKAGES/atc`` folders. 257 258Default 259""""""" 260None 261 262---------- 263 264For detailed exposition of the theory and algorithms please see: 265 266.. _Wagner: 267 268**(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An 269 atomistic-to-continuum coupling method for heat transfer in solids." 270 Special Issue of Computer Methods and Applied Mechanics (2008) 271 197:3351. 272 273.. _Zimmeman2004: 274 275**(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; 276 Klein, PA; Bammann, DJ, "Calculation of stress in atomistic 277 simulation." Special Issue of Modelling and Simulation in Materials 278 Science and Engineering (2004), 12:S319. 279 280.. _Zimmerman2010: 281 282**(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A 283 material frame approach for evaluating continuum variables in 284 atomistic simulations." Journal of Computational Physics (2010), 285 229:2364. 286 287.. _Templeton2010: 288 289**(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application 290 of a field-based method to spatially varying thermal transport 291 problems in molecular dynamics." Modelling and Simulation in 292 Materials Science and Engineering (2010), 18:085007. 293 294.. _Jones: 295 296**(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, 297 JA, "Electron transport enhanced molecular dynamics for metals and 298 semi-metals." International Journal for Numerical Methods in 299 Engineering (2010), 83:940. 300 301.. _Templeton2011: 302 303**(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; 304 Wong, BM, "A long-range electric field solver for molecular dynamics 305 based on atomistic-to-continuum modeling." Journal of Chemical Theory 306 and Computation (2011), 7:1736. 307 308.. _Mandadapu: 309 310**(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization 311 as a field variable from molecular dynamics simulations." Journal of 312 Chemical Physics (2013), 139:054115. 313 314Please refer to the standard finite element (FE) texts, e.g. T.J.R 315Hughes " The finite element method ", Dover 2003, for the basics of FE 316simulation. 317