Inter-operability between PyDiS and ExaDiS Modules¶
To run the test case, simply execute:
cd ${OPENDIS_DIR}
cd examples/02_frank_read_src
python3 -i test_frank_read_src_pydis_exadis.py
Simulation Setup (default)¶
In this example, two sets of classes (such as CalForce
, MobilityLaw
, Topology
) are imported from both PyDiS
and ExaDiS
modules.
They can be combined in various ways to construct a dislocation dynamics simulation.
This Python script demonstrates two ways to do so, as specified by the optional command line argument, which can be either 1
(default) or 2
.
Hint
The last line in the block above has the same effect as
python3 -i test_frank_read_src_pydis_exadis.py 1
In this Python script, the sim
object is still constructed from the SimulateNetwork
class of PyDiS
.
Here with option
equal to 1
, sim
uses MobilityLaw
, TimeIntegration
, Topology
, VisualizeNetwork
classes imported from PyDiS
, and uses CalForce
, Collision
, Remesh
classes imported from ExaDiS
.
Simulation Setup (option 2)¶
Alternatively, we can run the python script using option 2 as follows.
python3 -i test_frank_read_src_pydis_exadis.py 2
Now sim
uses MobilityLaw
, VisualizeNetwork
classes imported from PyDiS
, and uses CalForce
, TimeIntegration
, Topology
, Collision
, Remesh
classes imported from ExaDiS
.
It is interesting to note that some of the objects make use of other objects that may be from either PyDiS
or ExaDiS
modules. For example, exadis_timeint
and exadis_topology
both use CalForce
from PyDiS
and Mobility
from ExaDiS
.