Advanced Active Learning & Adaptive Sampling for Engineering Simulations
A comprehensive cloud-based SaaS platform that reduces simulation costs by 70-80% through intelligent data collection and surrogate modeling. Features cutting-edge active learning algorithms, physics-informed sampling, and multi-fidelity modeling for engineering applications.
- π§ Intelligent Active Learning: Adaptive sampling strategies with physics-informed constraints
- β‘ Multi-Fidelity Modeling: Combines low and high-fidelity simulations efficiently
- π Real-Time Adaptation: Dynamic strategy switching based on model performance
- π‘οΈ Enterprise Security: JWT authentication with multi-tenant isolation
- π Advanced Analytics: Uncertainty quantification and convergence monitoring
- π Scalable Architecture: Async processing with Docker containerization
- π― Smart Acquisition: Expected Improvement, UCB, Knowledge Gradient functions
- βοΈ Physics Integration: Domain knowledge and conservation laws
- π Budget Optimization: Cost-aware sampling with resource tracking
- FastAPI: High-performance Python web framework
- PostgreSQL: Primary database for metadata
- Redis: Caching and session management
- MinIO: S3-compatible object storage for datasets
- SQLAlchemy: Database ORM with Alembic migrations
- Celery: Background task processing
- React 18: Modern JavaScript framework
- TypeScript: Type-safe development
- Material-UI: Professional UI components
- Plotly.js: Interactive data visualizations
- Axios: HTTP client for API communication
- Docker: Containerization
- Docker Compose: Local development orchestration
- Nginx: Reverse proxy and static file serving
- Docker and Docker Compose
- Python 3.11+ (for local development)
- Node.js 18+ (for frontend development)
-
Clone the repository
git clone <repository-url> cd SurrogateModel
-
Start all services
docker-compose up -d
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- MinIO Console: http://localhost:9001
cd backend # Install dependencies pip install -r requirements.txt # Copy environment file cp .env.example .env # Run database migrations alembic upgrade head # Start the development server uvicorn app.main:app --reloadcd frontend # Install dependencies npm install # Start the development server npm start- Navigate to the Datasets page
- Click "Upload Dataset"
- Provide CSV/Excel file with simulation results
- Specify input and output columns
- Go to Models page
- Click "Create Model"
- Select your dataset and algorithm
- Wait for training to complete
- Visit Predictions page
- Select your trained model
- Enter input parameters
- Get instant predictions with uncertainty quantification
import requests # Login response = requests.post("http://localhost:8000/api/v1/auth/login", data={ "username": "your_email", "password": "your_password" }) token = response.json()["access_token"] # Make prediction headers = {"Authorization": f"Bearer {token}"} prediction_data = {"length": 10, "width": 5, "thickness": 2} response = requests.post( "http://localhost:8000/api/v1/predictions/1/predict", json=prediction_data, headers=headers ) result = response.json()cd backend # Run tests make test # Run tests with coverage make test-cov # Lint code make lint # Format code make format # Create database migration make migrate-create name="add_new_table" # Apply migrations make migratecd frontend # Run tests npm test # Build for production npm run build # Type checking npm run type-checkSurrogateModel/ βββ backend/ # FastAPI backend β βββ app/ β β βββ api/ # API endpoints β β βββ core/ # Core functionality β β βββ db/ # Database configuration β β βββ models/ # SQLAlchemy models β β βββ services/ # Business logic β βββ tests/ # Backend tests β βββ alembic/ # Database migrations βββ frontend/ # React frontend β βββ src/ β β βββ components/ # Reusable components β β βββ pages/ # Page components β β βββ services/ # API services β β βββ types/ # TypeScript types β βββ public/ # Static assets βββ infrastructure/ # Deployment configs βββ docs/ # Documentation - JWT-based authentication
- Role-based access control (RBAC)
- Tenant isolation
- Input validation and sanitization
- SQL injection prevention
- CORS configuration
- Secure password hashing
- Health check endpoints
- Structured logging
- Performance metrics
- Error tracking
- API response time monitoring
- Configure environment variables
- Set up external databases (PostgreSQL, Redis)
- Configure object storage (S3/MinIO)
- Deploy with Kubernetes or Docker Swarm
- Set up monitoring and logging
- Configure SSL/TLS certificates
See backend/.env.example for all available configuration options.
cd backend pytest tests/ -v --cov=appcd frontend npm test- Sub-100ms prediction response times
- Horizontal scaling support
- Efficient database queries
- Caching for frequently accessed data
- Optimized ML model serving
We welcome contributions from the engineering and ML communities! See CONTRIBUTING.md for detailed guidelines.
Quick Start:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Run tests:
pytest tests/ && python test_api.py - Submit a pull request
Priority Areas:
- π§ Advanced acquisition functions and sampling strategies
- β‘ Performance optimizations and parallelization
- π§ Integration with commercial simulation tools (ANSYS, COMSOL, OpenFOAM)
- π Advanced visualization and analysis tools
- π Industry-specific examples and benchmarks
Research Contributions: We encourage academic contributions! Please reference original papers and include proper validation against benchmarks.
This project is licensed under a Custom License for personal and research use:
- β Free for personal use and research
- β Open source contributions welcome
- β Academic and educational use permitted
- π’ Commercial use requires separate license
For commercial licensing, enterprise support, or custom development: π§ Contact: durai@infinidatum.net
See the LICENSE file for complete terms and conditions.
- π Documentation: See
/docsfolder and http://localhost:8000/docs - π Issues: GitHub Issues for bugs and feature requests
- πΌ Commercial Licensing: durai@infinidatum.net
- π€ Enterprise Support: durai@infinidatum.net
- π§ Custom Development: durai@infinidatum.net
For any questions about licensing, commercial use, or custom implementations, please reach out to durai@infinidatum.net.