Error-correcting neural networks for three-dimensional mean-curvature computation in the level-set method
By Luis Ángel Larios-Cárdenas and Frédéric Gibou, Computer Science and Mechanical Engineering Departments, University of California, Santa Barabara
Tuesday, August 9, 2022
This is the accompanying repository for our paper
"Machine learning algorithms for three-dimensional mean-curvature computation in the level-set method".
You may also check out the preceding paper and its GitHub repository
for the two-dimensional case.
To prepare the environment, take a look at the requirements.txt
file. The neural networks trained for each resolution
are organized under the models/η/#
folder, where #
is
either non-saddle
or saddle
. Furthermore,
k_nnet.h5
: TensorFlow/Keras model inHDF5
format (with detached optimizer).k_nnet.json
: Our customJSON
version of the neural network with hidden-layer weights encoded inBase64
but decoded asASCII
text. The"output"
key refers to the last hidden layer. It does not include the aditive neuron.k_pca_scaler.pkl
: PCA scaler stored inpickle
format.k_pca_scaler.json
:JSON
version of PCA scaler with plain-valued parameters.k_std_scaler.pkl
: Standard scaler inpickle
format.k_std_scaler.json
:JSON
version of standard scaler with plain-valued parameters.
We have included sample surface data under the data/
folder for the grid resolution with python/evaluating.py
script. To try different experiments, see the multiline strings prefixed with TODO:
. You
will collect the results from executing python/evaluating.py
in the results/
directory
Note: these data sets include 6 samples per interface node. For non-saddle samples, we have already applied negative-mean-curvature
normalization but left their curvature data (i.e., hk
(ihk
(h2kg
(ih2kg
(
Please reach out to Luis Ángel with further questions and/or concerns. We can share the training data sets upon reasonable request as they are quite large. Thanks!