Command reference =================================== .. toctree:: :maxdepth: 1 :hidden: general blast boundary DFN FEM geometry group mesh material history The input commands are started from the topmost class ``openfdem.`` which can also be shortened as ``of.``. In this tutorial, ``of.`` will be used for simplification. General -------------------------------------- +--------------------------------------------------------+-----------------------------------------------------------------------------+ | Function | Description | +========================================================+=============================================================================+ | :doc:`of.console.interval`| Set the interval to show the results printed on the console screen. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.damp.global` | Set the global damping value to slow down the loading velocity. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.finalize` | Clear all the memory after the last run | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.import` | Import the file. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.import.table` | Import the table. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.log.interval` | Set the interval to print the results in .log file. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.new` | Clear all old memory and start a new run | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.restore` | Restore the model and rerun the data. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.save` | Save the model and make it possible to be restored. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.save.FEM` | Save the FEM results after in-situ stress equilibrium is reached. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.config` | Choose the plane stress or plane strain for the 2D problems. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.contact` | Set the model with contact detection and contact forces computation or not. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.debug` | Turn on the debug mode. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.GBM` | Assign the number of groups for minerals in GBM model. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.gravity` | Add the gravity in the model. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.large` | Set the flag of large deformation for the kinematics. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.massscale` | Set the mass scale value to lump the nodal mass and give a larger timestep. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.module` | Set the flags of different modules. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.omp` | Assign the number of cores used for CPU parallelization. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.result` | Set the path to store the result files. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.set.rgbm` | Assign the number of groups for minerals to create the realistic GBM model. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.solve` | Assign the mechanical ratio as the iteration threshold to exit the running. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.step` | Assign the cycle steps for the current run. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ | :doc:`of.timestep` | Set the user-defined timestep. | +--------------------------------------------------------+-----------------------------------------------------------------------------+ Blast -------------------------------------------- +---------------------------------------------------+------------------------------------------------------------------+ | Function | Description | +===================================================+==================================================================+ |:doc:`of.blast.position` | Create a blast borehole by its center and radius. | +---------------------------------------------------+------------------------------------------------------------------+ Boundary Conditions ---------------------------------------------- +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | Function | Description | +====================================================================================+===================================================================================+ | :doc:`of.boundary.nodal.force` | Create nodal force boundaries on nodal groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.nodal.velocity` | Create the nodal velocity boundary on the nodal groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.nodal.inivelocity` | Create the initial velocity boundaries on the nodal groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.nodal.acceleration` | Create the acceleration boundary on the nodal groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.nodal.clear` | Delete the nodal boundaries defined before. Directly set the nodal groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.edge.force` | Create the edge force boundary on the edge groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.edge.velocity` | Create the edge velocity boundary on the edge groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.edge.inivelocity` | Create the initial velocity boundaries on the edge groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.edge.acceleration` | Create the acceleration boundary on the edge groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.edge.clear` | Delete the edge boundaries defined before. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.element.stress` | Create the in-situ stress on the assigned element groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.element.stress.xgrad` | Create the in-situ stress gradient in x direction on the assigned element groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.element.stress.ygrad` | Create the in-situ stress gradient in y direction on the assigned element groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.element.clear` | Delete the element boundaries defined before. Directly set the element groups. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ | :doc:`of.boundary.blast` | Create the blast borehole boundaries from the table. | +------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ DFN -------------------------------- +-----------------------------------------------------+-------------------------------------------------------------------+ | Function | Description | +=====================================================+===================================================================+ | :doc:`of.DFN.connectivity` | Create DFN by knowing its node id. | +-----------------------------------------------------+-------------------------------------------------------------------+ | :doc:`of.DFN.group` | Create DFN groups by knowing the dfn id. | +-----------------------------------------------------+-------------------------------------------------------------------+ | :doc:`of.DFN.cohesive` | Set the DFN as initial cohesive by groups. | +-----------------------------------------------------+-------------------------------------------------------------------+ | :doc:`of.DFN.broken` | Set the DFN as initial broken fractures by groups. | +-----------------------------------------------------+-------------------------------------------------------------------+ FEM ----------------------------------- +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | Function | Description | +===================================================================================+===========================================================================+ | :doc:`of.import.FEM.nodal.coord` | Import the nodal by knowing node count and initial coordinates. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.nodal.coord0` | Import the nodal by knowing node count and initial coordinates. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.nodal.velocity` | Import the nodal velocities by knowing node count and initial velocities. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.nodal.groups` | Import the nodal groups. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.edge.groups` | Import the edge groups. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.element.groups` | Import the element groups. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :doc:`of.import.FEM.element.connectivity` | Import the element connectivity. | +-----------------------------------------------------------------------------------+---------------------------------------------------------------------------+ Geometry ------------------------------- +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | Function | Description | +=========================================================================+=================================================================+ | :doc:`of.geometry.square` | create a rectangular object | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.square` | cut the rectangle from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.remove.square` | remove the rectangle from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cir` | create a circle object | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.circle` | cut the circle from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.remove.circle` | remove the circle from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.ellip` | create a ellipse object | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.ellipse` | cut the ellipse from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.remove.ellipse` | remove the ellipse from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.polygon` | create a polygon object | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.polygon` | cut the polygon from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.remove.polygon` | remove the polygon from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.t` | create an object based on the data in the table | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.table` | cut the object from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.remove.table` | remove the object from the existing geometry | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.domain` | Range of the geometry. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.joint` | Cut a joint in an object. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.jset` | Cut joint sets by assigning the dip, space, trace and gap of | | | the joints. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.DFN` | Cut DFN sets by assigning the dip, length, threshold method | | | of the joints. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.cut.arc` | Create an arc. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.minsize` | Set the minsize to delete the bad segments for jsets and dfns. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.minangle` | Set the minangle to delete the bad segments for jsets and dfns. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.iteration` | Set the iteration to converge the generation of jsets and dfns. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.group` | Set group of the points in gmsh to set the new mesh size. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.mesh.size` | Set the mesh size to the tags. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.recombine` | Generate quadrangle element. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.mesh` | Set the method to create mesh. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ | :doc:`of.geometry.mesh.write` | Export the mesh file. | +-------------------------------------------------------------------------+-----------------------------------------------------------------+ Group ------------------------------------------------------ +-------------------------------------------------------------------------------------+-------------------------------------+ | Function | Description | +=====================================================================================+=====================================+ | :doc:`of.group.nodal` | Set the group of nodals in mesh. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge` | Set the group of edges in mesh. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.element` | Set the group of elements in mesh. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement` | Set the group of cohesive elements | | | in mesh. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.nodal.from.element` | Inherit the nodal group from their | | | parent elements | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.from.element` | Inherit the edge group from their | | | parent elements | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.from.cohelement` | Inherit the edge group from their | | | parent cohelements | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.from.dfn` | Inherit the edge group from DFN | | | tags | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement.from.dfn` | Inherit the cohelement group from | | | DFN tags | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement.from.gbm` | Create the cohesive element groups | | | if they are located between the | | | target element tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.nodal.bool.union` | Get the bool union of the second - | | | last nodal groups and store them | | | into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.nodal.bool.intersect` | Get the bool intersect of the | | | second - last nodal groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.nodal.bool.subtract` | Get the bool subtract of the second | | | to other- last nodal groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.bool.union` | Get the bool union of the second - | | | last edge groups and store them | | | into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.bool.intersect` | Get the bool intersect of the | | | second - last edge groups and store | | | them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.edge.bool.subtract` | Get the bool subtract of the second | | | to other- last edge groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.element.bool.union` | Get the bool union of the second - | | | last element groups and store them | | | into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.element.bool.intersect` | Get the bool intersect of the | | | second - last element groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.element.bool.subtract` | Get the bool subtract of the second | | | to other- last element groups | | | and store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement.bool.union` | Get the bool union of the second - | | | last cohesive element groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement.bool.intersect` | Get the bool intersect of the | | | second - last cohelement groups and | | | store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ | :doc:`of.group.cohelement.bool.subtract` | Get the bool subtract of the second | | | to other- last cohelement groups | | | and store them into the first tags. | +-------------------------------------------------------------------------------------+-------------------------------------+ Mesh ----------------------------------- +---------------------------------------------------+---------------------------------------------------------------------+ | Function | Description | +===================================================+=====================================================================+ | :doc:`of.mesh.insert` | Insert cohesive in the target element groups. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.insert.dfn`| Insert cohesive only on a dfn plane, the dfn should cross the block.| +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.voronoi` | Change the delaunay element to Voronoi element. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.split` | Insert contacts within the element tags and no cohesive elements | | | will be created. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.bary` | Refine the target element groups using bary separation scheme. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.RG` | Refine the target element groups using RG separation scheme. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.RGB` | Refine the target element groups using RGB separation scheme. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.NVB` | Refine the target element groups using NVB separation scheme. | +---------------------------------------------------+---------------------------------------------------------------------+ | :doc:`of.mesh.baryGB` | Refine the target element groups using baryGB separation scheme. | +---------------------------------------------------+---------------------------------------------------------------------+ Material ----------------------------------------- +--------------------------------------------------------------+-----------------------------------------+ | Function | Description | +==============================================================+=========================================+ | :doc:`of.mat.element` | Assign the material parameters to the | | | target element groups. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.cohesive` | Assign the material parameters to the | | | target cohesive element groups. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.contact` | Assign the material parameters to the | | | target element group pairs. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.hydro.matrix` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.hydro.fracture` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.mpm.fluid` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.mpm.solid` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.hydro.fluid` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.hydro.gas` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.nonlocal` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ | :doc:`of.mat.thermal` | Contact the developer for more | | | information. | +--------------------------------------------------------------+-----------------------------------------+ History -------------------------------------------- +---------------------------------------------------------------------------------+-----------------------------------------------+ | Function | Description | +=================================================================================+===============================================+ | :doc:`of.history.pv.interval` | Set the result writing intervals. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.dynamic.interval` | Set the dynamic result writing intervals by | | | the increasing broken CZM. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.field` | Export field results. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.fracture` | Export fracture results. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.cohesive` | Export cohesive results. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.damage` | Export damage results. | +---------------------------------------------------------------------------------+-----------------------------------------------+ | :doc:`of.history.pv.ae` | Export ae results. | +---------------------------------------------------------------------------------+-----------------------------------------------+