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.