*********************
General XFEM Commands
*********************

.. code-block:: sierrainput

   BEGIN XFEM <string>xfem_name
     BLOCK = <string list>block_name
     ASSEMBLY = <string list>assembly_name
     INCLUDE ALL BLOCKS
     ADD INFINITE PLANE = <real>px <real>py <real>pz
              <real>nx <real>ny <real>nz
     ADD DISC = <real>px <real>py <real>pz
              <real>nx <real>ny <real>nz
              <string>radius_function
     MECHANICS GROWTH START TIME = <real>time(0.0)
     MECHANICS GROWTH METHOD = <string>NOTHING|
              MECHANICS FAILURE(NOTHING)
     CRITERION = <string>\{AVG NODAL|MAX NODAL|
              MIN NODAL|ELEMENT|GLOBAL\} 
              VALUE OF <string>variable 
              \{>=|>|=|<|<=\} <real>threshold
     FAILURE SURFACE EVOLUTION = <string>PLANAR|PIECEWISE LINEAR|
              SINGLE CRACK(PLANAR)
     ANGLE CHANGE = <string>NONE|STRESS EIGENVECTOR|
              ONE RING|LENGTH SCALE(NONE)
     CREATE FACES = <string>ON|OFF(ON)
     GENERATION BY NUCLEATION = <string>NO|ELEMENT-BASED(NO)
     NUCLEATION CRITERION = <string>
              \{AVG NODAL|MAX NODAL| MIN NODAL|ELEMENT|
              GLOBAL\} VALUE OF <string>variable 
              \{>=|>|=|<|<=\} <real>threshold
     CRACK BRANCHING = <string> RESTRICTED|ALLOWED(RESTRICTED)
     BRANCHING CRITERION = <string>
              \{AVG NODAL|MAX NODAL| MIN NODAL|ELEMENT|
              GLOBAL\} VALUE OF <string>variable 
              \{>=|>|=|<|<=\} <real>threshold
     PROPAGATION ANGLE LIMIT = <real> angle
     ANGLE CHANGE LENGTH SCALE OUTER RADIUS = <real>outer_radius
     ANGLE CHANGE LENGTH SCALE INNER RADIUS = <real>inner_radius
     START TIME = <real>start\_time
     INITIAL SURFACE COHESIVE = <string>FALSE|TRUE(FALSE)
     COHESIVE SECTION = <string>cohesive_section_name
     COHESIVE MATERIAL = <string>cohesive_material_name
     COHESIVE MODEL = <string>cohesive_model_name
     SOLID GROWTH DIRECTION VARIABLE =
              <string>direction_field_name(stress)
     SHELL GROWTH DIRECTION VARIABLE =
              <string>direction_field_name(memb_stress)
     VOLUME FRACTION LOWER BOUND = <real>lower_bound(0.0) DELETE|
              RETAIN(DELETE)
     CALCULATE FRAGMENT IDS = {OFF|ON}(OFF)
     INITIAL CUT WITH \{SIDESET|STL\}
              <string>file_or_surface_name
              REMOVE \{INTERIOR|EXTERIOR|NOTHING(NOTHING)\}
     CUT WITH DAMAGE VARIABLE = <string>variable_name
   END [XFEM <string>xfem_name]

Assemblies may contain blocks, or assemblies of these.
