diff --git a/doc/src/atc_control_momentum.rst b/doc/src/atc_control_momentum.rst new file mode 100644 index 0000000000..69790a79ab --- /dev/null +++ b/doc/src/atc_control_momentum.rst @@ -0,0 +1,77 @@ +.. index:: fix_modify AtC control momentum + +fix_modify AtC control momentum command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control + fix_modify AtC control momentum none + fix_modify AtC control momentum rescale + fix_modify AtC control momentum glc_displacement + fix_modify AtC control momentum glc_velocity + fix_modify AtC control momentum hoover + fix_modify AtC control momentum flux [faceset face_set_id, interpolate] + +* AtC fixID = ID of :doc:`fix atc ` instance +* control = name of the AtC sub-command +* physics_type = *thermal* or *momentum* +* solution_parameter = *max_iterations* or *tolerance* +* value = solution_parameter value +* momentum option = *none* or *rescale* or *glc_displacement* or *glc_velocity* *hoover* or *flux* +* frequency = time step frequency for applying displacement and velocity rescaling +* faceset_id = id of boundary face set (optional, only for *faceset*) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control momentum none + fix_modify AtC control momentum flux faceset bndy_faces + fix_modify AtC control momentum glc_velocity + +Description +""""""""""" + +The general version of *control* sets the numerical parameters for the +matrix solvers used in the specified control algorithm. Many solution +approaches require iterative solvers, and these methods enable users to +provide the maximum number of iterations and the relative tolerance. + +The *control momentum* version sets the momentum exchange mechanism from +the finite elements to the atoms, managed through a control algorithm. +*rescale* computes a scale factor for each atom to match the finite +element temperature. *hoover* is a Gaussian least-constraint isokinetic +thermostat enforces that the nodal restricted atomic temperature matches +the finite element temperature. *flux* is a similar mode, but rather +adds energy to the atoms based on conservation of energy. + +*correction_max_iterations* sets the maximum number of iterations to +compute the 2nd order in time correction term for lambda with the +fractional step method. The method uses the same tolerance as the +controller's matrix solver. + +Restrictions +"""""""""""" + +Only for be used with the specific controllers *thermal* or *momentum*. +They are ignored if a lumped solution is requested. + +*control momentum* is only for be used with specific transfers: elastic +*rescale* not valid with time filtering activated + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC control thermal ` + +Default +""""""" + +- *max_iterations* is the number of rows in the matrix. +- *tolerance* is 1.0e-10. diff --git a/doc/src/atc_control_thermal.rst b/doc/src/atc_control_thermal.rst new file mode 100644 index 0000000000..0cd4904e2d --- /dev/null +++ b/doc/src/atc_control_thermal.rst @@ -0,0 +1,87 @@ +.. index:: fix_modify AtC control thermal + +fix_modify AtC control thermal command +====================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control + fix_modify control thermal + fix_modify control thermal rescale + fix_modify control thermal flux + fix_modify control thermal correction_max_iterations + +* AtC fixID = ID of :doc:`fix atc ` instance +* control = name of the AtC sub-command +* physics_type = *thermal* or *momentum* +* solution_parameter = *max_iterations* or *tolerance* +* value = solution_parameter value +* thermal control_type = *none* or *rescale* or *hoover* or *flux* +* frequency = time step frequency for applying velocity rescaling +* boundary_integration_type = *faceset* or *interpolate* (optional) +* faceset_id = id of boundary face set (optional, only for *faceset*) +* correction_max_iterations = maximum number of iterations that will be used by iterative matrix solvers for *thermal* physics type + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control thermal none + fix_modify AtC control thermal rescale 10 + fix_modify AtC control thermal hoover + fix_modify AtC control thermal flux + fix_modify AtC control thermal flux faceset bndy_faces + fix_modify AtC control thermal correction_max_iterations 10 + +Description +""""""""""" + +The general version of *control* sets the numerical parameters for the +matrix solvers used in the specified control algorithm. Many solution +approaches require iterative solvers, and these methods enable users to +provide the maximum number of iterations and the relative tolerance. + +The *control thermal* version sets the energy exchange mechanism from +the finite elements to the atoms, managed through a control algorithm. +*rescale* computes a scale factor for each atom to match the finite +element temperature. *hoover* is a Gaussian least-constraint isokinetic +thermostat enforces that the nodal restricted atomic temperature matches +the finite element temperature. *flux* is a similar mode, but rather +adds energy to the atoms based on conservation of energy. *hoover* and +*flux* allow the prescription of sources or fixed temperatures on the +atoms. + +*correction_max_iterations* sets the maximum number of iterations to +compute the 2nd order in time correction term for lambda with the +fractional step method. The method uses the same tolerance as the +controller's matrix solver. + +Restrictions +"""""""""""" + +Only for be used with the specific controllers *thermal* or *momentum*. +They are ignored if a lumped solution is requested. + +*control thermal* is only for be used with specific transfers: thermal (*rescale*\ , *hoover*\ , *flux*\ ), *two_temperature* (*flux*\ ). +*rescale* not valid with time filtering activated + +*correction_max_iterations* is only for use with *thermal* physics using +the fractional step method. + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC control momentum ` + +Default +""""""" + +- *max_iterations* is the number of rows in the matrix. +- *tolerance* is 1.0e-10. +- *rescale* frequency is 1 +- *flux* boundary_integration_type is *interpolate* +- *correction_max_iterations* is 20 diff --git a/doc/src/atc_fix.rst b/doc/src/atc_fix.rst index e0b8141b8f..4e955ea4e4 100644 --- a/doc/src/atc_fix.rst +++ b/doc/src/atc_fix.rst @@ -1,7 +1,7 @@ .. index:: fix_modify AtC fix -fix_modify AtC initial command -============================== +fix_modify AtC fix command +========================== Syntax """""" diff --git a/doc/src/atc_fix_flux.rst b/doc/src/atc_fix_flux.rst new file mode 100644 index 0000000000..461d615162 --- /dev/null +++ b/doc/src/atc_fix_flux.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC fix_flux + +fix_modify AtC fix_flux command +=============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify fix_flux + +* AtC fixID = ID of :doc:`fix atc ` instance +* fix_flux = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* face_set = name of set of element faces +* *value* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC fix_flux temperature faceSet 10.0 + +Description +""""""""""" + +Command for fixing normal fluxes e.g. heat_flux. This command only +prescribes the normal component of the physical flux, e.g. heat (energy) +flux. The units are in AtC units, i.e. derived from the LAMMPS length, +time, and mass scales. + +Restrictions +"""""""""""" + +Only normal fluxes (Neumann data) can be prescribed. + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC unfix_flux ` + +Default +""""""" + +None. diff --git a/doc/src/atc_internal_element_set.rst b/doc/src/atc_internal_element_set.rst index 8f2c5cd298..8dfa55eadb 100644 --- a/doc/src/atc_internal_element_set.rst +++ b/doc/src/atc_internal_element_set.rst @@ -39,8 +39,8 @@ If boundary atoms are used in conjunction with Eulerian atom maps, the Eulerian reset frequency must be an integer multiple of the Lammps reneighbor frequency. -Related AtC Sub-commands -"""""""""""""""""""""""" +Related AtC commands +"""""""""""""""""""" - :doc:`fix_modify AtC atom_element_map ` - :doc:`fix_modify AtC boundary type ` diff --git a/doc/src/atc_remove_source.rst b/doc/src/atc_remove_source.rst new file mode 100644 index 0000000000..587d04731b --- /dev/null +++ b/doc/src/atc_remove_source.rst @@ -0,0 +1,43 @@ +.. index:: fix_modify AtC remove_source + +fix_modify AtC remove_source command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify remove_source + +* AtC fixID = ID of :doc:`fix atc ` instance +* remove_source = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* element_set = name of set of elements + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC remove_source temperature groupNAME + +Description +""""""""""" + +Remove a domain source. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as element_set name. + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC source ` + +Default +""""""" + +None. diff --git a/doc/src/atc_source.rst b/doc/src/atc_source.rst new file mode 100644 index 0000000000..9c3849070f --- /dev/null +++ b/doc/src/atc_source.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC source + +fix_modify AtC source command +============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify source + +* AtC fixID = ID of :doc:`fix atc ` instance +* source = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* element_set = name of set of elements +* *value* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC source temperature middle temporal_ramp 10.0 0.0 + +Description +""""""""""" + +Add domain sources to the mesh. The units are consistent with LAMMPS's +units for mass, length and time and are defined by the PDE being solved, +e.g. for thermal transfer the balance equation is for energy and source +is energy per time. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as element_set name. + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC remove_source ` + +Default +""""""" + +None. diff --git a/doc/src/atc_unfix.rst b/doc/src/atc_unfix.rst index 0e340eecd3..1241d51bae 100644 --- a/doc/src/atc_unfix.rst +++ b/doc/src/atc_unfix.rst @@ -1,6 +1,6 @@ .. index:: fix_modify AtC unfix -fix_modify AtC initial command +fix_modify AtC unfix command ============================== Syntax diff --git a/doc/src/atc_unfix_flux.rst b/doc/src/atc_unfix_flux.rst new file mode 100644 index 0000000000..a756f63a75 --- /dev/null +++ b/doc/src/atc_unfix_flux.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC unfix_flux + +fix_modify AtC unfix_flux command +================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify unfix_flux + +* AtC fixID = ID of :doc:`fix atc ` instance +* unfix_flux = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* face_set = name of set of element faces + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC unfix_flux temperature faceSet + +Description +""""""""""" + +Command for removing prescribed normal fluxes e.g. heat_flux, stress. + + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +:doc:`fix_modify AtC fix_flux ` + +Default +""""""" + +None. diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index 78d6793a96..b22d3359d1 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -172,17 +172,15 @@ conditions. * :doc:`fix_modify AtC initial ` * :doc:`fix_modify AtC fix ` * :doc:`fix_modify AtC unfix ` -* `fix_modify AtC fix_flux `_ -* `fix_modify AtC unfix_flux `_ -* `fix_modify AtC source `_ -* `fix_modify AtC remove_source `_ +* :doc:`fix_modify AtC fix_flux ` +* :doc:`fix_modify AtC unfix_flux ` +* :doc:`fix_modify AtC source ` +* :doc:`fix_modify AtC remove_source ` *fix_modify* commands for control and filtering: -* `fix_modify AtC control `_ -* `fix_modify AtC control thermal `_ -* `fix_modify AtC control thermal correction_max_iterations `_ -* `fix_modify AtC control momentum `_ +* :doc:`fix_modify AtC control thermal ` +* :doc:`fix_modify AtC control momentum ` * `fix_modify AtC control localized_lambda `_ * `fix_modify AtC control lumped_lambda_solve `_ * `fix_modify AtC control mask_direction `_ control