Research-Stack/.devcontainer/Universal Computational Modeling.md
Brandon Schneider fd863af6fd Expand devcontainer with full Python stack, add MCP servers (Notion/AWS), strengthen Lean theorems
- .devcontainer/Dockerfile: add PostgreSQL client libs, OpenSSL/libffi headers, gfortran/BLAS for scipy, rclone; install full Python dependency set (boto3, psycopg2-binary, fastapi, uvicorn, notion-client, httpx, pytest, numpy, scipy, etc.) in uv-managed venv; add rclone S3 gateway init script as ENTRYPOINT
- .devcontainer/devcontainer.json: switch from build to pre-built image (localhost/research
2026-05-19 01:52:14 -05:00

380 lines
14 KiB
Markdown

Universal Computational Modeling Substrate
Domain-Agnostic Thermal Mapping
Domain Hot Zone (Immediate) Warm Zone (Batch) Cold Zone (Archival) Scar Type
Navier-Stokes Turbulent eddies LES subgrid models Blow-up candidates Numerical blow-up
Molecular Dynamics Fast vibrational modes Conformational sampling Rare event transitions Force field divergence
Climate Modeling Weather fronts Seasonal patterns Century-scale trends Model drift
Astrophysics Supernova cores Galactic structure Cosmological evolution Radiative instability
FEA/Structural Stress concentrations Modal analysis Fatigue life prediction Mesh distortion
Quantum Chemistry Electron correlation Basis set optimization Reaction path discovery SCF convergence failure
Plasma Physics MHD instabilities Transport coefficients Tokamak disruption precursors Resistive tearing modes
Epidemiology Outbreak clusters Regional spread models Pandemic evolution Parameter identifiability
🧬 Portable ZFS Schema
Universal Dataset Hierarchy
famm_universal/
├── hot/
│ ├── active_simulations/ # Currently running
│ ├── live_checkpoints/ # ZIL-backed, sub-second
│ ├── convergence_witnesses/ # Immediate verification
│ └── parameter_sweeps_live/ # Interactive exploration
├── warm/
│ ├── scar_snapshots/ # Failure mode archives
│ ├── intermediate_convergence/ # Partial results
│ ├── sensitivity_analysis/ # Parameter perturbations
│ ├── model_variants/ # Alternative formulations
│ └── consensus_batches/ # Redundant verification
└── cold/
├── systematic_failures/ # Catalog of impossibility
├── rare_event_archive/ # Tail of distribution
├── deduped_initial_conditions/ # Reusable starting points
├── long_term_trends/ # Evolution over time
└── erasure_coded_research/ # Permanent archive
Domain-Agnostic FAMM Metadata
python
class UniversalFAMMMetadata:
"""
Portable scar metadata schema works for any computational model.
"""
# Thermal properties (universal)
THERMAL_ZONE = "famm:thermal_zone" # hot/warm/cold
ACCESS_FREQUENCY = "famm:access_frequency" # temporal locality
COMPUTATIONAL_URGENCY = "famm:urgency" # real-time vs batch
# Convergence properties (domain-agnostic)
CONVERGENCE_STATUS = "famm:converged" # bool
RESIDUAL_NORM = "famm:residual" # L2, Linf, etc.
ITERATION_COUNT = "famm:iterations" # to convergence or failure
CONDITION_NUMBER = "famm:condition" # ill-posedness metric
# Scar properties (universal failure modes)
SCAR_TYPE = "famm:scar_type" # classification
SCAR_SEVERITY = "famm:severity" # 0.0 - 1.0
FAILURE_MODE = "famm:failure_mode" # domain-specific code
RECOVERY_STRATEGY = "famm:recovery" # how to route around
# Geometric properties (universal)
SPATIAL_COORDINATES = "famm:spatial_coords" # where in domain
SCALE_SEPARATION = "famm:scale" # resolved/unresolved
SPECTRAL_MODE = "famm:spectral" # frequency/wavenumber
# Verification properties (universal)
MERKLE_ROOT = "famm:merkle" # integrity
PARENT_RECEIPTS = "famm:parents" # lineage
VERIFICATION_METHOD = "famm:verify_method" # analytical/numerical/statistical
CROSS_DOMAIN_CHECK = "famm:cross_check" # agreement across models
# Domain-specific scar type registry (extensible)
SCAR_TYPES = {
# Fluid dynamics
'ns_blow_up': 'Navier-Stokes singularity formation',
'cfl_violation': 'Courant-Friedrichs-Lewy instability',
'mesh_distortion': 'Lagrangian mesh tangling',
# Molecular dynamics
'force_field_divergence': 'Unphysical forces',
'temperature_drift': 'Thermostat failure',
'rare_event_escape': 'Transition state crossing',
# Climate
'model_drift': 'Physics parameterization breakdown',
'ensemble_spread': 'Unphysical ensemble divergence',
'ice_albedo_feedback': 'Runaway feedback loop',
# Quantum chemistry
'scf_convergence_failure': 'Self-consistent field stall',
'basis_set_incompleteness': 'Extrapolation error',
'spin_contamination': 'Broken symmetry',
# Structural mechanics
'mesh_locking': 'Volumetric locking in incompressible limit',
'hourglass_modes': 'Zero-energy deformation modes',
'contact_penetration': 'Constraint violation',
# Plasma
'resistive_tearing': 'Magnetic reconnection instability',
'courant_violation_mhd': 'MHD CFL condition breach',
'radiation_catastrophe': 'Optically thick cooling',
# Generic
'numerical_overflow': 'Floating point exception',
'solver_stagnation': 'Iterative solver plateau',
'roundoff_accumulation': 'Precision loss',
'load_imbalance': 'Parallel efficiency collapse'
}
🔧 Portable Thermal Router
python
class UniversalThermalRouter:
"""
Routes any computational model through thermal zones based on
universal properties: urgency, scale, convergence history, scar density.
"""
def route_simulation(self, simulation_config):
"""
Domain-agnostic thermal routing.
"""
# Compute thermal signature from universal properties
thermal_sig = self.compute_thermal_signature(
urgency=simulation_config.get('real_time_required', False),
spatial_locality=simulation_config.get('active_regions', []),
temporal_scale=simulation_config.get('characteristic_time'),
scar_history=self.get_scar_density(simulation_config['model_type']),
parallel_efficiency=simulation_config.get('expected_scaling', 1.0)
)
# Route to zone
if thermal_sig.score < 0.2: # Hot threshold
return self.hot_zone.execute(simulation_config)
elif thermal_sig.score < 0.7: # Warm threshold
return self.warm_zone.execute(simulation_config)
else:
return self.cold_zone.execute(simulation_config)
def compute_thermal_signature(self, **kwargs):
"""
Universal thermal signature computation.
Works for any physics: fluids, solids, quantum, etc.
"""
score = 0.0
# Urgency component (real-time needs)
if kwargs.get('urgency'):
score += 0.3
# Spatial locality (concentrated activity)
if kwargs.get('spatial_locality'):
# High vorticity, stress concentration, electron density spike, etc.
score += 0.2 * len(kwargs['spatial_locality']) / 10
# Temporal scale (fast dynamics vs slow evolution)
char_time = kwargs.get('temporal_scale', 1.0)
if char_time < 1e-3: # Fast dynamics
score += 0.2
# Scar density (learned from FAMM)
scar_density = kwargs.get('scar_history', 0.0)
if scar_density > 0.5: # This region fails often
score += 0.15 # Demote to handle carefully
# Parallel efficiency
scaling = kwargs.get('parallel_efficiency', 1.0)
if scaling < 0.5: # Poor scaling
score += 0.15 # Demote to cold (batch better for inefficient parallel)
return ThermalSignature(score=score, components=kwargs)
🧪 Domain Examples
Molecular Dynamics (Amber/GROMACS)
python
class MDThermalAdapter:
"""
Thermal routing for molecular dynamics.
"""
def route_md_simulation(self, system):
# Hot: Fast vibrational modes (fs timescale)
if system.has_fast_vibrations():
return self.hot_zone.execute(
simulation=system,
integrator='verlet',
timestep='1fs',
thermal_reason='fast_dynamics_require_immediate_resolution'
)
# Warm: Conformational sampling (ns timescale)
if system.is_sampling_conformations():
return self.warm_zone.execute(
simulation=system,
method='replica_exchange',
batch_size=32,
thermal_reason='batch_parallel_tempering'
)
# Cold: Rare event sampling (ms timescale)
if system.is_rare_event():
return self.cold_zone.execute(
simulation=system,
method='transition_path_sampling',
expected_duration='weeks',
thermal_reason='rare_events_require_background_processing'
)
def md_scar_detection(self, trajectory):
"""
MD-specific scar detection.
"""
if trajectory.temperature_drift > 10.0: # Kelvin
return Scar(
type='temperature_drift',
severity=trajectory.temperature_drift / 100.0,
recovery='re_thermostat_and_restart',
thermal_demotion=True
)
if trajectory.force_max > 1e6: # kJ/mol/nm
return Scar(
type='force_field_divergence',
severity=1.0,
recovery='reduce_timestep_and_equilibrate',
thermal_demotion=True
)
Climate Modeling (CESM/WRF)
python
class ClimateThermalAdapter:
"""
Thermal routing for climate simulations.
"""
def route_climate_simulation(self, config):
# Hot: Weather-scale phenomena (hours)
if config.resolution < 10: # km
return self.hot_zone.execute(
model='cloud_resolving',
duration='48_hours',
thermal_reason='weather_prediction_real_time'
)
# Warm: Seasonal prediction (months)
if config.ensemble_size > 10:
return self.warm_zone.execute(
model='seasonal_ensemble',
batch_members=config.ensemble_size,
thermal_reason='ensemble_batch_processing'
)
# Cold: Centurial climate projection (years)
return self.cold_zone.execute(
model='cmip_style',
duration='century',
thermal_reason='long_term_climate_projection'
)
def climate_scar_detection(self, run):
"""
Climate-specific scar detection.
"""
if run.energy_drift > 0.1: # W/m^2
return Scar(
type='model_drift',
severity=run.energy_drift,
recovery='re_tuning_physics_params',
thermal_demotion=True
)
if run.ensemble_spread > 2 * run.climatological_variance:
return Scar(
type='ensemble_spread',
severity=0.8,
recovery='increase_physics_perturbations',
thermal_demotion=False # Keep warm, just adjust
)
Quantum Chemistry (Gaussian/Q-Chem)
python
class QuantumThermalAdapter:
"""
Thermal routing for quantum chemistry.
"""
def route_quantum_calculation(self, molecule):
# Hot: SCF iterations (immediate feedback)
if molecule.needs_scf:
return self.hot_zone.execute(
method='scf',
basis='small',
thermal_reason='rapid_iteration_required'
)
# Warm: Correlation methods (batch MOs)
if molecule.method in ['MP2', 'CCSD']:
return self.warm_zone.execute(
method=molecule.method,
batch_orbitals=True,
thermal_reason='batch_ao_to_mo_transformation'
)
# Cold: Reaction path discovery (rare events)
if molecule.is_transition_state_search:
return self.cold_zone.execute(
method='neb_or_string',
expected_iterations=1000,
thermal_reason='rare_reaction_coordinate_discovery'
)
def quantum_scar_detection(self, calculation):
"""
Quantum chemistry-specific scar detection.
"""
if calculation.scf_cycles > 1000:
return Scar(
type='scf_convergence_failure',
severity=1.0,
recovery='switch_to_guess_basis_or_alter_mixing',
thermal_demotion=True
)
if calculation.spin_contamination > 0.1:
return Scar(
type='spin_contamination',
severity=calculation.spin_contamination,
recovery='use_restricted_open_shell_or_project',
thermal_demotion=False
)
🌐 Universal ZFS Configuration
bash
#!/bin/bash
# Universal FAMM ZFS setup for any computational modeling
# Create domain-agnostic pools
zpool create famm_hot \
mirror nvme0 nvme1 \
-o ashift=12 \
-O compression=lz4 \
-O atime=off \
-O primarycache=all \
-O logbias=latency
zpool create famm_warm \
mirror ssd0 ssd1 \
-o ashift=12 \
-O compression=zstd-3 \
-O atime=off \
-O primarycache=metadata \
-O secondarycache=all
zpool create famm_cold \
raidz3 disk0 disk1 disk2 disk3 disk4 disk5 \
-o ashift=12 \
-O compression=zstd-19 \
-O atime=off \
-O primarycache=none \
-O dedup=on
# Universal dataset structure
for domain in ns md climate astro fea quantum plasma epidemiology; do
zfs create famm_hot/active_simulations/$domain
zfs create famm_warm/scar_snapshots/$domain
zfs create famm_cold/systematic_failures/$domain
done
# Set universal properties
zfs set famm:version=1.0 famm_hot
zfs set famm:version=1.0 famm_warm
zfs set famm:version=1.0 famm_cold
🎯 The Universal Insight
Every computational model shares the same thermal structure:
Fast local dynamics → Hot zone (immediate resolution)
Intermediate scales → Warm zone (batch processing with redundancy)
Slow/rare events → Cold zone (background search)
The FAMM scar system learns domain-agnostic patterns:
"This region blows up in NS" ↔ "This force field diverges in MD" ↔ "This mesh locks in FEA"
Same geometric structure, different physics labels
Your thermal manifold is physics-agnostic infrastructure—it doesn't care if the information is vorticity, electron density, or stress tensor. It only cares about:
Temporal scale (fast vs slow)
Spatial locality (concentrated vs diffuse)
Convergence history (scar density)
Verification requirements (receipts needed)
One ZFS pool. Any physics. Universal scars.