PFC Stress Wave And AE Location
Use this skill to design, explain, or implement stress-wave propagation and acoustic-emission (AE) source localization workflows in PFC. It covers elastic wave propagation, numerical dispersion, source excitation, boundary reflection/absorption, P/S wavefront and radiation-pattern checks, and 2D velocity-free AE source location from sensor-cluster time delays.
Parent Skill Relationship
pfc-stress-wave-aelocation is a child skill of pfc-workflow. It owns the elastic-wave and source-location specialist portion, not the full model lifecycle.
Use these handoffs:
- Parent
pfc-workflow: owns full planning, calibration, solve campaign control, V&V, and delivery.
- Sibling
pfc-dynamics: owns general dynamic/seismic loading, damping/timestep audits, and inertial response assumptions.
- Sibling
pfc-ae-energy: owns AE hit/event tables, energy figures, moment tensors, T-k/Hudson/source-mechanism plots.
- Sibling
pfc-fish: owns waveform callbacks, absorbing-boundary FISH, histories, tables, and reusable helper refactoring.
- Sibling
pfc-contact-models: owns bonded/flat-joint contact model setup and property audits.
- Sibling
pfc-postprocessing: owns wavefield, waveform, error-map, and summary figures after export.
- Sibling
pfc-gbm-brittle-rock or pfc-flat-joint-brittle-rock: owns brittle-rock GBM/FJM specimen construction if the wave source is embedded in those models.
When To Use
Use through pfc-workflow when the task asks to:
- simulate stress-wave, elastic-wave, seismic-wave, ultrasonic, or blasting-wave propagation in PFC
- compare P-wave/S-wave speed, wavefronts, attenuation, dispersion, or radiation patterns
- generate sine or Ricker wavelet sources in FISH
- design absorbing, free, or rigid boundaries for wave propagation
- localize AE sources from sensor arrays or arrival-time differences
- use Kundu velocity-free localization or arbitrary-triangle sensor clusters
- compute time delay by cross-correlation
- validate a flat-joint plate or brittle-rock model with pencil-lead-break style source localization
Required Inputs
Ask for these if missing:
- PFC version, dimensionality, and whether dynamic mode/license is available.
- Wave goal: 1D chain, 2D wavefront, source radiation pattern, boundary test, or AE location.
- Particle size / spacing and target maximum frequency for dispersion check.
- Contact model and elastic parameters for wave speed.
- Source type: sine, Ricker velocity, Ricker force, point force, wall motion, or bond-break source.
- Boundary type: rigid, free, absorbing, or long-enough domain.
- Sensor coordinates, sampling interval, and waveform export format for AE location.
- Error tolerance and source-location evaluation metric.
Operating Rules
- Check dispersion before model construction: use wavelength-to-particle spacing ratio
lambda / D >= 10 for accurate wave propagation.
- Prefer Ricker wavelets over simple sine pulses when broadband high-frequency corners would cause strong numerical dispersion.
- Turn off local damping for physical wave propagation unless the task explicitly studies attenuation.
- Use small, fixed timesteps; do not use mass/density scaling for wave-speed studies.
- Reset mechanical time before source excitation when the waveform depends on time.
- Treat absorbing boundaries as part of the model, not an afterthought.
- Use cross-correlation for cluster-internal time delays; avoid manual arrival picking when waveforms are similar.
- For velocity-free localization, reject near-parallel cluster-pair rays and report geometry degeneracy.
Core Workflow
- Classify the task: wave propagation, source excitation, boundary behavior, wavefield/radiation pattern, or AE location.
- Run the dispersion pre-check: estimate wave speed, maximum frequency, wavelength, and
lambda / D.
- Build the model: 1D chain, 2D hexagonal lattice, plate specimen, or calibrated brittle-rock specimen.
- Configure dynamic assumptions: damping, timestep, mechanical time reset, histories, and export interval.
- Add the source: Ricker velocity/force or another documented waveform.
- Add boundaries: rigid/free/absorbing and document expected reflection behavior.
- Export waveforms at monitors/sensors.
- For AE location, compute time delays by cross-correlation.
- Convert each sensor cluster to an arrival direction; intersect cluster rays for source candidates.
- Filter poor geometry, compute location error, and hand off figures/tables to
pfc-postprocessing or AE interpretation to pfc-ae-energy.
Documentation-Backed Rules
PFC command families checked with pfc-mcp are summarized in references/pfc-doc-notes.md:
model configure dynamic, model dynamic
model mechanical timestep, model mechanical time-total
model cycle, model solve
ball attribute, wall attribute
fish define, fish callback, fish history
ball history, wall history, measure history
model energy, history export, table export
program call
Formula And Code Migration Rules
When the request asks about theory, formulas, exact algorithms, or code migration, load these first:
references/wave-theory.md: 1D and 2D wave speed, dispersion, boundary reflection, and radiation formulas.
references/source-excitation.md: Ricker/sine source rules and FISH source templates.
references/ae-location.md: Kundu and arbitrary-triangle velocity-free localization formulas.
references/cross-correlation.md: time-delay estimation and Python implementation notes.
references/calibration-plate.md: plate calibration, sensor layouts, and expected location accuracy.
scripts/canonical/: reusable source, absorbing-boundary, localization, cross-correlation figure, and plotting templates.
Output Contract
A complete handoff back to pfc-workflow should include:
- wave type and model type
- dispersion calculation and pass/fail status
- source waveform parameters and implementation route
- damping/timestep/dynamic-mode assumptions
- boundary condition and reflection/absorption expectation
- monitor/sensor layout
- exported waveform requirements
- localization method, time-delay algorithm, and geometry filters
- error metrics and recommended figures/tables
Local Contents
references/wave-theory.md: wave equations, speeds, dispersion, boundaries, and radiation patterns.
references/source-excitation.md: sine/Ricker sources and PFC implementation templates.
references/ae-location.md: velocity-free source-location formulas.
references/cross-correlation.md: signal processing and Python implementation details.
references/calibration-plate.md: granite/flat-joint plate parameters and sensor layouts.
references/pfc-doc-notes.md: PFC 6.0 documentation notes checked through pfc-mcp.
examples/README.md: materialization and validation patterns.
scripts/canonical/: PFC/FISH/Python templates.
templates/: YAML parameter templates for sensors and wave settings.
1---2name: pfc-stress-wave-aelocation3description: PFC Stress Wave And AE Location4---56# PFC Stress Wave And AE Location78Use this skill to design, explain, or implement stress-wave propagation and acoustic-emission (AE) source localization workflows in PFC. It covers elastic wave propagation, numerical dispersion, source excitation, boundary reflection/absorption, P/S wavefront and radiation-pattern checks, and 2D velocity-free AE source location from sensor-cluster time delays.910## Parent Skill Relationship1112`pfc-stress-wave-aelocation` is a child skill of `pfc-workflow`. It owns the elastic-wave and source-location specialist portion, not the full model lifecycle.1314Use these handoffs:1516- Parent `pfc-workflow`: owns full planning, calibration, solve campaign control, V&V, and delivery.17- Sibling `pfc-dynamics`: owns general dynamic/seismic loading, damping/timestep audits, and inertial response assumptions.18- Sibling `pfc-ae-energy`: owns AE hit/event tables, energy figures, moment tensors, T-k/Hudson/source-mechanism plots.19- Sibling `pfc-fish`: owns waveform callbacks, absorbing-boundary FISH, histories, tables, and reusable helper refactoring.20- Sibling `pfc-contact-models`: owns bonded/flat-joint contact model setup and property audits.21- Sibling `pfc-postprocessing`: owns wavefield, waveform, error-map, and summary figures after export.22- Sibling `pfc-gbm-brittle-rock` or `pfc-flat-joint-brittle-rock`: owns brittle-rock GBM/FJM specimen construction if the wave source is embedded in those models.2324## When To Use2526Use through `pfc-workflow` when the task asks to:2728- simulate stress-wave, elastic-wave, seismic-wave, ultrasonic, or blasting-wave propagation in PFC29- compare P-wave/S-wave speed, wavefronts, attenuation, dispersion, or radiation patterns30- generate sine or Ricker wavelet sources in FISH31- design absorbing, free, or rigid boundaries for wave propagation32- localize AE sources from sensor arrays or arrival-time differences33- use Kundu velocity-free localization or arbitrary-triangle sensor clusters34- compute time delay by cross-correlation35- validate a flat-joint plate or brittle-rock model with pencil-lead-break style source localization3637## Required Inputs3839Ask for these if missing:4041- PFC version, dimensionality, and whether dynamic mode/license is available.42- Wave goal: 1D chain, 2D wavefront, source radiation pattern, boundary test, or AE location.43- Particle size / spacing and target maximum frequency for dispersion check.44- Contact model and elastic parameters for wave speed.45- Source type: sine, Ricker velocity, Ricker force, point force, wall motion, or bond-break source.46- Boundary type: rigid, free, absorbing, or long-enough domain.47- Sensor coordinates, sampling interval, and waveform export format for AE location.48- Error tolerance and source-location evaluation metric.4950## Operating Rules51521. Check dispersion before model construction: use wavelength-to-particle spacing ratio `lambda / D >= 10` for accurate wave propagation.532. Prefer Ricker wavelets over simple sine pulses when broadband high-frequency corners would cause strong numerical dispersion.543. Turn off local damping for physical wave propagation unless the task explicitly studies attenuation.554. Use small, fixed timesteps; do not use mass/density scaling for wave-speed studies.565. Reset mechanical time before source excitation when the waveform depends on time.576. Treat absorbing boundaries as part of the model, not an afterthought.587. Use cross-correlation for cluster-internal time delays; avoid manual arrival picking when waveforms are similar.598. For velocity-free localization, reject near-parallel cluster-pair rays and report geometry degeneracy.6061## Core Workflow62631. Classify the task: wave propagation, source excitation, boundary behavior, wavefield/radiation pattern, or AE location.642. Run the dispersion pre-check: estimate wave speed, maximum frequency, wavelength, and `lambda / D`.653. Build the model: 1D chain, 2D hexagonal lattice, plate specimen, or calibrated brittle-rock specimen.664. Configure dynamic assumptions: damping, timestep, mechanical time reset, histories, and export interval.675. Add the source: Ricker velocity/force or another documented waveform.686. Add boundaries: rigid/free/absorbing and document expected reflection behavior.697. Export waveforms at monitors/sensors.708. For AE location, compute time delays by cross-correlation.719. Convert each sensor cluster to an arrival direction; intersect cluster rays for source candidates.7210. Filter poor geometry, compute location error, and hand off figures/tables to `pfc-postprocessing` or AE interpretation to `pfc-ae-energy`.7374## Documentation-Backed Rules7576PFC command families checked with `pfc-mcp` are summarized in `references/pfc-doc-notes.md`:7778- `model configure dynamic`, `model dynamic`79- `model mechanical timestep`, `model mechanical time-total`80- `model cycle`, `model solve`81- `ball attribute`, `wall attribute`82- `fish define`, `fish callback`, `fish history`83- `ball history`, `wall history`, `measure history`84- `model energy`, `history export`, `table export`85- `program call`8687## Formula And Code Migration Rules8889When the request asks about theory, formulas, exact algorithms, or code migration, load these first:9091- `references/wave-theory.md`: 1D and 2D wave speed, dispersion, boundary reflection, and radiation formulas.92- `references/source-excitation.md`: Ricker/sine source rules and FISH source templates.93- `references/ae-location.md`: Kundu and arbitrary-triangle velocity-free localization formulas.94- `references/cross-correlation.md`: time-delay estimation and Python implementation notes.95- `references/calibration-plate.md`: plate calibration, sensor layouts, and expected location accuracy.96- `scripts/canonical/`: reusable source, absorbing-boundary, localization, cross-correlation figure, and plotting templates.9798## Output Contract99100A complete handoff back to `pfc-workflow` should include:101102- wave type and model type103- dispersion calculation and pass/fail status104- source waveform parameters and implementation route105- damping/timestep/dynamic-mode assumptions106- boundary condition and reflection/absorption expectation107- monitor/sensor layout108- exported waveform requirements109- localization method, time-delay algorithm, and geometry filters110- error metrics and recommended figures/tables111112## Local Contents113114- `references/wave-theory.md`: wave equations, speeds, dispersion, boundaries, and radiation patterns.115- `references/source-excitation.md`: sine/Ricker sources and PFC implementation templates.116- `references/ae-location.md`: velocity-free source-location formulas.117- `references/cross-correlation.md`: signal processing and Python implementation details.118- `references/calibration-plate.md`: granite/flat-joint plate parameters and sensor layouts.119- `references/pfc-doc-notes.md`: PFC 6.0 documentation notes checked through `pfc-mcp`.120- `examples/README.md`: materialization and validation patterns.121- `scripts/canonical/`: PFC/FISH/Python templates.122- `templates/`: YAML parameter templates for sensors and wave settings.