PFC Dynamics
Use this skill to explain, adapt, or generate PFC dynamic-loading workflows. The skill is self-contained: PFC 6.0 slope/seismic examples and blasting reference snippets are stored under scripts/canonical/, and documentation notes checked through pfc-mcp are stored under references/dynamics-doc-notes.md.
Parent Skill Relationship
pfc-dynamics is a child skill of pfc-workflow. It does not own the full PFC lifecycle. Use it for dynamic/seismic scenario selection, imposed motion, damping, timestep, dynamic histories, and blasting-style reference audits. Return to pfc-workflow for full case planning, solve orchestration, post-processing routing, verification, and delivery.
Parent/child split:
- Parent
pfc-workflow: owns complete PFC project lifecycle and decides when dynamic support is needed.
- Child
pfc-dynamics: owns dynamic loading, seismic/waveform patterns, damping and timestep assumptions, response histories, and rate-aware caveats.
- Sibling child
pfc-fish: owns detailed FISH helper/callback implementation when dynamic loading needs nontrivial code.
- Sibling child
pfc-standard-tests: owns standard mechanical-test templates and stage normalization.
- Sibling child
pfc-servo-calibration: owns servo control and manual calibration sequencing.
- Sibling child
pfc-fluid-coupling: owns PFC CFD/seepage/buoyancy workflows.
- Sibling child
pfc-flac-coupling: owns PFC-FLAC/FLAC3D discrete-continuum coupling.
- Sibling child
pfc-postprocessing: owns standard figures and field exports after solve.
- Sibling child
pfc-ae-energy: owns AE, energy, and source-mechanism outputs after solve.
When To Use
Use through pfc-workflow when a task involves time-dependent inertial response:
- slope motion or collapse after geometry removal
- seismic or waveform-style imposed velocity/displacement
- dynamic wall/ball velocity loading
- damping and timestep audits
- kinetic/strain energy history setup
- blasting, demolition, or fragmentation reference review
- rate-aware caveats for legacy command flows
Required Inputs
Ask for these if missing:
- PFC version and dimensionality: PFC2D/PFC3D and target major version.
- Dynamic scenario: slope, seismic input, impact, blasting/demolition, vibration, or custom.
- Loading definition: velocity, displacement, force, waveform, callback, or table/file input.
- Static preparation stage and saved state before dynamic loading.
- Damping assumptions: local damping, contact damping, dashpots, calm usage, and whether damping changes between stages.
- Timestep assumptions: automatic/fixed timestep, target duration, output interval, and stability checks.
- Required histories: time, timestep, input motion, kinetic energy, strain energy, displacement, velocity, force, and damage/crack counts.
Documentation-Backed Rules
The following PFC 6.0 documentation points were checked through pfc-mcp and are expanded in references/dynamics-doc-notes.md:
model configure dynamic enables fully dynamic analysis before dynamic solve/cycle usage.
model dynamic sets parameters for dynamic material analysis and requires dynamic configuration/license support.
model mechanical time-total 0.0 resets accumulated mechanical time before a dynamic loading stage.
model mechanical timestep ... controls timestep behavior; dynamic cases must document timestep assumptions.
model cycle / model step execute fixed timesteps; calm removes velocities and should not be used casually during dynamic response.
model solve supports cycle/time/criteria limits; dynamic stage duration should match the loading goal.
ball attribute and wall attribute set density, damping, velocity, displacement, spin, and imposed motion quantities.
model history, ball history, and wall history should capture timestep, time, kinetic energy, input, and response signals.
Canonical Template Map
| Topic |
Folder |
Files |
Purpose |
| PFC 6.0 slope/seismic baseline |
scripts/canonical/slope-seismic-pfc6/ |
1diji.dat, 2xuepo.dat, 3dizhen.dat |
Static particle slope preparation, slope cut/removal, and sinusoidal wall-velocity dynamic loading. |
| Demolition/blasting reference |
scripts/canonical/demolition-blasting-reference/ |
crk.FIS, fishcall.FIS, flt.FIS, demolition_model_build.txt |
Legacy crack tracking, fishcall macros, floater cleanup, and large demolition model source reference; audit before using in PFC 6.0. |
Dynamic Checklist
Use this checklist before writing or changing dynamic logic:
- Build and solve the static preparation stage first.
- Save the prepared state before dynamic loading.
- Reset mechanical time if the loading function depends on time.
- Define input motion explicitly: amplitude, frequency, duration, direction, and units.
- Decide whether dynamic mode must be configured and confirm the target license/version supports it.
- Reduce or justify damping for dynamic response if high damping was used during preparation.
- Avoid
model calm inside the response stage unless kinetic energy removal is intended.
- Record input, time, timestep, kinetic energy, strain energy, displacement/velocity, and force histories.
- State whether the case is a physical dynamic model or a teaching/reference demonstration.
Working Rules
- Prefer PFC 6.0-safe syntax unless the user explicitly targets another version.
- Treat files in
scripts/canonical/ as reference templates, not final calibrated models.
- Route complex FISH waveform/callback implementation to
pfc-fish, then return here for dynamic assumptions.
- Do not publish generated
.sav, project metadata, videos, PDFs, archives, or large output dumps as authoritative assets.
- For legacy blasting/demolition snippets, preserve intent but audit syntax, callbacks, crack logic, and object intrinsics before PFC 6.0 use.
- If the task becomes a full model run or validation study, hand control back to
pfc-workflow.
Output Contract
A complete child-skill handoff back to pfc-workflow should include:
- The selected dynamic pattern and why it fits.
- Required files or snippets from
scripts/canonical/<case>/.
- Static preparation state, dynamic loading definition, damping, timestep, and duration.
- History outputs for input and response validation.
- Version compatibility and legacy-audit notes.
- Minimal validation steps.
- A clear note that full case execution, post-processing routing, V&V, and delivery continue in
pfc-workflow.
Local Contents
references/overview.md: detailed self-contained dynamics boundaries and source map.
references/dynamics-doc-notes.md: PFC 6.0 command notes checked through pfc-mcp.
examples/README.md: how to validate bundled dynamics demonstrations.
scripts/canonical/: PFC dynamics and blasting reference snippets.
scripts/canonical/manifest.json: file inventory with sizes and SHA-256 hashes.
scripts/README.md: helper-script policy and future maintenance guidance.
1---2name: pfc-dynamics3description: Child skill of pfc-workflow for PFC 6.0 dynamic loading, seismic/slope-motion examples, damping/timestep checks, and blasting-style reference audits.4---56# PFC Dynamics78Use this skill to explain, adapt, or generate PFC dynamic-loading workflows. The skill is self-contained: PFC 6.0 slope/seismic examples and blasting reference snippets are stored under `scripts/canonical/`, and documentation notes checked through `pfc-mcp` are stored under `references/dynamics-doc-notes.md`.910## Parent Skill Relationship1112`pfc-dynamics` is a child skill of `pfc-workflow`. It does not own the full PFC lifecycle. Use it for dynamic/seismic scenario selection, imposed motion, damping, timestep, dynamic histories, and blasting-style reference audits. Return to `pfc-workflow` for full case planning, solve orchestration, post-processing routing, verification, and delivery.1314Parent/child split:1516- Parent `pfc-workflow`: owns complete PFC project lifecycle and decides when dynamic support is needed.17- Child `pfc-dynamics`: owns dynamic loading, seismic/waveform patterns, damping and timestep assumptions, response histories, and rate-aware caveats.18- Sibling child `pfc-fish`: owns detailed FISH helper/callback implementation when dynamic loading needs nontrivial code.19- Sibling child `pfc-standard-tests`: owns standard mechanical-test templates and stage normalization.20- Sibling child `pfc-servo-calibration`: owns servo control and manual calibration sequencing.21- Sibling child `pfc-fluid-coupling`: owns PFC CFD/seepage/buoyancy workflows.22- Sibling child `pfc-flac-coupling`: owns PFC-FLAC/FLAC3D discrete-continuum coupling.23- Sibling child `pfc-postprocessing`: owns standard figures and field exports after solve.24- Sibling child `pfc-ae-energy`: owns AE, energy, and source-mechanism outputs after solve.2526## When To Use2728Use through `pfc-workflow` when a task involves time-dependent inertial response:2930- slope motion or collapse after geometry removal31- seismic or waveform-style imposed velocity/displacement32- dynamic wall/ball velocity loading33- damping and timestep audits34- kinetic/strain energy history setup35- blasting, demolition, or fragmentation reference review36- rate-aware caveats for legacy command flows3738## Required Inputs3940Ask for these if missing:4142- PFC version and dimensionality: PFC2D/PFC3D and target major version.43- Dynamic scenario: slope, seismic input, impact, blasting/demolition, vibration, or custom.44- Loading definition: velocity, displacement, force, waveform, callback, or table/file input.45- Static preparation stage and saved state before dynamic loading.46- Damping assumptions: local damping, contact damping, dashpots, calm usage, and whether damping changes between stages.47- Timestep assumptions: automatic/fixed timestep, target duration, output interval, and stability checks.48- Required histories: time, timestep, input motion, kinetic energy, strain energy, displacement, velocity, force, and damage/crack counts.4950## Documentation-Backed Rules5152The following PFC 6.0 documentation points were checked through `pfc-mcp` and are expanded in `references/dynamics-doc-notes.md`:5354- `model configure dynamic` enables fully dynamic analysis before dynamic solve/cycle usage.55- `model dynamic` sets parameters for dynamic material analysis and requires dynamic configuration/license support.56- `model mechanical time-total 0.0` resets accumulated mechanical time before a dynamic loading stage.57- `model mechanical timestep ...` controls timestep behavior; dynamic cases must document timestep assumptions.58- `model cycle` / `model step` execute fixed timesteps; `calm` removes velocities and should not be used casually during dynamic response.59- `model solve` supports cycle/time/criteria limits; dynamic stage duration should match the loading goal.60- `ball attribute` and `wall attribute` set density, damping, velocity, displacement, spin, and imposed motion quantities.61- `model history`, `ball history`, and `wall history` should capture timestep, time, kinetic energy, input, and response signals.6263## Canonical Template Map6465| Topic | Folder | Files | Purpose |66| --- | --- | --- | --- |67| PFC 6.0 slope/seismic baseline | `scripts/canonical/slope-seismic-pfc6/` | `1diji.dat`, `2xuepo.dat`, `3dizhen.dat` | Static particle slope preparation, slope cut/removal, and sinusoidal wall-velocity dynamic loading. |68| Demolition/blasting reference | `scripts/canonical/demolition-blasting-reference/` | `crk.FIS`, `fishcall.FIS`, `flt.FIS`, `demolition_model_build.txt` | Legacy crack tracking, fishcall macros, floater cleanup, and large demolition model source reference; audit before using in PFC 6.0. |6970## Dynamic Checklist7172Use this checklist before writing or changing dynamic logic:73741. Build and solve the static preparation stage first.752. Save the prepared state before dynamic loading.763. Reset mechanical time if the loading function depends on time.774. Define input motion explicitly: amplitude, frequency, duration, direction, and units.785. Decide whether dynamic mode must be configured and confirm the target license/version supports it.796. Reduce or justify damping for dynamic response if high damping was used during preparation.807. Avoid `model calm` inside the response stage unless kinetic energy removal is intended.818. Record input, time, timestep, kinetic energy, strain energy, displacement/velocity, and force histories.829. State whether the case is a physical dynamic model or a teaching/reference demonstration.8384## Working Rules8586- Prefer PFC 6.0-safe syntax unless the user explicitly targets another version.87- Treat files in `scripts/canonical/` as reference templates, not final calibrated models.88- Route complex FISH waveform/callback implementation to `pfc-fish`, then return here for dynamic assumptions.89- Do not publish generated `.sav`, project metadata, videos, PDFs, archives, or large output dumps as authoritative assets.90- For legacy blasting/demolition snippets, preserve intent but audit syntax, callbacks, crack logic, and object intrinsics before PFC 6.0 use.91- If the task becomes a full model run or validation study, hand control back to `pfc-workflow`.9293## Output Contract9495A complete child-skill handoff back to `pfc-workflow` should include:9697- The selected dynamic pattern and why it fits.98- Required files or snippets from `scripts/canonical/<case>/`.99- Static preparation state, dynamic loading definition, damping, timestep, and duration.100- History outputs for input and response validation.101- Version compatibility and legacy-audit notes.102- Minimal validation steps.103- A clear note that full case execution, post-processing routing, V&V, and delivery continue in `pfc-workflow`.104105## Local Contents106107- `references/overview.md`: detailed self-contained dynamics boundaries and source map.108- `references/dynamics-doc-notes.md`: PFC 6.0 command notes checked through `pfc-mcp`.109- `examples/README.md`: how to validate bundled dynamics demonstrations.110- `scripts/canonical/`: PFC dynamics and blasting reference snippets.111- `scripts/canonical/manifest.json`: file inventory with sizes and SHA-256 hashes.112- `scripts/README.md`: helper-script policy and future maintenance guidance.