Phase Field library in Go using a spectral solver. Go to the webpage to see examples.
Features
Spectral solver using FFTW to perform fourier transformes
Supports 2D and 3D simulation domains
Rich catalog with example applications. Some selected cases are explained in detail on our webpage
Supports user defined terms/functions and equations
Wide collection of ready-to-go terms (Khachaturyan elastic theory, white noise, volume conserving noise, Vandeven filters, pair correlation functions and many more)
Flexible storage formats (SQL database, csv files, raw binary with XDMF)
Command Line Interface (CLI) for interacting with the SQL database
CLI for rapid production of contour plots of CSV files in case of 2D calculations
Database For Phase Field Simulations
GOPF has support for storing collections of simulations in one SQLite database. This can be useful
if there are many simulations that are related (e.g. parameter sweeps). All simulations stored
in one DB must have the same domain size. The GOPF database supports
Descriptive comments for each simulation (can changed from the CLI)
Each simulation is given a timestamp when it starts
Arbitrary numeric and/or string attributes
Store all field data
Store timeseries of user programmable function
Export timeseries and field data to CSV files (useful if a third-party program is used for analysis)
For further information on the schema and example see the database example.
Typical Flow of a GOPF Program
Register fields, equations and required custom functions in a model
The fields should be populated with their initial value before they are
registered
Pass the model to a solver.
Register custom callbacks (or some of the ones shipped with GOPF)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.