Safetensors
English
qwen2
chain-of-thought
cot-reasoning
step-by-step-reasoning
systematic-analysis
problem-decomposition
structured-output
structured-thinking
reasoning-model
gmsh-scripting
mesh-generation
computational-geometry
finite-element-analysis
engineering-simulation
cad-mesh-automation
geometric-modeling
numerical-methods
engineering-research
computational-engineering
mesh-optimization
geometry-processing
simulation-preprocessing
technical-code-generation
domain-specific-reasoning
engineering-assistant
8b-parameters
dense-decoder-model
open-source-model
GMeshNet-OSS-8B
GMeshNet-OSS
GMeshNet
GMeshNet-OSS-8B
GMeshNet-OSS-8B is an open-source, dense, decoder-only 8B parameter large language model optimized for chain-of-thought reasoning, designed to produce structured analyses and generate robust Gmsh meshing scripts.
Quickstart
Install Dependencies
pip install -U torch transformers accelerate
Run Inference
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# Input your prompt here
USER_INPUT = """
Generate a GMSH script to create a 2D rectangular mesh with a circular hole at the center, applying finer mesh refinement near the hole and coarser mesh at the boundaries.
"""
def load_model(model_path):
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16,
device_map="auto",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
model_path,
trust_remote_code=True
)
with open(f"{model_path}/chat_template.jinja", "r") as f:
tokenizer.chat_template = f.read()
return model, tokenizer
def generate_response(model, tokenizer, user_input):
formatted_input = f"<gmsh_instruction>{user_input.strip()}</gmsh_instruction>"
messages = [{"role": "user", "content": formatted_input}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=2000,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=False)
return response.split("<|im_start|>assistant\n")[-1].replace("<|im_end|>", "").strip()
def run_inference():
model_path = "./" # Path to your model weights
model, tokenizer = load_model(model_path)
result = generate_response(model, tokenizer, 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: Rectangular plate (let's assume 10x10 units)
- Internal feature: Circular hole at center (radius 1 unit)
- Mesh requirements: Finer elements near hole, coarser elements at boundaries
2. Meshing Approach:
- Unstructured triangular mesh for flexibility around complex features
- Size field to control element gradation from fine near hole to coarse at boundaries
- Boundary layer not strictly necessary but could be added if flow simulation is intended
3. Construction Steps:
- Define rectangle points (4 corners)
- Define circle points (center + 4 quadrant points)
- Create line loops for both shapes
- Create surface with hole using Plane Surface command
- Set up size field for gradation control
- Generate mesh
</think>
<response>
1. High-level overview:
- Create 10x10 rectangular domain centered at origin
- Add circular hole of radius 1 at center
- Use distance-based size field to refine mesh near hole
- Generate unstructured triangular mesh with smooth gradation
2. Step-by-step instructions:
a) Create rectangle points (4 corners)
b) Create circle points (center + 4 quadrants)
c) Connect points with lines/arcs
d) Form line loops
e) Create surface with hole
f) Set up size field
g) Generate mesh
3. Complete GMSH script:
```
// Rectangle with circular hole - graded mesh example
// Geometry parameters
rect_size = 5; // Half-width/height of rectangle
hole_radius = 1; // Radius of central hole
// Points for rectangle
Point(1) = {-rect_size, -rect_size, 0};
Point(2) = {rect_size, -rect_size, 0};
Point(3) = {rect_size, rect_size, 0};
Point(4) = {-rect_size, rect_size, 0};
// Points for circle (center + 4 quadrants)
Point(5) = {0, 0, 0}; // Center
Point(6) = {hole_radius, 0, 0};
Point(7) = {0, hole_radius, 0};
Point(8) = {-hole_radius, 0, 0};
Point(9) = {0, -hole_radius, 0};
// Lines for rectangle
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
// Circle arcs
Circle(5) = {6, 5, 7};
Circle(6) = {7, 5, 8};
Circle(7) = {8, 5, 9};
Circle(8) = {9, 5, 6};
// Line loops
Line Loop(1) = {1, 2, 3, 4}; // Outer rectangle
Line Loop(2) = {5, 6, 7, 8}; // Inner circle
// Surface with hole
Plane Surface(1) = {1, 2};
// Mesh size control - fine near hole, coarse at boundaries
Field[1] = Distance;
Field[1].NodesList = {5}; // Measure distance from center point
Field[1].NNodesByEdge = 100;
Field[2] = Threshold;
Field[2].InField = 1;
Field[2].SizeMin = 0.05; // Fine mesh near hole
Field[2].SizeMax = 0.5; // Coarse mesh far away
Field[2].DistMin = hole_radius;
Field[2].DistMax = 2*hole_radius;
Background Field = 2;
// Physical groups for boundaries
Physical Curve("OuterBoundary", 1) = {1, 2, 3, 4};
Physical Curve("InnerBoundary", 2) = {5, 6, 7, 8};
Physical Surface("Domain", 1) = {1};
// Mesh settings
Mesh.Algorithm = 6; // Frontal-Delaunay
Mesh.Smoothing = 5;
Mesh.CharacteristicLengthExtendFromBoundary = 1;
// Generate 2D mesh
Mesh 2;
```
4. Implementation Notes:
- To run: Open in GMSH โ Mesh โ 2D
- Adjust parameters as needed:
* rect_size: Change rectangle dimensions
* hole_radius: Modify hole size
* SizeMin/SizeMax: Control mesh density
* DistMin/DistMax: Control refinement region extent
- For structured mesh option, add Transfinite lines/surface commands
- Visualize geometry first (Geometry tab) before meshing
- Common errors to avoid:
* Missing line loops
* Incorrect point references in curves
* Overlapping or intersecting geometries
</response>
Citation
@software{Callimesh_GMeshNet-OSS-8B_v1.0,
author = {{Callimesh}},
title = {GMeshNet-OSS-8B},
version = {1.0.0},
url = {https://huggingface.co/Callimesh/GMeshNet-OSS-8B},
doi = {10.57967/hf/6325}
}
- Downloads last month
- 15
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
๐
Ask for provider support