Text Generation
Transformers
GGUF
PyTorch
Safetensors
English
code-generation
text-to-code
code-llm
large-language-model
llm
generative-ai
causal-lm
decoder-only
transformer
autoregressive
instruction-following
instruction-tuned
instruct
fine-tuned-llm
domain-specific-llm
specialized-llm
scientific-llm
engineering-llm
reasoning
step-by-step-reasoning
chain-of-thought
engineering-ai
ai-for-engineering
ai-for-science
scientific-computing
computational-engineering
computer-aided-engineering
cae
engineering-tools
simulation-tools
mesh-generation
mesh-generator
meshing
mesh-automation
automated-meshing
mesh-processing
mesh-quality
mesh-refinement
adaptive-mesh-refinement
mesh-optimization
mesh-smoothing
mesh-repair
surface-mesh
volume-mesh
structured-mesh
unstructured-mesh
hybrid-mesh
triangular-mesh
quadrilateral-mesh
tetrahedral-mesh
hexahedral-mesh
prism-layer
boundary-layer
boundary-layer-mesh
o-grid
geometry-processing
computational-geometry
cad
cad-automation
geometry
step
iges
stl
cgns
msh-format
geo-format
gmsh
gmsh-code
gmsh-script
openfoam
snappyhexmesh
cfmesh
finite-element-analysis
fea
finite-element-method
computational-fluid-dynamics
cfd
finite-volume-method
finite-difference-method
computational-mechanics
structural-analysis
stress-analysis
fluid-mechanics
aerodynamics
physics-simulation
numerical-simulation
pde
partial-differential-equations
solver
boundary-conditions
mechanical-engineering
aerospace-engineering
automotive-engineering
civil-engineering
structural-engineering
ggml
llama-cpp
quantized
quantization
imatrix
local-inference
edge-inference
cpu-inference
on-device
8b
8b-parameters
open-source
english
conversational

GmshNet-8B-v0.1

GmshNet-8B-v0.1 is an open-source, dense, decoder-only 8B parameter large language model specializing in Gmsh 4.x meshing scripts, designed to produce structured analyses and generate robust geometry meshes through chain-of-thought reasoning.


Quickstart

Install Dependencies

pip install llama-cpp-python

Run Inference

from llama_cpp import Llama

# Input your prompt here
USER_INPUT = """
Create a 2D finite element mesh for a rectangular steel plate measuring 100 mm by 60 mm with a circular hole of radius 10 mm at its center (a classic stress-concentration test case). Refine the mesh around the hole to capture the stress gradient and use a coarser mesh near the outer edges. Define physical groups for the outer boundary and the hole so the mesh can be used for a finite element stress analysis.
"""

def load_model(model_path):
    llm = Llama(
        model_path=model_path,
        n_ctx=32768,
        n_gpu_layers=-1,
        verbose=False
    )
    return llm

def generate_response(llm, user_input):
    formatted_input = f"<gmsh_instruction>{user_input.strip()}</gmsh_instruction>"
    messages = [{"role": "user", "content": formatted_input}]
    response = llm.create_chat_completion(
        messages=messages,
        max_tokens=2000,
        temperature=0.2,
        top_k=20,
        top_p=0.8,
        repeat_penalty=1.1,
        stream=False
    )
    return response['choices'][0]['message']['content']

def run_inference():
    model_path = ""  # Path to your model weights
    llm = load_model(model_path)
    result = generate_response(llm, USER_INPUT)
    print(result)

if __name__ == "__main__":
    run_inference()

Example Output

<think>
I need to analyze this meshing task step by step to create an effective GMSH script.

1. Geometry Requirements:
   - Main domain: 100mm × 60mm rectangular plate
   - Internal feature: Circular hole of radius 10mm at center
   - Need refinement around hole for stress gradient capture
   - Coarser mesh near outer edges

2. Meshing Approach:
   - Unstructured triangular mesh for flexibility
   - Size field to control refinement (finer near hole, coarser near edges)
   - Physical groups for boundaries and hole surface
   - Potential quadrilateral recombination in structured regions if needed

3. Construction Steps:
   a) Create rectangle points and lines
   b) Create circle points and arcs
   c) Define line loops for plate and hole
   d) Create plane surface with hole
   e) Set mesh size fields for refinement
   f) Define physical groups
   g) Generate 2D mesh
</think>
<response>
1. High-level Overview:
   - We'll create a rectangular plate with a circular hole at center
   - Use size field to refine mesh near hole (radius 5mm from center)
   - Coarser mesh grows outward from outer edges
   - Physical groups for boundaries and hole surface

2. Step-by-step Instructions:
   a) Create rectangle points (4 corners)
   b) Connect with lines to form boundary
   c) Create circle points (center + 4 quadrants)
   d) Connect circle points with arcs
   e) Define line loops for plate and hole
   f) Create surface with hole
   g) Set mesh size field with Attractor near hole
   h) Define physical groups
   i) Generate mesh

3. Complete GMSH Script:

```
// Rectangular Plate with Hole - Stress Concentration Test Case

// Geometry Parameters
plate_length = 100;
plate_width = 60;
hole_radius = 10;

// Mesh Sizing Parameters
base_size = 5;          // Base mesh size
hole_refine = 1.0;      // Size at hole center
hole_growth = 2.0;      // Growth rate from hole to outer edges

// Create Rectangle Points
Point(1) = {0, 0, 0, base_size};
Point(2) = {plate_length, 0, 0, base_size};
Point(3) = {plate_length, plate_width, 0, base_size};
Point(4) = {0, plate_width, 0, base_size};

// Create Rectangle Edges
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};

// Create Hole Points (center + 4 quadrants)
Point(5) = {plate_length/2, plate_width/2, 0, hole_refine}; // Center
Point(6) = {plate_length/2 + hole_radius, plate_width/2, 0, hole_refine};
Point(7) = {plate_length/2, plate_width/2 + hole_radius, 0, hole_refine};
Point(8) = {plate_length/2 - hole_radius, plate_width/2, 0, hole_refine};
Point(9) = {plate_length/2, plate_width/2 - hole_radius, 0, hole_refine};

// Create Hole Arcs
Circle(5) = {6, 5, 7};
Circle(6) = {7, 5, 8};
Circle(7) = {8, 5, 9};
Circle(8) = {9, 5, 6};

// Define Line Loops
Line Loop(1) = {1, 2, 3, 4};    // Outer boundary
Line Loop(2) = {5, 6, 7, 8};     // Hole boundary

// Create Surface with Hole
Plane Surface(1) = {1, 2};

// Mesh Size Field - Refinement near hole
Field[1] = Distance;
Field[1].NodesList = {5};        // Center point of hole
Field[2] = Threshold;
Field[2].IField = 1;
Field[2].LcMin = hole_refine;
Field[2].LcMax = base_size;
Field[2].DistMin = hole_radius;
Field[2].DistMax = plate_length/4;
Background Field = 2;

// Physical Groups
Physical Curve("OuterBoundary", 1) = {1, 2, 3, 4};
Physical Curve("HoleBoundary", 2) = {5, 6, 7, 8};
Physical Surface("Plate", 1) = {1};

// Mesh Settings
Mesh.Algorithm = 6;              // Frontal-Delaunay
Mesh.Smoothing = 5;              // More smoothing iterations

// Generate 2D Mesh
Mesh 2;
```

4. Implementation Notes:
- To run: Open in GMSH → Mesh → 2D
- Adjust parameters at top for different sizes/resolutions
- Visualize geometry (Geometry tab) before meshing to verify
- For quadrilateral mesh near hole, add:
  ```
  Mesh.RecombineAll = 1;
  Mesh.Algorithm = 8; // Delaunay for quads
  ```
- Common errors to avoid:
  - Ensure line loops are properly closed
  - Verify point IDs in circle definitions
  - Check that surface includes both line loops (plate and hole)
</response>

Feedback

Tried the model? We'd love to hear how it went! It takes about a minute:

Share your feedback →

Downloads last month
1,078
GGUF
Model size
8B params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

2-bit

3-bit

4-bit

5-bit

6-bit

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support