Category FiPy: Documentation, Examples & Development
Monte Carlo UQ Methods: Latin Hypercube, Sobol, and Quasi-Monte Carlo
Reading Time: 10 minutesDeep-dive on Latin Hypercube Sampling, Sobol sequences, and Quasi-Monte Carlo methods for scientific simulations. Learn theory, Python implementation, and when to use each.
Polynomial Chaos Expansions: Fast Surrogates for Uncertainty Propagation
Reading Time: 11 minutesPolynomial chaos expansion is a surrogate modeling technique that replaces an expensive simulation with a series of orthogonal polynomials whose coefficients can be used to estimate uncertainty directly. Once fitted, a PCE surrogate gives you analytical access to output means, variances, confidence intervals, and Sobol sensitivity indices without running a single additional simulation. This article […]
Domain Decomposition for Parallel PDE Solvers: Additive Schwarz, Overlapping Methods, and Python Implementation
Reading Time: 10 minutesTL;DR — What You Need to Know Domain decomposition splits a simulation grid into overlapping subdomains so each MPI rank can solve its local piece independently. Additive Schwarz (ASM) is the simplest form — you solve locally and add corrections. It works great for small subdomain counts but fails at scale. Restricted Additive Schwarz (RAS) […]
Conservation Properties in Discretization: Ensuring Mass and Energy Balance
Reading Time: 10 minutesTL;DR Local conservation is guaranteed by FVM flux consistency; FEM and DG must design fluxes carefully. First-order upwind adds artificial viscosity — at CFL = 1, it vanishes, a surprising result most practitioners miss. MOOSE’s RDG(P0P1) with flux limiting reduces numerical diffusion by over 80% compared to full upwinding. Skew-symmetric formulations conserve kinetic energy by […]
Adaptive Time Stepping for PDE Solvers: Error Estimation and CFL
Reading Time: 3 minutesAdaptive time stepping dynamically adjusts Δt based on estimated error. Learn embedded RK pairs, BDF error estimation, CFL constraints, and FiPy implementation.
Discontinuous Galerkin Method Tutorial: Derivation, Fluxes, and Python Implementation
Reading Time: 9 minutesStep-by-step derivation of the discontinuous Galerkin method, numerical flux comparison, and a complete 1D implementation in Python. Learn when DG outperforms FVM and continuous FEM.
How FiPy Handles Meshes and Grid Structures
Reading Time: 10 minutesFiPy is a Python-based framework for solving partial differential equations with the finite volume method. It is commonly used for diffusion, heat transfer, phase-field modeling, electrochemistry, fluid-related transport, and other problems that can be expressed through conservation equations. Every FiPy simulation begins with a mesh. The mesh defines the physical domain, divides it into control […]
Multi-Physics Code Coupling Without preCICE: Alternatives and Custom Approaches
Reading Time: 8 minutesWhen you work with multi-physics simulations, you often need to couple two or more specialized solvers so they exchange data during computation. preCICE is a mature open-source coupling library for partitioned multi-physics simulations, especially when connecting independent solvers such as FiPy, OpenFOAM, or CalculiX. But preCICE is not always an option. You may work in […]
Periodic, Symmetric, and Robin Boundary Conditions: Advanced FiPy Patterns
Reading Time: 8 minutesKey Takeaways Periodic boundaries in FiPy are most cleanly implemented with PeriodicGrid objects or Gmsh periodic mesh commands rather than manual face coupling. Symmetric boundaries are zero-flux Neumann conditions applied to symmetry planes. They are not a separate FiPy category, but a physical use of standard boundary condition patterns. Robin boundaries combine value and flux […]
The Scientific Python Ecosystem: Navigating SciPy, NumPy, SymPy, and Beyond
Reading Time: 8 minutesKey Takeaways NumPy is the foundation. It provides fast multidimensional arrays and the operations that most scientific Python libraries build on. SciPy sits on NumPy and provides high-level scientific routines, including optimization, integration, interpolation, linear algebra, and statistics. SymPy is pure Python and supports symbolic math, including exact algebra, calculus, and equation solving. Matplotlib, IPython, […]