modules

package
v0.0.0-...-a20b597 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2015 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CPUONLY = true
	GPU     = false
)
View Source
const (
	NOSYMMETRY    = 0  // Kij independent of Kji
	SYMMETRIC     = 1  // Kij = Kji
	DIAGONAL      = 2  // also used for vector
	ANTISYMMETRIC = -1 // Kij = -Kji
)

matrix symmetry

View Source
const (
	PUREREAL = 0 // data is purely real
	PUREIMAG = 1 // data is purely complex
	COMPLEX  = 2 // data is full complex number
)

data realness

View Source
const ELTiName = EtempName
View Source
const ELTjName = LtempName
View Source
const ELcoupName = "Ge-p"
View Source
const ELfluxName = "Qe-p"
View Source
const ESTiName = EtempName
View Source
const ESTjName = StempName
View Source
const EScoupName = "Ges"
View Source
const ESfluxName = "Qes"
View Source
const EcapacName = "Ce"
View Source
const EcondName = "Ke"
View Source
const EfluxName = "Qe"
View Source
const ErateName = "dTedt"
View Source
const EspatFluxName = "Qe_spat"
View Source
const EtempName = "Te"
View Source
const LcapacName = "Cp"
View Source
const LcondName = "Kp"
View Source
const LfluxName = "Qp"
View Source
const LrateName = "dTpdt"
View Source
const LspatFluxName = "Qp_spat"
View Source
const LtempName = "Tp"
View Source
const RCorrName = "R"
View Source
const SLTiName = StempName
View Source
const SLTjName = LtempName
View Source
const SLcoupName = "Gs-p"
View Source
const SLfluxName = "Qs-p"
View Source
const ScapacName = "Cs"
View Source
const ScondName = "Ks"
View Source
const SfluxName = "Qs"
View Source
const SrateName = "dTsdt"
View Source
const SspatFluxName = "Qs_spat"
View Source
const StempName = "Ts"
View Source
const TSumName = "Teff"

Variables

This section is empty.

Functions

func IsZero

func IsZero(array []float64, max float64) bool

list is considered zero if all elements are at least a factorzero_tolerance smaller than max.

func Kernel_Arne

func Kernel_Arne(size []int, cellsize []float64, pbc []int, accuracy_ int, kernel *host.Array)

Calculates the magnetostatic kernel by brute-force integration of magnetic charges over the faces and averages over cell volumes. Mesh should NOT yet be zero-padded.

func LoadAnisUniaxial

func LoadAnisUniaxial(e *Engine)

func LoadAnizBrown

func LoadAnizBrown(e *Engine, args ...Arguments)

func LoadBField

func LoadBField(e *Engine)

Loads B if not yet present

func LoadBrillouinArgs

func LoadBrillouinArgs(e *Engine, args ...Arguments)

func LoadBrillouinKappaArgs

func LoadBrillouinKappaArgs(e *Engine, args ...Arguments)

func LoadCeDrudeArgs

func LoadCeDrudeArgs(e *Engine, args ...Arguments)

func LoadDFArgs

func LoadDFArgs(e *Engine, args ...Arguments)

func LoadDebyeCpArgs

func LoadDebyeCpArgs(e *Engine, args ...Arguments)

func LoadDemag

func LoadDemag(e *Engine)

Load demag field

func LoadEFArgs

func LoadEFArgs(e *Engine, args ...Arguments)

func LoadEL

func LoadEL(e *Engine)

func LoadES

func LoadES(e *Engine)

func LoadETM

func LoadETM(e *Engine)

func LoadEnergy

func LoadEnergy(e *Engine)

func LoadEnergyTerm

func LoadEnergyTerm(e *Engine, out, in1, in2 string, weight float64, desc string) *Quant

func LoadExch6

func LoadExch6(e *Engine)

func LoadFullMagnetization

func LoadFullMagnetization(e *Engine)

func LoadGammaLL

func LoadGammaLL(e *Engine)

func LoadHField

func LoadHField(e *Engine)

Loads the "H" quantity if it is not already present.

func LoadKappa

func LoadKappa(e *Engine, name string)

Loads the "Q" quantity if it is not already present.

func LoadLLBar

func LoadLLBar(e *Engine)

func LoadLLBarLocal00NCArgs

func LoadLLBarLocal00NCArgs(e *Engine, args ...Arguments)

func LoadLLBarLocal02C

func LoadLLBarLocal02C(e *Engine)

func LoadLLBarLocal02NCArgs

func LoadLLBarLocal02NCArgs(e *Engine, args ...Arguments)

func LoadLLBarNonlocal00NC

func LoadLLBarNonlocal00NC(e *Engine)

func LoadLLBarTorque

func LoadLLBarTorque(e *Engine)

func LoadLTM

func LoadLTM(e *Engine)

func LoadLongFieldArgs

func LoadLongFieldArgs(e *Engine, args ...Arguments)

func LoadMFAParams

func LoadMFAParams(e *Engine)

Loads the "Q" quantity if it is not already present.

func LoadMMEFArgs

func LoadMMEFArgs(e *Engine, args ...Arguments)

func LoadMaxTorqueArgs

func LoadMaxTorqueArgs(e *Engine, args ...Arguments)

func LoadNorm

func LoadNorm(e *Engine, args ...Arguments)

func LoadQ

func LoadQ(e *Engine, name string)

Loads the "Q" quantity if it is not already present.

func LoadQEspat

func LoadQEspat(e *Engine)

func LoadQLspat

func LoadQLspat(e *Engine)

func LoadQSspat

func LoadQSspat(e *Engine)

func LoadQinter

func LoadQinter(e *Engine, fName string, TiName string, TjName string, GijName string)

func LoadQspat

func LoadQspat(e *Engine, tName string, fName string, cName string)

func LoadSL

func LoadSL(e *Engine)

func LoadSTM

func LoadSTM(e *Engine)

func LoadTM

func LoadTM(e *Engine, tName string, fName string, rName string, cName string)

func LoadTemp

func LoadTemp(e *Engine, name string)

Load the temperature for 1TM model and other dependencies

func LoadTempSum

func LoadTempSum(e *Engine)

func LoadTsArgs

func LoadTsArgs(e *Engine, args ...Arguments)

func LoadZeeman

func LoadZeeman(e *Engine)

func MatrixSymmetry

func MatrixSymmetry(matrix *host.Array) int

Detects matrix symmetry. returns NOSYMMETRY, SYMMETRIC, ANTISYMMETRIC

func NewAnizBrownUpdater

func NewAnizBrownUpdater(htherm, therm_seed, cutoff_dt, T, mu, msat0T0 *Quant) Updater

func NewEnergyUpdater

func NewEnergyUpdater(result, w, m, H, msat *Quant, weight float64) Updater

Types

type AnizBrownUpdater

type AnizBrownUpdater struct {
	T *Quant
	// contains filtered or unexported fields
}

Updates the thermal field

func (*AnizBrownUpdater) Update

func (u *AnizBrownUpdater) Update()

Updates H_therm

type BFieldUpdater

type BFieldUpdater struct {
}

Updates the E field in a single convolution taking into account all possible sources.

func (*BFieldUpdater) Update

func (u *BFieldUpdater) Update()

type BrillouinUpdater

type BrillouinUpdater struct {
	T, Tc, J *Quant
	// contains filtered or unexported fields
}

func (*BrillouinUpdater) Update

func (u *BrillouinUpdater) Update()

type CeDrudeUpdater

type CeDrudeUpdater struct {
	Ce, T *Quant
	// contains filtered or unexported fields
}

func (*CeDrudeUpdater) Update

func (u *CeDrudeUpdater) Update()

type CpDebyeUpdater

type CpDebyeUpdater struct {
	Cp, T, Td *Quant
	// contains filtered or unexported fields
}

func (*CpDebyeUpdater) Update

func (u *CpDebyeUpdater) Update()

type DFUpdater

type DFUpdater struct {
	Qmagn *Quant

	Heff *Quant
	R    *Quant
	// contains filtered or unexported fields
}

func (*DFUpdater) Update

func (u *DFUpdater) Update()

type EFUpdater

type EFUpdater struct {
	J  *Quant
	Tc *Quant

	R *Quant
	// contains filtered or unexported fields
}

func (*EFUpdater) Update

func (u *EFUpdater) Update()

type EnergyUpdater

type EnergyUpdater struct {
	*SumReduceUpdater

	H *Quant
	// contains filtered or unexported fields
}

func (*EnergyUpdater) Update

func (u *EnergyUpdater) Update()

type LLBarLocal00NCUpdater

type LLBarLocal00NCUpdater struct {
	H *Quant
	// contains filtered or unexported fields
}

func (*LLBarLocal00NCUpdater) Update

func (u *LLBarLocal00NCUpdater) Update()

type LLBarLocal02CUpdater

type LLBarLocal02CUpdater struct {
	// contains filtered or unexported fields
}

func (*LLBarLocal02CUpdater) Update

func (u *LLBarLocal02CUpdater) Update()

type LLBarLocal02NCUpdater

type LLBarLocal02NCUpdater struct {
	H *Quant
	// contains filtered or unexported fields
}

func (*LLBarLocal02NCUpdater) Update

func (u *LLBarLocal02NCUpdater) Update()

type LLBarNonlocal00NCUpdater

type LLBarNonlocal00NCUpdater struct {
	// contains filtered or unexported fields
}

func (*LLBarNonlocal00NCUpdater) Update

func (u *LLBarNonlocal00NCUpdater) Update()

type LLBarTorqueUpdater

type LLBarTorqueUpdater struct {
	// contains filtered or unexported fields
}

func (*LLBarTorqueUpdater) Update

func (u *LLBarTorqueUpdater) Update()

type LongFieldUpdater

type LongFieldUpdater struct {
	J, Hlf, Tc, T *Quant
	// contains filtered or unexported fields
}

func (*LongFieldUpdater) Update

func (u *LongFieldUpdater) Update()

type MMEFUpdater

type MMEFUpdater struct {
	Qmm *Quant

	R *Quant
	// contains filtered or unexported fields
}

func (*MMEFUpdater) Update

func (u *MMEFUpdater) Update()

type MaxwellPlan

type MaxwellPlan struct {
	M *gpu.Array

	B *Quant
	// contains filtered or unexported fields
}

Full Maxwell Electromagnetic field solver. TODO: magnetic charge gives H, not B, need M

func (*MaxwellPlan) EnableDemag

func (plan *MaxwellPlan) EnableDemag(m, msat0T0 *Quant)

Enable Demagnetizing field

func (*MaxwellPlan) ForwardFFT

func (plan *MaxwellPlan) ForwardFFT(in *gpu.Array)
INTERNAL

Sparse transform all 3 components. (FFTPlan knows about zero padding etc)

func (*MaxwellPlan) Free

func (plan *MaxwellPlan) Free()

func (*MaxwellPlan) InverseFFT

func (plan *MaxwellPlan) InverseFFT(out *gpu.Array)
INTERNAL

Sparse backtransform (FFTPlan knows about zero padding etc)

func (*MaxwellPlan) LoadKernel

func (plan *MaxwellPlan) LoadKernel(kernel *host.Array, matsymm int, realness int)

// Loads a sub-kernel at position pos in the 3x3 global kernel matrix. // The symmetry and real/imaginary/complex properties are taken into account to reduce storage.

func (*MaxwellPlan) UpdateB

func (plan *MaxwellPlan) UpdateB()

Calculate the magnetic field plan.B

type NormUpdater

type NormUpdater struct {
	// contains filtered or unexported fields
}

func (*NormUpdater) Update

func (u *NormUpdater) Update()

type QinterUpdater

type QinterUpdater struct {
	Qinter, Ti, Tj, Gij *Quant
}

func (*QinterUpdater) Update

func (u *QinterUpdater) Update()

type QspatUpdater

type QspatUpdater struct {
	Qspat, T *Quant
	// contains filtered or unexported fields
}

func (*QspatUpdater) Update

func (u *QspatUpdater) Update()

type TSumUpdater

type TSumUpdater struct {
	T, Te, Tl, R *Quant
	// contains filtered or unexported fields
}

func (*TSumUpdater) Update

func (u *TSumUpdater) Update()

type TsUpdater

type TsUpdater struct {
	Ts, Tc, J *Quant
	// contains filtered or unexported fields
}

func (*TsUpdater) Update

func (u *TsUpdater) Update()

type UniaxialAnisUpdater

type UniaxialAnisUpdater struct {
	// contains filtered or unexported fields
}

func (*UniaxialAnisUpdater) Update

func (u *UniaxialAnisUpdater) Update()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL