package
0.0.0-20250215161537-52257d049256
Repository: https://github.com/davidkleiven/gopf.git
Documentation: pkg.go.dev
# Functions
ApplyModalFilter applies the filter f in-place to data.
Build constructs the right-hand-side of an equation based on a string representation.
ConcreteTerm returns a function representing the passed term.
CreateXDMF returns a new instance of XDMF.
DefaultNonLinSolver returns the default non-linear solver used in Implicit Euler.
DerivedFieldCalcFromDesc returns a derived field calculator based on its description (e.g.
GetFieldName returns the field name of a term.
GetNonLinearFieldExpressions returns constructions that must be FFT separateley.
GetPower returns the power from a string.
Indicator is the indicator functions used to distinguish the two phases.
IndicatorDeriv is the derivative of the indicator function.
LoadCSV loads data from CSV file and returns an array of fields.
LoadFloat64 loads an array of float64 encoded as binary data it is assumed that the it is stored with BigEndian.
NewConservativeNoise returns an instance of ConservativeNoise with a correctly initialized UniquePrefix which is used to identify derived fields associated with the conservative noise.
NewDefaultNegativeValuePenalty returns a new constraint type using the parameters from
Chan, P.Y., Goldenfeld, N.
NewField initializes a new field.
NewFloat64IO returns a new Float64IO.
NewHomogeneousModolus initializes a new instance of the linear elasticity model.
NewModel returns a new model.
NewPointMonitor returns a new instance of PointMonitor.
NewScalar returns a new scalar value.
NewSDD initializes a new SDD struct.
NewSolver initializes a new solver.
NewSource returns a new source instance.
NewSquareGradient returns a new instance of square gradient.
NewUint8IO returns a new Uint8IO instance.
NewVandeven constructs a new vanden filter of the passed order.
NewVolumeConservingLP returns a new instance of the volume conserving LP.
RealPartAsUint8 return the real part of the field as uint8.
SaveCsv stores data to a csv file.
SaveFloat64 writes a float sice to a binary file.
SortFactors sorts the factors in an expression in alphabetical order The passed string is splitted on * and then the resulting slice is sorted.
SplitOnMany splits a string on several delimiters.
ValidName returns true if the parser knows how to parse it.
WriteXDMF creates a xdmf file that can be used by paraview.
# Structs
Advection is a type that is used to build.
BoundTransform is a type that maps variables on the real-line (-inf, inf) into the interval (Min, Max).
BrickPlaceholder is struct that is used as a brick, in case no brick is specified.
ChargeTransport implements a term corresponding to the rate of change of local charge density in an electric field.
ConservativeNoise adds noise in a such a way that the field it is added to is conserved.
CsvData is a type that can be used to store data to a CSV file Name will be placed as header.
CsvIO writes data to text csv text files.
DerivedField is a type that is derived from Fields via multiplications and power operations.
DivGrad is a type used to represent the term Div F(c)Grad <field>.
Euler performs semi-implicit euler method.
ExplicitPairCorrelationTerm implement the pair correlation function, but the construct method returns the expression corresponding to an explicit treatment of the term in the PDE.
Field is a type that is used to represent a field in the context of phase field models.
FieldDB is a type used for storing field data in a SQl database.
Float64IO stores the fields as raw binary files using BigEndian.
GradientCalculator calculates the gradient of a field.
HomogeneousModulusLinElast is a type that is used in phase field models where the elastic constants are homogeneous throughout the domain.
IdealMixtureTerm implements the ideal mixture model used in the paper by Greenwood et al.
ImplicitEuler performs a full implicit euler method.
LaplacianN is a type used for the Laplacian operator raised to some power.
Model is a type used to represent a general set of equations.
NegativeValuePenalty is a an explicit term that adds a penalty for negative values.
PairCorrlationTerm implements the functional deriviative with respect to Q of the functional ** ** A * * g[Q] = - --- * dr Q(r) * dr' C(|r - r'|)Q(r') 2 * * ** ** where C(|r-r'|) is a pair correlation function.
A PointMonitor is a monitor that monitors the solution at a given pixel/voxel.
RealAmplitudeIterator iterates over all frequencies that has a real fourier amplitude when the input signal has a real amplitude.
RHS is a struct used to represent the "right-hand-side" of a set of ODE.
RK4 implements the fourth order Runge-Kutta scheme.
Scalar represents a scalar value.
SDD implements Shrinking-Dimer-Dynamics.
SDDMonitor is a type that is used to monitor the progress of the SDD stepper.
SDDTimeConstants is a struct for storing time-constants for the additional equations used in SDD.
Solver is a type used to solve phase field equations.
Source is structure used to add source terms to an equation.
SpectralViscosity implements the spectral viscosity method proposed in Tadmor, E., 1989.
SquaredGradient an be used for terms that has a gradient raised to second power (e.g (grad u)^2, where u is a field).
SubStringDelimiter is a type that represents a substring as well as the delimiter preceeding it in the string it was extracted from.
TensorialHessian is a type used to represent the term K_ij d^2c/dx_idx_j (sum of i and j).
Uint8IO is a struct used to store fields as uint8.
UniqueFreqIterator is an iterator that can be used to iterate over all the unique frequencies of the fourier transform of a real-valued function.
Vandeven implements the family of filters described in Vandeven, H., 1991.
VolumeConservingLP is a term that can be added to a PDE such that the volume averaged integral of a field is zero.
WeightedLaplacian is a type used to represent terms of the form F(c) LAP <field>, where F is a function of all the fields.
WhiteNoise is a type that can be used to add white noise to a model if Y(x, t) is a noise term, the correlation function is defined by <Y(x, t)Y(x', t')> = 2*Strength*delta(x-x')delta(t-t') (e.g.
XDMF represents the domain attribute in paraview xdmf format.
XDMFAttribute is type used to represent the attribute item in paraview xdmf format.
XDMFDataItem is a type used to represent the data item in paraview xdmf format.
XDMFDomain represent domain attribute in paraview xdmf format.
XDMFGeometry is a structure used to represent eh Geometry item in paraview xdmf format.
XDMFGrid is used to represent the grid structure in paraview xdmf format.
XDMFTime is used to represent the time attribute in paraview xfdmf format.
XDMFTopology is a type used to represent the Topology item in paraview xdmf format.
# Interfaces
Brick is a generic interface to terms in a PDE.
FourierTransform is a type used to represent fourier transforms.
MixedTerm is a type that can be used to represents terms that have both a linear part and a non-linear part.
ModalFilter is a generic interface for modal filters.
Monitor is a generic interface monitor structures.
PureTerm is an interface that can be used to add special terms to a PDE that cannot easily be defined via a string representation.
TimeStepper is a generic interface for a the time stepper types.
# Type aliases
DerivedFieldCalc is a function that calculates the derived field.
DiffOp is a differential operator.
DisplacementGetter is a functon that type that returns the displacement, when given fourier transformed body forces (force), a corresponding frequency getter and a set elasticity tensor.
Frequency is a function that returned the frequency at position i.
GenericFunction is a generic function that may depend on any of the fields.
RHSModifier is a function type used to modify the right hand side prior to adding it.
SolverCB is function type that can be added to the solver it is executed after each iteration.
Sources is a type used to represent many sources.
Term is generic function type that evaluates the right hand side of a set of ODE used to evolve the phase fields.
TimeDepSource is a generic interface for functions that can be used as sources.