phase-field-modeling-ferroelectrics

Phase field simulations of ferroelectrics using FFT.

https://github.com/durdiev15/phase-field-modeling-ferroelectrics

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Phase field simulations of ferroelectrics using FFT.

Basic Info
  • Host: GitHub
  • Owner: durdiev15
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.83 MB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Phase Field Simulations of Ferroelectrics

Overview

This repository contains Python codes for phase field simulations of ferroelectrics. The phase field method is employed to model the evolution of polarization domains in ferroelectric materials. The Fourier spectral method has been used to solve the piezoelectric and polarization equations. For more details, refer to https://doi.org/10.1016/j.commatsci.2022.111928.

Project Structure

Code Stucture

  • main.py: The main file executed to run the simulation. It contains simulation parameters and imports the evolve_polarization module.

  • evolve_polarization.py: Contains the polarization evolution function. Imports modules for parameters, piezoelectric and strain tensor calculation, energy calculation, Fourier frequency calculation, VTK file writing, Greens function calculation, and piezoelectricity solver.

  • parameters.py: Stores all material parameters used in the simulation.

  • piezostraintensor.py: Calculates the piezoelectric and spontaneous strain tensor and its derivative.

  • energy.py: Calculates bulk energy and its derivative.

  • fourier_frequency.py: Calculates Fourier frequencies.

  • write_vtk.py: Provides functionality to write simulation results to VTK files in 3D.

  • greens_function.py: Calculates the Green's function in Fourier space.

  • solver.py: Solves the piezoelectric constitutive and balance equations.

Usage

To run the simulation, execute main.py and customize the parameters as needed.

Result

This is the domain evolution in 3D starting from the initial random polarization leading to the 90° domain wall. GIF Example

Owner

  • Name: Dilshod Durdiev
  • Login: durdiev15
  • Kind: user
  • Location: Fuerth
  • Company: FAU Erlangen-Nuremberg

PhD researcher in computational materials science

Citation (CITATION.cff)

cff-version: 1.0.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Durdiev
    given-names: Dilshod
    orcid: https://orcid.org/0000-0002-3835-2461
title: "An effective Fourier spectral phase-field approach for ferroelectric materials"
version: 1.0.0
identifiers:
  - type: doi
    value: 10.1016/j.commatsci.2022.111928
date-released: 2023-02-05

GitHub Events

Total
  • Issues event: 3
  • Watch event: 4
  • Issue comment event: 3
  • Push event: 2
  • Create event: 1
Last Year
  • Issues event: 3
  • Watch event: 4
  • Issue comment event: 3
  • Push event: 2
  • Create event: 1