Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

Too Big, Too Small, Too O₂: The Pandoro Effect from Oxygen Gradients in Tomographic Volumetric Additive Manufacturing

Riccardo Rizzo¹†, Felix Wechsler¹†, Qianyi Zhang¹†, Christophe Moser¹


¹ Laboratory of Applied Photonics Devices, School of Engineering, École Polytechnique Fédérale de Lausanne (EPFL), Switzerland
† These authors contributed equally to this work and were alphabetically sorted.

Citation

Please cite the following publication in Biofabrication:

@article{pandoro_TVAM,
doi = {10.1088/1758-5090/ae8a84},
url = {https://doi.org/10.1088/1758-5090/ae8a84},
year = {2026},
month = {jul},
publisher = {IOP Publishing},
volume = {18},
number = {3},
pages = {035037},
author = {Rizzo, Riccardo and Wechsler, Felix and Zhang, Qianyi and Moser, Christophe},
title = {Too big, too small, too O_2: the Pandoro effect from oxygen gradients in tomographic volumetric additive manufacturing},
journal = {Biofabrication},
abstract = {Tomographic volumetric additive manufacturing (TVAM) enables rapid, layerless biofabrication; however, its application to thermoreversible hydrogels is often compromised by complex photochemical kinetics such as inhibitor effects including varying concentration and diffusion. In this study, we identify and characterize a recurrent printing artifact-termed the Pandoro effect-manifesting as a truncated-cone distortion caused by premature polymerization at the vial bottom and inhibition at the top. We demonstrate that this phenomenon originates from a vertical oxygen gradient driven by the thermal cycling of resin preparation: heating depletes dissolved oxygen, while subsequent cooling induces diffusion-limited re-oxygenation from the air–resin interface. To mitigate this, we present a multi-tiered strategy. First, we introduce a coupled ray-optical and photochemical optimization model that rigorously accounts for spatially heterogeneous inhibitor concentrations. Unlike conventional threshold-based approaches, this differentiable framework explicitly simulates the spatiotemporal reaction-diffusion dynamics of oxygen depletion, allowing the inverse solver to predictively compensate for local inhibition gradients. Complementing this algorithmic correction, we validate two process-based interventions: the elimination of the air–resin interface and the control of headspace atmosphere. We demonstrate that these strategies effectively suppress the Pandoro effect and are compatible with cell-laden resins. This work establishes guidelines for reproducible volumetric bioprinting and expands our open-source Dr.TVAM platform with inhibition-aware polymerization modeling capabilities.}
}

Base software

The following simulations make use of Dr.TVAM version 0.8.0. Please install this Python software and run this on a CUDA machine for fast optimization performance (around a few minutes optimization time).

pip install drtvam==0.8.0

Oxygen initial condition simulation

To create a 3D array with the oxygen distribution in mg/L units, call the following command where the first argument corresponds to the time in seconds (here 3600s = 60s * 60min = 1hour). The output file can be used for Dr.TVAM as initial condition. Please adapt if you are using different shapes for the sensor sizes:

cd oxygen_simulation/
python simulate_oxygen.py 3600

Optimize patterns with different initial conditions

To optimize patterns for different conditions, we are using the config file pandoro_diffusion_print.json but we change the initial conditions and the output path.

cd TVAM_config_files/
for t in 1 300 1800 3600 7200; 
do  
    python ../oxygen_simulation/simulate_oxygen.py $t; 
    drtvam pandoro_diffusion_print.json\
     -Doutput="diffusion_during_regular_sampling_new_thresholds_$t"\
     -Dphysical_model.inhibitor_init="oxygen_vol_$t.npy";
done

Run patterns in different conditions

Once we have optimized patterns for one condition, we can run them in another condition. For example, here we effectively turn off oxygen diffusion by setting a very low value (here $5e-8mm^2/s$).

drtvam pandoro_diffusion_print_fwd.json\
    --forward_mode --patterns diffusion_during_regular_sampling_no_diffusion_3600/patterns.npz\
    -Doutput=fwd_regular_sampling_no_printing_diffusion_3600/\
    -Dphysical_model.inhibitor_init=oxygen_vol_3600.npy\
    -Dphysical_model.diffusion_coefficient=5e-8

License

The following configuration files are compatible with Dr.TVAM and are only allowed to use for academic, non-commercial purposes only. See LICENSE for more details.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages