dwsim-api-verification
Verifies DWSIM API usage by cross-referencing against the local source code in libs/dwsim_src.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Verifies DWSIM API usage by cross-referencing against the local source code in libs/dwsim_src.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Directs agents to avoid bad C# practices like magic strings and poor architecture.
Enforces Enerflow's specific Enterprise Worker architecture and DWSIM integration rules.
Directs agents to avoid bad C# practices like magic strings and poor architecture.
Verifies DWSIM API usage by cross-referencing against the local source code in libs/dwsim_src.
| name | dwsim-api-verification |
| description | Verifies DWSIM API usage by cross-referencing against the local source code in libs/dwsim_src. |
| license | MIT |
| compatibility | opencode |
| metadata | {"project":"enerflow","type":"verification"} |
Enerflow.Worker actually exist in the local DWSIM source code (libs/dwsim_src).CalculateFlowsheet2) and suggest the correct alternatives (e.g., RequestCalculation).DWSIM.* namespaces.MethodNotFoundException or MissingMemberException occurs related to DWSIM.FIRST: Check the DWSIM_API_MAP.md file in the project root. It contains the pre-scanned, authoritative API context.
If the information is not in the map, use grep to find it in libs/dwsim_src.
Do not guess where a class is. Find it.
# Example: Finding the Flowsheet class
grep -r "class Flowsheet" libs/dwsim_src/DWSIM.FlowsheetBase
Once you know the file, read it to check the method arguments.
# Example: Checking RequestCalculation arguments
grep -A 5 "public void RequestCalculation" libs/dwsim_src/path/to/Flowsheet.vb
DWSIM uses many Enums (e.g., PropertyPackageType). Verify the exact spelling.
grep -r "Enum PropertyPackageType" libs/dwsim_src
DWSIM.Automation.Automation (Legacy, limited features)DWSIM.Automation.Automation3 (Full-featured, use for tests and advanced automation)using DWSIMAutomation = DWSIM.Automation.Automation3;var errors = Automation.CalculateFlowsheet2(flowsheet) (Automation3 returns void, not List)Automation.CalculateFlowsheet2(flowsheet); (Call without assignment)flowsheet.Solved and flowsheet.ErrorMessage properties after calculationflowsheet.RequestCalculation(...) (For async/internal calculation)flowsheet.AddCompoundsToMaterialStream(stream) after AddObject(ObjectType.MaterialStream, ...)AddObject() - it already calls AddCompoundsToMaterialStream internallyArgumentException: An item with the same key has already been addedFlowsheetBase.vb:1297 shows AddCompoundsToMaterialStream(myCOMS) is called during AddObjectToSurfaceCalcMode is DeltaP. To specify outlet pressure, set CalcMode = Valve.CalculationMode.OutletPressure before setting OutletPressureCalcMode to OutletTemperature, HeatAdded, etc. based on known specificationCalculationMode.OutletPressure when specifying target pressureDeltaQ as positive magnitudeIPhaseProperties.molarfraction (lowercase) instead of VaporFraction or MolarFraction.docs/DWSIM_API/IPhaseProperties.cs for exact property names.xunit.runner.json with "parallelizeTestCollections": false and "maxParallelThreads": 1ConcurrentMessageLimit = 1.