This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Initial condition generator for drop/bubble contact line simulations using Basilisk CFD. Creates smooth interface geometries for a drop/bubble touching a flat wall with a fillet transition at the contact point.
Compile the Basilisk C code:
qcc -O2 -Wall InitialCondition.c -o InitialCondition -lmRun the Python generator:
python generate_initial_condition.py --delta 0.01
python generate_initial_condition.py --delta 0.01 --images
python generate_initial_condition.py --delta 0.01 --images --basilisk --L0 3- Python (CLI/Jupyter): Generates interface coordinates using
get_circles(delta) - Data file: Coordinates saved to
f_Testing.dat(space-separated x,y pairs) - Basilisk C:
InitialCondition.creads the data file and creates volume fraction field
delta: Neck radius / minimum length scale (separation = 2*delta)
The interface consists of three connected segments:
- Circle 1 (orange): Main drop, radius 1, centered at (-(1+delta), 0)
- Fillet circle (red): Smooth transition at contact, computed radius Rf
- Vertical line (blue): Wall contact extending upward from fillet
DataFiles_delta{value}/
f_init.dat # Interface: circle + fillet + vertical line
f-drop_init.dat # Full drop circle (for filling)
ImageFiles_delta{value}/
TestWithoutBasilisk.pdf # Pure geometry visualization
TestWithBasilisk.pdf # Comparison with Basilisk facets
f_Testing.dat # Working file for Basilisk input (root, gitignored)
f_facets.dat # Basilisk facets output (root, gitignored)
numpy, matplotlib, pandasRequires LaTeX for plot labels (plt.rc('text', usetex=True)).
#include "axi.h" // Axisymmetric coordinates
#include "fractions.h" // Volume fraction computation
#include "distance.h" // Signed distance function
#include "navier-stokes/centered.h"generate_initial_condition.py: CLI script for batch generationInitialCondition.ipynb: Interactive notebook for developmentInitialCondition.c: Basilisk C code for CFD validationDataFiles_delta*/: Organized data outputs by delta valueImageFiles_delta*/: Organized image outputs by delta value