mumax / 3

GPU-accelerated micromagnetic simulator
Other
447 stars 150 forks source link

Wrong shape output from "cone" shape in API. #287

Open gnmp opened 3 years ago

gnmp commented 3 years ago

Th cone geometry in the API returns a semielipsoidal shape instead of a cone:

Cone(float64, float64) Shape 3D Cone with diameter and height in meter. The top of the cone points in the +z direction. x

The equation in the file shape.go is not the one of a cone: https://github.com/mumax/3/blob/e45ea8b62bc544ec6df67648c1b72a3bbfd4f17f/engine/shape.go

// 3D Cone with the vertex down.

func Cone(diam, height float64) Shape {

return func(x, y, z float64) bool {

    return z >= 0 && sqr64(x/diam)+sqr64(y/diam)+0.25*sqr64(z/height) <= 0.25

}

}

gnmp commented 3 years ago

Here a minimal code and a snapshot of the geometry.

Nx:= 60 Ny:= 60 Nz:= 60 h:= 400.0e-9 SetGridsize(Nx,Ny,Nz) SetCellsize(600.0e-9/Nx, 600.0e-9/Ny, 600.0e-9/Nz)

coneshape:= cone( 600.0e-9, 300.0e-9).Transl(0,0,-300.0e-9)

SetGeom(coneshape) save(geom) snapshot(geom)