PFC FISHTank (fistPkg) Standard Test Framework
Use this skill to understand and externally reuse Itasca PFC 5.0 FISHTank
fistPkg26. Treat it as a PFC 5.0 dependency without requiring a particular PFC5.0
subversion. Its
files remain outside this skills package; the complete asphalt parent is
pfc5-asphalt-workflow.
When To Use
Use this skill when the user needs to:
- Understand what fistPkg (FISHTank) provides and how its directories are laid out.
- Reuse the standard compression / diametral-compression / direct-tension test framework (ct/dc/tt).
- Generate a material specimen with MatGen (linear, contact-bonded, parallel-bonded, flat-jointed, Hill).
- Extend the diametral-compression framework with custom loading heads (e.g. curved heads for a Marshall-type test per JTG T0709).
- Locate the FISH tools (ck/ct/dc/tt/ft/hl) and the Hill DLL installation requirement.
Do NOT use this skill for asphalt-specific modeling choices — those are in pfc-asphalt-mixture, pfc-burger-viscoelastic, pfc-marshall-test, pfc-rutting-test.
Required Inputs
Ask for these if missing:
- Target material type: linear / contact-bonded / parallel-bonded / flat-jointed / Hill (3D UDM).
- Target test: compression (confined/unconfined/uniaxial) / diametral-compression / direct-tension.
- PFC2D or PFC3D 5.0. If another major version is requested, stop: it is outside
this package.
- Whether the Hill UDM DLL is needed (3D Hill material only).
- Legal
<FISTPKG_ROOT> and a PFC2D/PFC3D 5.0 runtime.
fistPkg Capabilities
- Material genesis: linear, contact-bonded, parallel-bonded, flat-jointed, and user-defined (3D Hill) materials in polyaxial/cylindrical/spherical vessels; grains as balls or clumps.
- Material tests: compression (confined, unconfined, uniaxial strain), diametral-compression, direct-tension.
- Microstructural monitoring: grain-size distribution, microstructural plots, crack monitoring for bonded materials.
Directory Layout
fistPkgN/
├── fistPkg-README.txt
├── fistPkg-publicMods.txt
├── Documentation/ ; PDF docs (BPM, FlatJoint, Hill, MatModelingSupport)
└── ExampleProjects/
├── fistSrc/ ; FISH source: ck/ct/dc/tt/ft/hl + Hill DLL
├── MatGen-Linear / ContactBonded / ParallelBonded / FlatJointed / Hill
│ └── CompTest / DiamCompTest / TenTest
└── HillContactModel / FlatJointContactModel / ...
FISH Tool Map
| 工具 |
用途 |
ft.fis |
FISHTank 主库(核心工具函数:墙-颗粒行为、平衡等) |
ck.fis |
检查/微观结构监测(级配、配位数等) |
ct.fis |
压缩试验(confined/unconfined/uniaxial) |
dc.fis |
劈裂/间接拉伸试验(diametral compression)——马歇尔试验基座 |
tt.fis |
直接拉伸试验 |
hl.p3fis + udm_hl.p3fis |
Hill 用户自定义接触模型(3D) |
contactmodelmechanical3dhill005_64.dll |
Hill 模型 DLL(需安装到插件目录) |
Workflow
- Run the self-contained checker:
scripts/check_fistpkg.py "<FISTPKG_ROOT>".
- 选材料类型(linear/contact-bonded/parallel-bonded/flat-jointed/Hill)。
- 按官方 README,把
ExampleProjects/fistSrc 与一个 MatGen-X 复制到
私有案例目录;先运行未修改的基线。
- 生成完成后运行对应试验(CompTest/DiamCompTest/TenTest)。
- 自定义压头时,以
_dcMakeWalls 为最小几何钩子,同时审计墙 ID、
轴向、接触、平滑、力/位移、终止和后处理。
Working Rules
- fistPkg is PFC 5.0 — use PFC 5.0 syntax directly and do not generate another
major-version case from this skill.
- The Hill UDM requires copying the DLL to
PFC500\exe64\plugins\contactmodelmechanical3D (PFC 5.0 layout).
- Do NOT vendor Itasca's fistPkg source into a public MIT repo — extract usage patterns and command templates only, cite the package as external.
- Reuse the staged, saved-state style (MatGen → CompTest/DiamCompTest/TenTest) for reproducibility.
- Replacing
_dcMakeWalls is necessary for custom heads but is not by itself a
complete Marshall validation.
Output Contract
A complete fistPkg handoff should include:
- Material type and vessel geometry chosen, test type selected.
- Which FISH tools (ck/ct/dc/tt/ft) are needed and how they are called.
- The extension point used (e.g.
_dcMakeWalls for custom heads).
- Any DLL/plugin installation note.
- A note that the case targets PFC2D/PFC3D 5.0; route other major versions outside this skill.
- The checker result, baseline run result, copied-file manifest and
runtime_validated status.
Local Contents
references/overview.md: fistPkg capabilities, directory layout, five material types, three tests.
references/test-framework.md: FISH tool usage (ck/ct/dc/tt/ft), Hill DLL installation, and extension points.
scripts/check_fistpkg.py: self-contained, read-only external fistPkg layout/version checker.
agents/openai.yaml: agent interface metadata.
1---2name: pfc-fishtank-tests3description: Integrate an external, licensed Itasca PFC 5.0 fistPkg26 tree as a reproducible material-generation and compression/diametral/tension test baseline; use to validate its PFC5.0 layout, copy a private working case, preserve provenance, and audit ck/ct/dc/tt/ft extension points for asphalt workflows.4---56# PFC FISHTank (fistPkg) Standard Test Framework78Use this skill to understand and externally reuse Itasca PFC 5.0 FISHTank9`fistPkg26`. Treat it as a PFC 5.0 dependency without requiring a particular PFC5.010subversion. Its11files remain outside this skills package; the complete asphalt parent is12`pfc5-asphalt-workflow`.1314## When To Use1516Use this skill when the user needs to:1718- Understand what fistPkg (FISHTank) provides and how its directories are laid out.19- Reuse the standard compression / diametral-compression / direct-tension test framework (ct/dc/tt).20- Generate a material specimen with MatGen (linear, contact-bonded, parallel-bonded, flat-jointed, Hill).21- Extend the diametral-compression framework with custom loading heads (e.g. curved heads for a Marshall-type test per JTG T0709).22- Locate the FISH tools (ck/ct/dc/tt/ft/hl) and the Hill DLL installation requirement.2324Do NOT use this skill for asphalt-specific modeling choices — those are in `pfc-asphalt-mixture`, `pfc-burger-viscoelastic`, `pfc-marshall-test`, `pfc-rutting-test`.2526## Required Inputs2728Ask for these if missing:2930- Target material type: linear / contact-bonded / parallel-bonded / flat-jointed / Hill (3D UDM).31- Target test: compression (confined/unconfined/uniaxial) / diametral-compression / direct-tension.32- PFC2D or PFC3D 5.0. If another major version is requested, stop: it is outside33 this package.34- Whether the Hill UDM DLL is needed (3D Hill material only).35- Legal `<FISTPKG_ROOT>` and a PFC2D/PFC3D 5.0 runtime.3637## fistPkg Capabilities3839- **Material genesis**: linear, contact-bonded, parallel-bonded, flat-jointed, and user-defined (3D Hill) materials in polyaxial/cylindrical/spherical vessels; grains as balls or clumps.40- **Material tests**: compression (confined, unconfined, uniaxial strain), diametral-compression, direct-tension.41- **Microstructural monitoring**: grain-size distribution, microstructural plots, crack monitoring for bonded materials.4243## Directory Layout4445```46fistPkgN/47├── fistPkg-README.txt48├── fistPkg-publicMods.txt49├── Documentation/ ; PDF docs (BPM, FlatJoint, Hill, MatModelingSupport)50└── ExampleProjects/51 ├── fistSrc/ ; FISH source: ck/ct/dc/tt/ft/hl + Hill DLL52 ├── MatGen-Linear / ContactBonded / ParallelBonded / FlatJointed / Hill53 │ └── CompTest / DiamCompTest / TenTest54 └── HillContactModel / FlatJointContactModel / ...55```5657## FISH Tool Map5859| 工具 | 用途 |60| --- | --- |61| `ft.fis` | FISHTank 主库(核心工具函数:墙-颗粒行为、平衡等) |62| `ck.fis` | 检查/微观结构监测(级配、配位数等) |63| `ct.fis` | 压缩试验(confined/unconfined/uniaxial) |64| `dc.fis` | 劈裂/间接拉伸试验(diametral compression)——马歇尔试验基座 |65| `tt.fis` | 直接拉伸试验 |66| `hl.p3fis` + `udm_hl.p3fis` | Hill 用户自定义接触模型(3D) |67| `contactmodelmechanical3dhill005_64.dll` | Hill 模型 DLL(需安装到插件目录) |6869## Workflow70711. Run the self-contained checker:72 `scripts/check_fistpkg.py "<FISTPKG_ROOT>"`.732. 选材料类型(linear/contact-bonded/parallel-bonded/flat-jointed/Hill)。743. 按官方 README,把 `ExampleProjects/fistSrc` 与一个 `MatGen-X` 复制到75 私有案例目录;先运行未修改的基线。764. 生成完成后运行对应试验(CompTest/DiamCompTest/TenTest)。775. 自定义压头时,以 `_dcMakeWalls` 为最小几何钩子,同时审计墙 ID、78 轴向、接触、平滑、力/位移、终止和后处理。7980## Working Rules8182- fistPkg is PFC 5.0 — use PFC 5.0 syntax directly and do not generate another83 major-version case from this skill.84- The Hill UDM requires copying the DLL to `PFC500\exe64\plugins\contactmodelmechanical3D` (PFC 5.0 layout).85- Do NOT vendor Itasca's fistPkg source into a public MIT repo — extract usage patterns and command templates only, cite the package as external.86- Reuse the staged, saved-state style (MatGen → CompTest/DiamCompTest/TenTest) for reproducibility.87- Replacing `_dcMakeWalls` is necessary for custom heads but is not by itself a88 complete Marshall validation.8990## Output Contract9192A complete fistPkg handoff should include:9394- Material type and vessel geometry chosen, test type selected.95- Which FISH tools (ck/ct/dc/tt/ft) are needed and how they are called.96- The extension point used (e.g. `_dcMakeWalls` for custom heads).97- Any DLL/plugin installation note.98- A note that the case targets PFC2D/PFC3D 5.0; route other major versions outside this skill.99- The checker result, baseline run result, copied-file manifest and100 `runtime_validated` status.101102## Local Contents103104- `references/overview.md`: fistPkg capabilities, directory layout, five material types, three tests.105- `references/test-framework.md`: FISH tool usage (ck/ct/dc/tt/ft), Hill DLL installation, and extension points.106- `scripts/check_fistpkg.py`: self-contained, read-only external fistPkg layout/version checker.107- `agents/openai.yaml`: agent interface metadata.