Versions in this module Expand all Collapse all v0 v0.2.0 Dec 17, 2021 Changes in this version + func AutoFlush() + func TableInit() + type Writer struct v0.1.0 Nov 26, 2021 Changes in this version + const BACKWARD_EULER + const BOGAKISHAMPINE + const CSS + const DORMANDPRINCE + const DefaultCacheLifetime + const EULER + const FEHLBERG + const HEUN + const LAMBDA + const NREGION + const RUNGEKUTTA + const SCALAR + const TILE + const TableAutoflushRate + const VECTOR + const VERSION + const X + const Y + const Z + var AddEdens_demag = makeEdensAdder(&B_demag, -0.5) + var AddEdens_zeeman = makeEdensAdder(B_ext, -1) + var AddExchangeEnergyDensity = makeEdensAdder(&B_exch, -0.5) + var AddThermalEnergyDensity = makeEdensAdder(&B_therm, -1) + var Aex = NewScalarParam("Aex", "J/m", "Exchange stiffness", &lex2) + var Alpha = NewScalarParam("alpha", "", "Landau-Lifshitz damping constant") + var AnisC1 = NewVectorParam("anisC1", "", "Cubic anisotropy direction #1") + var AnisC2 = NewVectorParam("anisC2", "", "Cubic anisotorpy directon #2") + var AnisU = NewVectorParam("anisU", "", "Uniaxial anisotropy direction") + var B1 = NewScalarParam("B1", "J/m3", "First magneto-elastic coupling constant") + var B2 = NewScalarParam("B2", "J/m3", "Second magneto-elastic coupling constant") + var B_anis = NewVectorField("B_anis", "T", "Anisotropy field", AddAnisotropyField) + var B_custom = NewVectorField("B_custom", "T", "User-defined field", AddCustomField) + var B_demag = NewVectorField("B_demag", "T", "Magnetostatic field", SetDemagField) + var B_eff = NewVectorField("B_eff", "T", "Effective field", SetEffectiveField) + var B_exch = NewVectorField("B_exch", "T", "Exchange field", AddExchangeField) + var B_ext = NewExcitation("B_ext", "T", "Externally applied field") + var B_mel = NewVectorField("B_mel", "T", "Magneto-elastic filed", AddMagnetoelasticField) + var B_therm thermField + var BubbleDist = NewScalarValue("ext_bubbledist", "m", "Bubble traveled distance", bubbleDist) + var BubbleMz = 1.0 + var BubblePos = NewVectorValue("ext_bubblepos", "m", "Bubble core position", bubblePos) + var BubbleSpeed = NewScalarValue("ext_bubblespeed", "m/s", "Bubble velocity", bubbleSpeed) + var CorePos = NewVectorValue("ext_corepos", "m", "Vortex core position (x,y) + polarization (z)", corePos) + var CurrentSignFromFixedLayerPosition = map[FixedLayerPosition]float64 + var DWPos = NewScalarValue("ext_dwpos", "m", ...) + var DWSpeed = NewScalarValue("ext_dwspeed", "m/s", ...) + var DWTiltPMA = NewScalarValue("ext_dwtilt", "rad", "PMA domain wall tilt", dwTiltPMA) + var DWxPos = NewScalarValue("ext_dwxpos", "m", ...) + var Dbulk = NewScalarParam("Dbulk", "J/m2", "Bulk Dzyaloshinskii-Moriya strength", &dbulk2) + var DemagAccuracy = 6.0 + var Dind = NewScalarParam("Dind", "J/m2", "Interfacial Dzyaloshinskii-Moriya strength", &din2) + var DindCoupling = NewScalarField("DindCoupling", "arb.", "Average DMI coupling with neighbors", dindDecode) + var DisableSlonczewskiTorque = false + var DisableZhangLiTorque = false + var DmSamples int = 10 + var Dt_si float64 = 1e-15 + var E_Zeeman = NewScalarValue("E_Zeeman", "J", "Zeeman energy", GetZeemanEnergy) + var E_anis = NewScalarValue("E_anis", "J", "Total anisotropy energy", GetAnisotropyEnergy) + var E_custom = NewScalarValue("E_custom", "J", "total energy of user-defined field", GetCustomEnergy) + var E_demag = NewScalarValue("E_demag", "J", "Magnetostatic energy", GetDemagEnergy) + var E_exch = NewScalarValue("E_exch", "J", "Total exchange energy (including the DMI energy)", ...) + var E_mel = NewScalarValue("E_mel", "J", "Magneto-elastic energy", GetMagnetoelasticEnergy) + var E_therm = NewScalarValue("E_therm", "J", "Thermal energy", GetThermalEnergy) + var E_total = NewScalarValue("E_total", "J", "total energy", GetTotalEnergy) + var Edens_anis = NewScalarField("Edens_anis", "J/m3", "Anisotropy energy density", AddAnisotropyEnergyDensity) + var Edens_custom = NewScalarField("Edens_custom", "J/m3", "Energy density of user-defined field.", ...) + var Edens_demag = NewScalarField("Edens_demag", "J/m3", "Magnetostatic energy density", AddEdens_demag) + var Edens_exch = NewScalarField("Edens_exch", "J/m3", ...) + var Edens_mel = NewScalarField("Edens_mel", "J/m3", "Magneto-elastic energy density", ...) + var Edens_therm = NewScalarField("Edens_therm", "J/m3", "Thermal energy density", AddThermalEnergyDensity) + var Edens_total = NewScalarField("Edens_total", "J/m3", "Total energy density", SetTotalEdens) + var Edens_zeeman = NewScalarField("Edens_Zeeman", "J/m3", "Zeeman energy density", AddEdens_zeeman) + var EnableDemag = true + var EpsilonPrime = NewScalarParam("EpsilonPrime", "", "Slonczewski secondairy STT term ε'") + var ExchCoupling = NewScalarField("ExchCoupling", "arb.", "Average exchange coupling with neighbors", ...) + var Ext_TopologicalCharge = NewScalarValue("ext_topologicalcharge", "", "2D topological charge", GetTopologicalCharge) + var Ext_TopologicalChargeDensity = NewScalarField("ext_topologicalchargedensity", "1/m2", ...) + var Ext_TopologicalChargeDensityLattice = NewScalarField("ext_topologicalchargedensitylattice", "1/m2", ...) + var Ext_TopologicalChargeLattice = NewScalarValue("ext_topologicalchargelattice", "", ...) + var F_mel = NewVectorField("F_mel", "N/m3", "Magneto-elastic force density", ...) + var FilenameFormat = "%s%06d" + var FixDt float64 + var FixedLayer = NewExcitation("FixedLayer", "", "Slonczewski fixed layer polarization") + var Flag_cachedir = flag.String("cache", os.TempDir(), "Kernel cache directory (empty disables caching)") + var Flag_forceclean = flag.Bool("f", false, "Force start, clean existing output directory") + var Flag_gpu = flag.Int("gpu", 0, "Specify GPU") + var Flag_interactive = flag.Bool("i", false, "Open interactive browser session") + var Flag_od = flag.String("o", "", "Override output directory") + var Flag_port = flag.String("http", ":35367", "Port to serve web gui") + var Flag_selftest = flag.Bool("paranoid", false, "Enable convolution self-test for cuFFT sanity.") + var Flag_silent = flag.Bool("s", false, "Silent") + var Flag_sync = flag.Bool("sync", false, "Synchronize all CUDA calls (debug)") + var FreeLayerThickness = NewScalarParam("FreeLayerThickness", "m", ...) + var FrozenSpins = NewScalarParam("frozenspins", "", "Defines spins that should be fixed") + var GammaLL float64 = 1.7595e11 + var Headroom float64 = 0.8 + var Inject = make(chan func()) + var InputFile string + var J = NewExcitation("J", "A/m2", "Electrical current density") + var Kc1 = NewScalarParam("Kc1", "J/m3", "1st order cubic anisotropy constant") + var Kc2 = NewScalarParam("Kc2", "J/m3", "2nd order cubic anisotropy constant") + var Kc3 = NewScalarParam("Kc3", "J/m3", "3rd order cubic anisotropy constant") + var Ku1 = NewScalarParam("Ku1", "J/m3", "1st order uniaxial anisotropy constant") + var Ku2 = NewScalarParam("Ku2", "J/m3", "2nd order uniaxial anisotropy constant") + var LLTorque = NewVectorField("LLtorque", "T", "Landau-Lifshitz torque/γ0", SetLLTorque) + var Lambda = NewScalarParam("Lambda", "", "Slonczewski Λ parameter") + var LastErr float64 + var LastTorque float64 + var M magnetization + var MFM = NewScalarField("MFM", "arb.", "MFM image", SetMFM) + var MFMLift inputValue + var MFMTipSize inputValue + var M_full = NewVectorField("m_full", "A/m", "Unnormalized magnetization", SetMFull) + var MaxAngle = NewScalarValue("MaxAngle", "rad", "maximum angle between neighboring spins", GetMaxAngle) + var MaxDt float64 + var MaxErr float64 = 1e-5 + var MaxTorque = NewScalarValue("maxTorque", "T", "Maximum torque/γ0, over all cells", GetMaxTorque) + var MinDt float64 + var Msat = NewScalarParam("Msat", "A/m", "Saturation magnetization") + var NEvals int + var NSteps int + var NUndone int + var NoDemagSpins = NewScalarParam("NoDemagSpins", "", ...) + var OpenBC = false + var PeakErr float64 + var Pol = NewScalarParam("Pol", "", "Electrical current polarization") + var Precess = true + var RelaxTorqueThreshold float64 = -1. + var STTorque = NewVectorField("STTorque", "T", "Spin-transfer torque/γ0", AddSTTorque) + var ShiftGeom bool = true ... + var ShiftM bool = true ... + var ShiftMagD data.Vector + var ShiftMagL data.Vector + var ShiftMagR data.Vector + var ShiftMagU data.Vector + var ShiftRegions bool = true ... + var SnapshotFormat = "jpg" + var SpinAngle = NewScalarField("spinAngle", "rad", "Angle between neighboring spins", SetSpinAngle) + var StartTime = time.Now() + var StopMaxDm float64 = 1e-6 + var StringFromOutputFormat = map[OutputFormat]string + var Table = *newTable("table") + var Temp = NewScalarParam("Temp", "K", "Temperature") + var Time float64 + var Timeout = 3 * time.Second + var Torque = NewVectorField("torque", "T", "Total torque/γ0", SetTorque) + var TotalShift float64 + var TotalYShift float64 + var UNAME = fmt.Sprintf("%s [%s_%s %s(%s) CUDA-%d.%d]", VERSION, runtime.GOOS, runtime.GOARCH, ...) + var World = script.NewWorld() + var Xi = NewScalarParam("xi", "", "Non-adiabaticity of spin-transfer-torque") + func AddAnisotropyEnergyDensity(dst *data.Slice) + func AddAnisotropyField(dst *data.Slice) + func AddCustomEnergyDensity(dst *data.Slice) + func AddCustomField(dst *data.Slice) + func AddEdensTerm(e Quantity) + func AddExchangeField(dst *data.Slice) + func AddFieldTerm(b Quantity) + func AddMagnetoelasticEnergyDensity(dst *data.Slice) + func AddMagnetoelasticField(dst *data.Slice) + func AddSTTorque(dst *data.Slice) + func AutoSave(q Quantity, period float64) + func AutoSnapshot(q Quantity, period float64) + func AverageOf(q Quantity) []float64 + func Break() + func CenterBubble() + func CenterWall(magComp int) + func CheckRecoverable(err error) + func Close() + func CompileFile(fname string) (*script.BlockStmt, error) + func CreatePlot(table *DataTable, xcol, ycol int) (img []byte, err error) + func Crop(parent Quantity, x1, x2, y1, y2, z1, z2 int) *cropped + func CropLayer(parent Quantity, layer int) *cropped + func CropRegion(parent Quantity, region int) *cropped + func CropX(parent Quantity, x1, x2 int) *cropped + func CropY(parent Quantity, y1, y2 int) *cropped + func CropZ(parent Quantity, z1, z2 int) *cropped + func DeclConst(name string, value float64, doc string) + func DeclFunc(name string, f interface{}, doc string) + func DeclLValue(name string, value LValue, doc string) + func DeclROnly(name string, value interface{}, doc string) + func DeclTVar(name string, value interface{}, doc string) + func DeclVar(name string, value interface{}, doc string) + func DefRegion(id int, s Shape) + func DefRegionCell(id int, x, y, z int) + func DoOutput() + func Download(q Quantity) *data.Slice + func EnableUnsafe() + func Eval(code string) + func Eval1Line(code string) interface + func EvalFile(code *script.BlockStmt) + func EvalTo(q interface{ ... }, dst *data.Slice) + func Exit() + func Expect(msg string, have, want, maxError float64) + func ExpectV(msg string, have, want data.Vector, maxErr float64) + func Export(q interface{ ... }, doc string) + func FifoRing(length int) fifoRing + func Fprintln(filename string, msg ...interface{}) + func FreezeSpins(dst *data.Slice) + func GUIAdd(name string, value interface{}) + func GetAnisotropyEnergy() float64 + func GetBusy() bool + func GetCustomEnergy() float64 + func GetDWxPos() float64 + func GetDemagEnergy() float64 + func GetExchangeEnergy() float64 + func GetMagnetoelasticEnergy() float64 + func GetMagnetoelasticForceDensity(dst *data.Slice) + func GetMaxAngle() float64 + func GetMaxTorque() float64 + func GetShiftPos() float64 + func GetShiftYPos() float64 + func GetThermalEnergy() float64 + func GetTopologicalCharge() float64 + func GetTopologicalChargeLattice() float64 + func GetTotalEnergy() float64 + func GetZeemanEnergy() float64 + func GoServe(addr string) string + func Index2Coord(ix, iy, iz int) data.Vector + func InitAndClose() func() + func InitIO(inputfile, od string, force bool) + func InitZgroup() + func InjectAndWait(task func()) + func InterDind(region1, region2 int, value float64) + func InterExchange(region1, region2 int, value float64) + func IsConst(e script.Expr) bool + func LoadFile(fname string) *data.Slice + func LogErr(msg ...interface{}) + func LogIn(msg ...interface{}) + func LogOut(msg ...interface{}) + func Madd(a, b Quantity, fac1, fac2 float64) *mAddition + func Mesh() *data.Mesh + func MeshOf(q Quantity) *data.Mesh + func MeshSize() [3]int + func Minimize() + func NameOf(q Quantity) string + func NewScalarMask(Nx, Ny, Nz int) *data.Slice + func NewSlice(ncomp, Nx, Ny, Nz int) *data.Slice + func NewVectorMask(Nx, Ny, Nz int) *data.Slice + func OD() string + func PostStep(f func()) + func Relax() + func RemoveCustomFields() + func RemoveLRSurfaceCharge(region int, mxLeft, mxRight float64) + func Run(seconds float64) + func RunInteractive() + func RunWhile(condition func() bool) + func SanityCheck() + func Save(q Quantity) + func SaveAs(q Quantity, fname string) + func ScaleInterDind(region1, region2 int, scale float64) + func ScaleInterExchange(region1, region2 int, scale float64) + func SetBusy(b bool) + func SetCellSize(cx, cy, cz float64) + func SetDemagField(dst *data.Slice) + func SetEffectiveField(dst *data.Slice) + func SetGeom(s Shape) + func SetGridSize(Nx, Ny, Nz int) + func SetLLTorque(dst *data.Slice) + func SetMFM(dst *data.Slice) + func SetMFull(dst *data.Slice) + func SetMesh(Nx, Ny, Nz int, cellSizeX, cellSizeY, cellSizeZ float64, pbcx, pbcy, pbcz int) + func SetPBC(nx, ny, nz int) + func SetPhi(dst *data.Slice) + func SetSolver(typ int) + func SetSpinAngle(dst *data.Slice) + func SetTheta(dst *data.Slice) + func SetTopologicalChargeDensity(dst *data.Slice) + func SetTopologicalChargeDensityLattice(dst *data.Slice) + func SetTorque(dst *data.Slice) + func SetTotalEdens(dst *data.Slice) + func Shift(dx int) + func SizeOf(q Quantity) [3]int + func Snapshot(q Quantity) + func SnapshotAs(q Quantity, fname string) + func Steps(n int) + func TableAdd(col Quantity) + func TableAddVariable(x script.ScalarFunction, name, unit string) + func TableAutoSave(period float64) + func TablePrint(msg ...interface{}) + func TableSave() + func ThermSeed(seed int) + func UnitOf(q Quantity) string + func ValueOf(q Quantity) *data.Slice + func Vector(x, y, z float64) data.Vector + func Voronoi(grainsize float64, numRegions, seed int) + func Voronoi3d(grainsize float64, startRegion int, numRegions int, inputShape Shape, seed int) + func YShift(dy int) + func ZarrAutoSave(q Quantity, period float64) + func ZarrAutoSaveAs(q Quantity, fname string, period float64) + func ZarrLoadFile(fname string) *data.Slice + func ZarrSave(q Quantity) + func ZarrSaveAs(q Quantity, fname string) + func ZarrSyncSave(array *data.Slice, qname string, time int) + type BackwardEuler struct + func (s *BackwardEuler) Free() + func (s *BackwardEuler) Step() + type ColumnHeader struct + func (c ColumnHeader) Name() string + func (c ColumnHeader) String() string + func (c ColumnHeader) Unit() string + type Config func(x, y, z float64) data.Vector + func AntiVortex(circ, pol int) Config + func BlochSkyrmion(charge, pol int) Config + func Conical(q, coneDirection data.Vector, coneAngle float64) Config + func Helical(q data.Vector) Config + func NeelSkyrmion(charge, pol int) Config + func RandomMag() Config + func RandomMagSeed(seed int) Config + func TwoDomain(mx1, my1, mz1, mxwall, mywall, mzwall, mx2, my2, mz2 float64) Config + func Uniform(mx, my, mz float64) Config + func Vortex(circ, pol int) Config + func VortexWall(mleft, mright float64, circ, pol int) Config + func (c Config) Add(weight float64, other Config) Config + func (c Config) RotZ(θ float64) Config + func (c Config) Scale(sx, sy, sz float64) Config + func (c Config) Transl(dx, dy, dz float64) Config + type DataTable struct + func (i *DataTable) NComp() int + func (i *DataTable) Name() string + func (i *DataTable) Unit() string + func (t *DataTable) Add(output Quantity) + func (t *DataTable) AddVariable(x script.ScalarFunction, name, unit string) + func (t *DataTable) Flush() error + func (t *DataTable) Header() (headers []ColumnHeader) + func (t *DataTable) Println(msg ...interface{}) + func (t *DataTable) Read() (data [][]float64, err error) + func (t *DataTable) Save() + func (t *DataTable) Write(p []byte) (int, error) + type DerivedParam struct + func NewDerivedParam(nComp int, parents []parent, updater func(*DerivedParam)) *DerivedParam + func (b *DerivedParam) NComp() int + func (p *DerivedParam) EvalTo(dst *data.Slice) + func (p *DerivedParam) GetRegion(r int) []float64 + func (p *DerivedParam) Slice() (*data.Slice, bool) + type Euler struct + func (_ *Euler) Free() + func (_ *Euler) Step() + type Excitation struct + func NewExcitation(name, unit, desc string) *Excitation + func (e *Excitation) Add(mask *data.Slice, f script.ScalarFunction) + func (e *Excitation) AddGo(mask *data.Slice, mul func() float64) + func (e *Excitation) AddTo(dst *data.Slice) + func (e *Excitation) Average() data.Vector + func (e *Excitation) Comp(c int) ScalarField + func (e *Excitation) Eval() interface{} + func (e *Excitation) EvalTo(dst *data.Slice) + func (e *Excitation) InputType() reflect.Type + func (e *Excitation) IsUniform() bool + func (e *Excitation) Mesh() *data.Mesh + func (e *Excitation) NComp() int + func (e *Excitation) Name() string + func (e *Excitation) Region(r int) *vOneReg + func (e *Excitation) RemoveExtraTerms() + func (e *Excitation) Set(v data.Vector) + func (e *Excitation) SetRegion(region int, f script.VectorFunction) + func (e *Excitation) SetRegionFn(region int, f func() [3]float64) + func (e *Excitation) SetValue(v interface{}) + func (e *Excitation) Slice() (*data.Slice, bool) + func (e *Excitation) Type() reflect.Type + func (e *Excitation) Unit() string + func (p *Excitation) MSlice() cuda.MSlice + type FixedLayerPosition int + const FIXEDLAYER_BOTTOM + const FIXEDLAYER_TOP + type Heun struct + func (_ *Heun) Free() + func (_ *Heun) Step() + type Info interface + NComp func() int + Name func() string + Unit func() string + type LValue interface + Eval func() interface{} + SetValue func(interface{}) + Type func() reflect.Type + type Minimizer struct + func (mini *Minimizer) Free() + func (mini *Minimizer) Step() + type OutputFormat int + const DUMP + const OVF1_BINARY + const OVF1_TEXT + const OVF2_BINARY + const OVF2_TEXT + type Param interface + IsUniform func() bool + NComp func() int + Name func() string + Unit func() string + type Quantity interface + EvalTo func(dst *data.Slice) + NComp func() int + func Add(a, b Quantity) Quantity + func Const(v float64) Quantity + func ConstVector(x, y, z float64) Quantity + func Cross(a, b Quantity) Quantity + func Div(a, b Quantity) Quantity + func Dot(a, b Quantity) Quantity + func Masked(q Quantity, shape Shape) Quantity + func Mul(a, b Quantity) Quantity + func MulMV(Ax, Ay, Az, b Quantity) Quantity + func Normalized(q Quantity) Quantity + func Shifted(q Quantity, dx, dy, dz int) Quantity + type RK23 struct + func (rk *RK23) Free() + func (rk *RK23) Step() + type RK4 struct + func (_ *RK4) Free() + func (rk *RK4) Step() + type RK45DP struct + func (rk *RK45DP) Free() + func (rk *RK45DP) Step() + type RK56 struct + func (rk *RK56) Free() + func (rk *RK56) Step() + type Regions struct + func (i *Regions) NComp() int + func (i *Regions) Name() string + func (i *Regions) Unit() string + func (r *Regions) Average() float64 + func (r *Regions) EvalTo(dst *data.Slice) + func (r *Regions) GetCell(ix, iy, iz int) int + func (r *Regions) Gpu() *cuda.Bytes + func (r *Regions) HostArray() [][][]byte + func (r *Regions) HostList() []byte + func (r *Regions) LoadFile(fname string) + func (r *Regions) Mesh() *data.Mesh + func (r *Regions) SetCell(ix, iy, iz int, region int) + func (r *Regions) Slice() (*data.Slice, bool) + type RegionwiseScalar struct + func NewScalarParam(name, unit, desc string, children ...derived) *RegionwiseScalar + func (p *RegionwiseScalar) Average() float64 + func (p *RegionwiseScalar) Eval() interface{} + func (p *RegionwiseScalar) GetRegion(region int) float64 + func (p *RegionwiseScalar) InputType() reflect.Type + func (p *RegionwiseScalar) IsUniform() bool + func (p *RegionwiseScalar) MSlice() cuda.MSlice + func (p *RegionwiseScalar) Mesh() *data.Mesh + func (p *RegionwiseScalar) Name() string + func (p *RegionwiseScalar) Region(r int) *sOneReg + func (p *RegionwiseScalar) Set(v float64) + func (p *RegionwiseScalar) SetRegion(region int, f script.ScalarFunction) + func (p *RegionwiseScalar) SetRegionFuncGo(region int, f func() float64) + func (p *RegionwiseScalar) SetRegionValueGo(region int, v float64) + func (p *RegionwiseScalar) SetValue(v interface{}) + func (p *RegionwiseScalar) Type() reflect.Type + func (p *RegionwiseScalar) Unit() string + type RegionwiseVector struct + func NewVectorParam(name, unit, desc string) *RegionwiseVector + func (p *RegionwiseVector) Average() data.Vector + func (p *RegionwiseVector) Comp(c int) ScalarField + func (p *RegionwiseVector) Eval() interface{} + func (p *RegionwiseVector) GetRegion(region int) [3]float64 + func (p *RegionwiseVector) InputType() reflect.Type + func (p *RegionwiseVector) IsUniform() bool + func (p *RegionwiseVector) MSlice() cuda.MSlice + func (p *RegionwiseVector) Mesh() *data.Mesh + func (p *RegionwiseVector) Name() string + func (p *RegionwiseVector) Region(r int) *vOneReg + func (p *RegionwiseVector) SetRegion(region int, f script.VectorFunction) + func (p *RegionwiseVector) SetRegionFn(region int, f func() [3]float64) + func (p *RegionwiseVector) SetValue(v interface{}) + func (p *RegionwiseVector) Type() reflect.Type + func (p *RegionwiseVector) Unit() string + type ScalarExcitation struct + func NewScalarExcitation(name, unit, desc string) *ScalarExcitation + func (e *ScalarExcitation) Add(mask *data.Slice, f script.ScalarFunction) + func (e *ScalarExcitation) AddGo(mask *data.Slice, mul func() float64) + func (e *ScalarExcitation) AddTo(dst *data.Slice) + func (e *ScalarExcitation) Average() float64 + func (e *ScalarExcitation) Comp(c int) ScalarField + func (e *ScalarExcitation) Eval() interface{} + func (e *ScalarExcitation) EvalTo(dst *data.Slice) + func (e *ScalarExcitation) InputType() reflect.Type + func (e *ScalarExcitation) IsUniform() bool + func (e *ScalarExcitation) Mesh() *data.Mesh + func (e *ScalarExcitation) NComp() int + func (e *ScalarExcitation) Name() string + func (e *ScalarExcitation) Region(r int) *vOneReg + func (e *ScalarExcitation) RemoveExtraTerms() + func (e *ScalarExcitation) Set(v float64) + func (e *ScalarExcitation) SetRegion(region int, f script.ScalarFunction) + func (e *ScalarExcitation) SetRegionFn(region int, f func() [3]float64) + func (e *ScalarExcitation) SetValue(v interface{}) + func (e *ScalarExcitation) Slice() (*data.Slice, bool) + func (e *ScalarExcitation) Type() reflect.Type + func (e *ScalarExcitation) Unit() string + func (p *ScalarExcitation) MSlice() cuda.MSlice + type ScalarField struct + func AsScalarField(q Quantity) ScalarField + func Comp(parent Quantity, c int) ScalarField + func NewScalarField(name, unit, desc string, f func(dst *data.Slice)) ScalarField + func (s ScalarField) Average() float64 + func (s ScalarField) Name() string + func (s ScalarField) Region(r int) ScalarField + func (s ScalarField) Unit() string + type ScalarValue struct + func NewScalarValue(name, unit, desc string, f func() float64) *ScalarValue + func (g ScalarValue) EvalTo(dst *data.Slice) + func (s ScalarValue) Average() float64 + func (s ScalarValue) Get() float64 + type Shape func(x, y, z float64) bool + func Cell(ix, iy, iz int) Shape + func Circle(diam float64) Shape + func Cone(diam, height float64) Shape + func Cuboid(sidex, sidey, sidez float64) Shape + func Cylinder(diam, height float64) Shape + func Diamond(sidex, sidey float64) Shape + func Ellipse(diamx, diamy float64) Shape + func Ellipsoid(diamx, diamy, diamz float64) Shape + func GrainRoughness(grainsize, zmin, zmax float64, seed int) Shape + func Hexagon(side float64) Shape + func ImageShape(fname string) Shape + func Layer(index int) Shape + func Layers(a, b int) Shape + func RTriangle(side, diam float64) Shape + func Rect(sidex, sidey float64) Shape + func Square(side float64) Shape + func Triangle(side float64) Shape + func Universe() Shape + func XRange(a, b float64) Shape + func YRange(a, b float64) Shape + func ZRange(a, b float64) Shape + func (a Shape) Add(b Shape) Shape + func (a Shape) Intersect(b Shape) Shape + func (a Shape) Sub(b Shape) Shape + func (a Shape) Xor(b Shape) Shape + func (s Shape) Inverse() Shape + func (s Shape) Repeat(periodX, periodY, periodZ float64) Shape + func (s Shape) RotX(θ float64) Shape + func (s Shape) RotY(θ float64) Shape + func (s Shape) RotZ(θ float64) Shape + func (s Shape) Scale(sx, sy, sz float64) Shape + func (s Shape) Transl(dx, dy, dz float64) Shape + type Stepper interface + Free func() + Step func() + type TablePlot struct + func NewPlot(table *DataTable) (p *TablePlot) + func (p *TablePlot) SelectDataColumns(xcolidx, ycolidx int) + func (p *TablePlot) WriteTo(w io.Writer) (int64, error) + type UserErr string + func (e UserErr) Error() string + type VectorField struct + func AsVectorField(q Quantity) VectorField + func NewVectorField(name, unit, desc string, f func(dst *data.Slice)) VectorField + func (v VectorField) Average() data.Vector + func (v VectorField) Comp(c int) ScalarField + func (v VectorField) HostCopy() *data.Slice + func (v VectorField) Mesh() *data.Mesh + func (v VectorField) Name() string + func (v VectorField) Region(r int) VectorField + func (v VectorField) Unit() string + type VectorValue struct + func NewVectorValue(name, unit, desc string, f func() []float64) *VectorValue + func (g VectorValue) EvalTo(dst *data.Slice) + func (v *VectorValue) Average() data.Vector + func (v *VectorValue) Get() data.Vector