bdbem_pd_segmentation_code -- code archive of Paper II
=====================================================

Code for every computed number in

    "Segmentation of a three-dimensional crack front under mode I+III:
     closed-form predictions tested by a Born-weight dual boundary
     element--peridynamics coupling"                      (bdbem_pd_segmentation.tex)

Requirements: python3, numpy, scipy, matplotlib, pyamg, triangle
(scikit-image only for verify/render3d.py).  Every script puts the
directories it needs on its own path; run from the top level with
PYTHONPATH unset.  Each driver states its prediction in its docstring.

crack3d/   the BDBEM of the crack (shared with Paper I)
coupling/  the collar and the coupling (shared with Paper I)
   moving.py     the collar that follows the front: near-front K-field of
                 the BDBEM on the shell (Eq. kfield), window translated with
                 the front, traction-free transfer, energy audit (Eq. dU)
bloch/     exact linearisation of the collar along the front
   bloch2d.py    reduction U(x,z) exp(iky); k = 0 reproduces the 3-D collar
   tilt.py, tilt_far.py   shear-free orientation vs tan 2psi = 2rho/(1-2nu)
   phi_measure.py, phi_correct.py   collar factor Phi(k delta)
   phib.py       closed-form bounds Phi_avg and Phi_b; spacings 3.02, 1.02
   rice.py, weight.py   Rice perturbation and bond weights
analysis/m_lattice_moments.py   lattice sums of the collar factors and the
                 convergence of the facet spacing in m (Table mconv)

verify/   drivers
   Example 1 (segmentation under mode I+III):
      segmentation.py, segmentation_m.py, segmentation_rot.py,
      segmentation_noise.py, sensitivity.py, collar_height.py,
      analyze_seg.py, analyze_audit.py, analyze_rot.py, energy_split.py,
      compare_m.py, quick_modes.py, export_ex3.py, export_linear.py,
      export_mref.py
   Example 2 (wavy front):  wavy_front.py, analyze_wavy.py
   figure tables:  export_3d.py, make_tex_tables.py, render3d.py

Lattice refinement (Example 1):
  python3 verify/segmentation_m.py 0.0 3 2.5 0 0 3 modeI_m3
  python3 verify/segmentation_m.py 0.0 4 2.5 0 0 3 modeI_m4
  python3 verify/segmentation_m.py 0.0 5 2.5 0 0 2 modeI_m5
  python3 verify/compare_m.py ; python3 verify/export_mref.py
Threshold sweep:
  python3 verify/segmentation.py 0.5 27 1.67 1 0.04 1 1 _thr
  python3 verify/segmentation.py 0.75 27 1.67 1 0.04 1 1 _thr
Linear stage:  python3 bloch/phib.py ; python3 bloch/phi_correct.py
Lattice sums:  python3 analysis/m_lattice_moments.py

data/   run outputs and figure tables; restart states (*_state.pkl),
checkpoints and the outputs above 5 MB are left out and regenerated by the
drivers.   logs/  logs of the runs.
