EpanetWrapper
Overview
EpanetWrapper is a .NET wrapper for EPANET's native functions, providing a managed interface to the EPANET simulation engine within the HydroTrek DWD Suite.
Technical Specifications
- Target Framework: .NET 8.0
- Platform: x64
- Architecture: Class Library
- EPANET Version: 2.2
Dependencies
Internal Project References
- HTLogger (Internal logging system)
Native Dependencies
- EPANET native libraries (epanet2.dll)
Core Features
1. EPANET Integration
- Native function wrapping
- Memory management
- Error handling
- Type-safe interfaces
2. Simulation Control
- Hydraulic calculations
- Water quality simulations
- Network element management
- Time-step control
3. Data Management
- Network model handling
- Results processing
- Memory optimization
- Resource cleanup
Key Components
Native Interface
- P/Invoke declarations
- Memory management
- Error handling
- Type conversions
Simulation Engine
- Hydraulic solver interface
- Water quality solver interface
- Network topology management
- Results collection
Resource Management
- Memory allocation
- Resource cleanup
- Error recovery
- Performance optimization
Technical Implementation
Native Function Wrapping
- P/Invoke declarations for EPANET functions
- Memory management for unmanaged resources
- Error handling and propagation
- Type-safe interfaces
Simulation Control
- Hydraulic calculations
- Water quality simulations
- Network element management
- Time-step control
Best Practices
Memory Management
- Proper resource disposal
- Memory leak prevention
- Efficient allocation
- Cleanup procedures
Error Handling
- Exception management
- Error propagation
- Recovery procedures
- Logging integration
Performance
- Native call optimization
- Memory usage optimization
- Resource management
- Thread safety
Integration Guidelines
Usage Patterns
- Initialization sequence
- Resource management
- Error handling
- Cleanup procedures
Best Practices
- Proper resource disposal
- Error handling
- Performance optimization
- Thread safety
Future Considerations
Enhancements
- Additional EPANET features
- Performance optimizations
- Memory management improvements
- Error handling enhancements
Integration
- Additional simulation engines
- Extended functionality
- Enhanced error handling
- Improved performance
Documentation
- API documentation
- Usage examples
- Best practices
- Performance guidelines