lammps/doc/fix_atc.html

259 lines
14 KiB
HTML

<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix atc command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix <fixID> <group> atc <type> <parameter_file>
</PRE>
<LI>fixID = name of fix
<LI>group = name of group fix is to be applied
<LI>type = <I>thermal</I> or <I>two_temperature</I> or <I>hardy</I> or <I>field</I>
<PRE> <I>thermal</I> = thermal coupling with fields: temperature
<I>two_temperature</I> = electron-phonon coupling with field: temperature and electron_temperature
<I>hardy</I> = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
<I>field</I> = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
</PRE>
<LI>parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix AtC internal atc thermal Ar_thermal.dat
fix AtC internal atc two_temperature Ar_ttm.mat
fix AtC internal atc hardy
fix AtC internal atc field
</PRE>
<P><B>Description:</B>
</P>
<P>This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.
</P>
<CENTER><IMG SRC = "JPG/atc_nanotube.jpg">
</CENTER>
<PRE>The following coupling example is typical, but non-exhaustive:
# ... commands to create and initialize the MD system
</PRE>
<PRE> # initial fix to designate coupling type and group to apply it to
# tag group physics material_file
fix AtC internal atc thermal Ar_thermal.mat
</PRE>
<PRE> # create a uniform 12 x 2 x 2 mesh that covers region contain the group
# nx ny nz region periodicity
fix_modify AtC mesh create 12 2 2 mdRegion f p p
</PRE>
<PRE> # specify the control method for the type of coupling
# physics control_type
fix_modify AtC thermal control flux
</PRE>
<PRE> # specify the initial values for the empirical field "temperature"
# field node_group value
fix_modify AtC initial temperature all 30
</PRE>
<PRE> # create an output stream for nodal fields
# filename output_frequency
fix_modify AtC output atc_fe_output 100
</PRE>
<PRE> run 1000
</PRE>
<P>likewise for this post-processing example:
</P>
<PRE> # ... commands to create and initialize the MD system
</PRE>
<PRE> # initial fix to designate post-processing and the group to apply it to
# no material file is allowed nor required
fix AtC internal atc hardy
</PRE>
<PRE> # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
fix AtC kernel quartic_sphere 10.0
</PRE>
<PRE> # create a uniform 1 x 1 x 1 mesh that covers region contain the group
# with periodicity this effectively creats a system average
fix_modify AtC mesh create 1 1 1 box p p p
</PRE>
<PRE> # change from default lagrangian map to eulerian
# refreshed every 100 steps
fix_modify AtC atom_element_map eulerian 100
</PRE>
<PRE> # start with no field defined
# add mass density, potential energy density, stress and temperature
fix_modify AtC fields add density energy stress temperature
</PRE>
<PRE> # create an output stream for nodal fields
# filename output_frequency
fix_modify AtC output nvtFE 100 text
</PRE>
<PRE> run 1000
</PRE>
<P>the mesh's linear interpolation functions can be used as the localization function
by using the field option:
</P>
<P> fix AtC internal atc field
</P>
<P> fix_modify AtC mesh create 1 1 1 box p p p
</P>
<P> ...
</P>
<P>Note coupling and post-processing can be combined in the same simulations using separate fixes.
</P>
<HR>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart files</A>. The <A HREF = "fix_modify.html">fix_modify</A> options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various <A HREF = "Section_howto.html#howto_15">output commands</A>. No parameter of this fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.
</P>
<UL><LI>Currently,
<LI>- the coupling is restricted to thermal physics
<LI>- the FE computations are done in serial on each processor.
</UL>
<P><B>Related commands:</B>
</P>
<P>After specifying this fix in your input script, several other <A HREF = "fix_modify.html">fix_modify</A> commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.
</P>
<P>fix_modify commands for setup:
</P>
<UL><LI><A HREF = "USER/atc/man_mesh_create.html">fix_modify AtC mesh create</A>
<LI><A HREF = "USER/atc/man_mesh_quadrature.html">fix_modify AtC mesh quadrature</A>
<LI><A HREF = "USER/atc/man_mesh_read.html">fix_modify AtC mesh read</A>
<LI><A HREF = "USER/atc/man_mesh_write.html">fix_modify AtC mesh write</A>
<LI><A HREF = "USER/atc/man_mesh_create_nodeset.html">fix_modify AtC mesh create_nodeset</A>
<LI><A HREF = "USER/atc/man_mesh_add_to_nodeset.html">fix_modify AtC mesh add_to_nodeset</A>
<LI><A HREF = "USER/atc/man_mesh_create_faceset_box.html">fix_modify AtC mesh create_faceset box</A>
<LI><A HREF = "USER/atc/man_mesh_create_faceset_plane.html">fix_modify AtC mesh create_faceset plane</A>
<LI><A HREF = "USER/atc/man_mesh_create_elementset.html">fix_modify AtC mesh create_elementset</A>
<LI><A HREF = "USER/atc/man_mesh_delete_elements.html">fix_modify AtC mesh delete_elements</A>
<LI><A HREF = "USER/atc/man_mesh_nodeset_to_elementset.html">fix_modify AtC mesh nodeset_to_elementset</A>
<LI><A HREF = "USER/atc/man_boundary.html">fix_modify AtC boundary</A>
<LI><A HREF = "USER/atc/man_internal_quadrature.html">fix_modify AtC internal_quadrature</A>
<LI><A HREF = "USER/atc/man_thermal_time_integration.html">fix_modify AtC time_integration (thermal)</A>
<LI><A HREF = "USER/atc/man_momentum_time_integration.html">fix_modify AtC time_integration (momentum)</A>
<LI><A HREF = "USER/atc/man_electron_integration.html">fix_modify AtC extrinsic electron_integration</A>
<LI><A HREF = "USER/atc/man_internal_element_set.html">fix_modify AtC internal_element_set</A>
<LI><A HREF = "USER/atc/man_decomposition.html">fix_modify AtC decomposition</A>
</UL>
<P>fix_modify commands for boundary and initial conditions:
</P>
<UL><LI><A HREF = "USER/atc/man_initial.html">fix_modify AtC initial</A>
<LI><A HREF = "USER/atc/man_fix_nodes.html">fix_modify AtC fix</A>
<LI><A HREF = "USER/atc/man_unfix_nodes.html">fix_modify AtC unfix</A>
<LI><A HREF = "USER/atc/man_fix_flux.html">fix_modify AtC fix_flux</A>
<LI><A HREF = "USER/atc/man_unfix_flux.html">fix_modify AtC unfix_flux</A>
<LI><A HREF = "USER/atc/man_source.html">fix_modify AtC source</A>
<LI><A HREF = "USER/atc/man_remove_source.html">fix_modify AtC remove_source</A>
</UL>
<P>fix_modify commands for control and filtering:
</P>
<UL><LI><A HREF = "USER/atc/man_control.html">fix_modify AtC control</A>
<LI><A HREF = "USER/atc/man_control_thermal.html">fix_modify AtC control thermal</A>
<LI><A HREF = "USER/atc/man_control_thermal_correction_max_iterations.html">fix_modify AtC control thermal correction_max_iterations</A>
<LI><A HREF = "USER/atc/man_control_momentum.html">fix_modify AtC control momentum</A>
<LI><A HREF = "USER/atc/man_localized_lambda.html">fix_modify AtC control localized_lambda</A>
<LI><A HREF = "USER/atc/man_lumped_lambda_solve.html">fix_modify AtC control lumped_lambda_solve</A>
<LI><A HREF = "USER/atc/man_mask_direction.html">fix_modify AtC control mask_direction</A> control
<LI><A HREF = "USER/atc/man_time_filter.html">fix_modify AtC filter</A>
<LI><A HREF = "USER/atc/man_filter_scale.html">fix_modify AtC filter scale</A>
<LI><A HREF = "USER/atc/man_filter_type.html">fix_modify AtC filter type</A>
<LI><A HREF = "USER/atc/man_equilibrium_start.html">fix_modify AtC equilibrium_start</A>
<LI><A HREF = "USER/atc/man_extrinsic_exchange.html">fix_modify AtC extrinsic exchange</A>
<LI><A HREF = "USER/atc/man_poisson_solver.html">fix_modify AtC poisson_solver</A>
</UL>
<P>fix_modify commands for output:
</P>
<UL><LI><A HREF = "USER/atc/man_output.html">fix_modify AtC output</A>
<LI><A HREF = "USER/atc/man_output_nodeset.html">fix_modify AtC output nodeset</A>
<LI><A HREF = "USER/atc/man_output_elementset.html">fix_modify AtC output elementset</A>
<LI><A HREF = "USER/atc/man_boundary_integral.html">fix_modify AtC output boundary_integral</A>
<LI><A HREF = "USER/atc/man_contour_integral.html">fix_modify AtC output contour_integral</A>
<LI><A HREF = "USER/atc/man_mesh_output.html">fix_modify AtC mesh output</A>
<LI><A HREF = "USER/atc/man_write_restart.html">fix_modify AtC write_restart</A>
<LI><A HREF = "USER/atc/man_read_restart.html">fix_modify AtC read_restart</A>
</UL>
<P>fix_modify commands for post-processing:
</P>
<UL><LI><A HREF = "USER/atc/man_hardy_kernel.html">fix_modify AtC kernel</A>
<LI><A HREF = "USER/atc/man_hardy_fields.html">fix_modify AtC fields</A>
<LI><A HREF = "USER/atc/man_hardy_gradients.html">fix_modify AtC grdients</A>
<LI><A HREF = "USER/atc/man_hardy_rates.html">fix_modify AtC rates</A>
<LI><A HREF = "USER/atc/man_hardy_computes.html">fix_modify AtC computes</A>
<LI><A HREF = "USER/atc/man_hardy_on_the_fly.html">fix_modify AtC on_the_fly</A>
<LI><A HREF = "USER/atc/man_pair_interactions.html">fix_modify AtC pair_interactions/bond_interactions</A>
<LI><A HREF = "USER/atc/man_sample_frequency.html">fix_modify AtC sample_frequency</A>
<LI><A HREF = "USER/atc/man_set.html">fix_modify AtC set</A>
</UL>
<P>miscellaneous fix_modify commands:
</P>
<UL><LI><A HREF = "USER/atc/man_atom_element_map.html">fix_modify AtC atom_element_map</A>
<LI><A HREF = "USER/atc/man_atom_weight.html">fix_modify AtC atom_weight</A>
<LI><A HREF = "USER/atc/man_write_atom_weights.html">fix_modify AtC write_atom_weights</A>
<LI><A HREF = "USER/atc/man_reset_time.html">fix_modify AtC reset_time</A>
<LI><A HREF = "USER/atc/man_reset_atomic_reference_positions.html">fix_modify AtC reset_atomic_reference_positions</A>
<LI><A HREF = "USER/atc/man_fe_md_boundary.html">fix_modify AtC fe_md_boundary</A>
<LI><A HREF = "USER/atc/man_boundary_faceset.html">fix_modify AtC boundary_faceset</A>
<LI><A HREF = "USER/atc/man_consistent_fe_initialization.html">fix_modify AtC consistent_fe_initialization</A>
<LI><A HREF = "USER/atc/man_mass_matrix.html">fix_modify AtC mass_matrix</A>
<LI><A HREF = "USER/atc/man_material.html">fix_modify AtC material</A>
<LI><A HREF = "USER/atc/man_atomic_charge.html">fix_modify AtC atomic_charge</A>
<LI><A HREF = "USER/atc/man_source_integration.html">fix_modify AtC source_integration</A>
<LI><A HREF = "USER/atc/man_temperature_definition.html">fix_modify AtC temperature_definition</A>
<LI><A HREF = "USER/atc/man_track_displacement.html">fix_modify AtC track_displacement</A>
<LI><A HREF = "USER/atc/man_boundary_dynamics.html">fix_modify AtC boundary_dynamics</A>
<LI><A HREF = "USER/atc/man_add_species.html">fix_modify AtC add_species</A>
<LI><A HREF = "USER/atc/man_add_molecule.html">fix_modify AtC add_molecule</A>
<LI><A HREF = "USER/atc/man_remove_species.html">fix_modify AtC remove_species</A>
<LI><A HREF = "USER/atc/man_remove_molecule.html">fix_modify AtC remove_molecule</A>
</UL>
<P>Note: a set of example input files with the attendant material files are included with this package
</P>
<P><B>Default:</B>
None
</P>
<HR>
<P>For detailed exposition of the theory and algorithms please see:
</P>
<A NAME = "Wagner"></A>
<P><B>(Wagner)</B> Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.
</P>
<A NAME = "Zimmeman2004"></A>
<P><B>(Zimmerman2004)</B> Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.
</P>
<A NAME = "Zimmerman2010"></A>
<P><B>(Zimmerman2010)</B> Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364.
</P>
<A NAME = "Templeton2010"></A>
<P><B>(Templeton2010)</B> Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
</P>
<A NAME = "Jones"></A>
<P><B>(Jones)</B> Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940.
</P>
<A NAME = "Templeton2011"></A>
<P><B>(Templeton2011)</B> Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736.
</P>
<A NAME = "Mandadapu"></A>
<P><B>(Mandadapu)</B> Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115.
</P>
<P>Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation.
</P>
</HTML>