Gazelle 0.0.9
dotnet add package Gazelle --version 0.0.9
NuGet\Install-Package Gazelle -Version 0.0.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Gazelle" Version="0.0.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Gazelle" Version="0.0.9" />
<PackageReference Include="Gazelle" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Gazelle --version 0.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Gazelle, 0.0.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Gazelle@0.0.9
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Gazelle&version=0.0.9
#tool nuget:?package=Gazelle&version=0.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Gazelle
🦌 A Fast Engine for Structural Engineering 💨
Gazelle is a safety-critical structural analysis library built with F# and .NET 9, featuring compile-time units of measure validation and transparent algorithms designed to prevent dangerous engineering errors.
Key Features
- Type Safety: F# units of measure prevent unit mixing disasters (
float<kN>,float<m>) - Transparent: Open source algorithms you can inspect and verify
- Cross-Platform: Runs on Windows, macOS, and Linux via .NET 9
- Engineering-First: Built specifically for structural analysis workflows
Installation
dotnet add package Gazelle
Quick Start
open Gazelle.Units
open FSharp.Data.UnitSystems.SI.UnitSymbols
// Type-safe structural calculations
let span = 10.0<m>
let load = 25000.0<N>
let momentOfInertia = 0.0001<m^4>
// Units are validated at compile time
let stress = Stress(load / (0.01<m^2>)) // Automatic unit checking
Domain Types
// Engineering-specific types with units of measure
type Stress<'TForce, 'TLength> = Stress of float<'TForce / 'TLength^2>
type Density<'TMass, 'TLength> = Density of float<'TMass / 'TLength^3>
// Structural engineering concepts
type LimitState = ULS of DesignSituation | SLS
type DesignSituation = Persistent | Transient | Accidental
CLI Tool
Install the companion CLI tool for interactive analysis:
dotnet tool install --global Gazelle.CLI
gz create --template truss --span 10.0 --height 4.0 --loads 25.0
gz analyse model.json --output results.json
Safety & Reliability
This library is designed for safety-critical engineering applications:
- Compile-time unit validation eliminates dangerous calculation errors
- Strong typing prevents common engineering mistakes
- Open source algorithms enable verification and validation
- Comprehensive error handling with engineering context
Documentation
- GitHub: github.com/jsbayley/gazelle
- CLI Guide: Full documentation and examples
- API Reference: Generated XML documentation included
License
AGPL-3.0-or-later - Open source for the global engineering community
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- System.Text.Json (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.