Gradients

Visualize and analyze molecular gradients for understanding molecular properties and interactions.

Features

Gradient Calculation

Compute various molecular gradients

Vector Field

Visualize gradient vector field

Streamlines

Generate gradient streamlines

Analysis

Gradient analysis tools

Configuration

interface GradientConfig {
  type: 'electrostatic' | 'density' | 'energy' | 'custom';  // Gradient type
  visualization?: {              // Visualization settings
    vectorField?: {              // Vector field settings
      density?: number;          // Vector density
      scale?: number;            // Vector scale
      color?: string;            // Vector color
    };
    streamlines?: {              // Streamline settings
      count?: number;            // Number of streamlines
      length?: number;           // Streamline length
      color?: string;            // Streamline color
    };
  };
  analysis?: {                   // Analysis settings
    criticalPoints?: boolean;    // Find critical points
    basins?: boolean;            // Find gradient basins
    paths?: boolean;             // Find gradient paths
  };
}

Methods

computeGradient

Computes molecular gradient

computeGradient(config: GradientConfig): Promise<GradientResult>

updateVisualization

Updates gradient visualization

updateVisualization(options: Partial<VisualizationConfig>): void

getGradientAt

Gets gradient at specific point

getGradientAt(x: number, y: number, z: number): Vector3

analyzeGradient

Analyzes gradient properties

analyzeGradient(options: AnalysisConfig): GradientAnalysis

Example

// Compute electrostatic gradient
const gradient = await model.computeGradient({
  type: 'electrostatic',
  visualization: {
    vectorField: {
      density: 0.1,
      scale: 2.0,
      color: '#00ff00'
    },
    streamlines: {
      count: 100,
      length: 10,
      color: '#ff0000'
    }
  },
  analysis: {
    criticalPoints: true,
    basins: true,
    paths: true
  }
});

// Update visualization
gradient.updateVisualization({
  vectorField: {
    scale: 3.0
  }
});

// Get gradient at point
const vector = gradient.getGradientAt(0, 0, 0);

// Analyze gradient
const analysis = gradient.analyzeGradient({
  criticalPoints: true,
  basins: true
});