diff --git a/src/ML-UF3/uf3_bspline_basis2.cpp b/src/ML-UF3/uf3_bspline_basis2.cpp index 7c16ab79d0..bb73e07970 100644 --- a/src/ML-UF3/uf3_bspline_basis2.cpp +++ b/src/ML-UF3/uf3_bspline_basis2.cpp @@ -36,9 +36,12 @@ uf3_bspline_basis2::uf3_bspline_basis2(LAMMPS *ulmp, const double *knots, double (square(knots[0]) - knots[0] * knots[1] - knots[0] * knots[2] + knots[1] * knots[2])); c2 = coefficient * (1.0 / (square(knots[0]) - knots[0] * knots[1] - knots[0] * knots[2] + knots[1] * knots[2])); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + constants[0] = c0; + constants[1] = c1; + constants[2] = c2; c0 = coefficient * (-knots[1] * knots[3] / (square(knots[1]) - knots[1] * knots[2] - knots[1] * knots[3] + knots[2] * knots[3]) - @@ -56,9 +59,12 @@ uf3_bspline_basis2::uf3_bspline_basis2(LAMMPS *ulmp, const double *knots, double c2 = coefficient * (-1.0 / (square(knots[1]) - knots[1] * knots[2] - knots[1] * knots[3] + knots[2] * knots[3]) - 1.0 / (knots[0] * knots[1] - knots[0] * knots[2] - knots[1] * knots[2] + square(knots[2]))); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + constants[3] = c0; + constants[4] = c1; + constants[5] = c2; c0 = coefficient * (square(knots[3]) / (knots[1] * knots[2] - knots[1] * knots[3] - knots[2] * knots[3] + square(knots[3]))); @@ -67,9 +73,12 @@ uf3_bspline_basis2::uf3_bspline_basis2(LAMMPS *ulmp, const double *knots, double (knots[1] * knots[2] - knots[1] * knots[3] - knots[2] * knots[3] + square(knots[3]))); c2 = coefficient * (1.0 / (knots[1] * knots[2] - knots[1] * knots[3] - knots[2] * knots[3] + square(knots[3]))); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + constants[6] = c0; + constants[7] = c1; + constants[8] = c2; } uf3_bspline_basis2::~uf3_bspline_basis2() {} @@ -96,7 +105,7 @@ double uf3_bspline_basis2::memory_usage() { double bytes = 0; - bytes += (double)constants.size()*sizeof(double); + bytes += (double)9*sizeof(double); return bytes; } diff --git a/src/ML-UF3/uf3_bspline_basis2.h b/src/ML-UF3/uf3_bspline_basis2.h index 90c6166f8c..b577e0c92a 100644 --- a/src/ML-UF3/uf3_bspline_basis2.h +++ b/src/ML-UF3/uf3_bspline_basis2.h @@ -28,7 +28,8 @@ class uf3_bspline_basis2 { public: uf3_bspline_basis2(LAMMPS *ulmp, const double *knots, double coefficient); ~uf3_bspline_basis2(); - std::vector constants; + //std::vector constants; + double constants[9] = {}; double eval0(double, double); double eval1(double, double); double eval2(double, double); diff --git a/src/ML-UF3/uf3_bspline_basis3.cpp b/src/ML-UF3/uf3_bspline_basis3.cpp index 3ed256777b..b2c7aa2acb 100644 --- a/src/ML-UF3/uf3_bspline_basis3.cpp +++ b/src/ML-UF3/uf3_bspline_basis3.cpp @@ -53,10 +53,14 @@ uf3_bspline_basis3::uf3_bspline_basis3(LAMMPS *ulmp, const double *knots, double square(knots[0]) * knots[3] - knots[0] * knots[1] * knots[2] - knots[0] * knots[1] * knots[3] - knots[0] * knots[2] * knots[3] + knots[1] * knots[2] * knots[3])); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); - constants.push_back(c3); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + //constants.push_back(c3); + constants[0] = c0; + constants[1] = c1; + constants[2] = c2; + constants[3] = c3; c0 = coefficient * (square(knots[1]) * knots[4] / (-cube(knots[1]) + square(knots[1]) * knots[2] + square(knots[1]) * knots[3] + @@ -161,10 +165,14 @@ uf3_bspline_basis3::uf3_bspline_basis3(LAMMPS *ulmp, const double *knots, double knots[0] * knots[1] * knots[3] - knots[0] * knots[2] * knots[3] + square(knots[1]) * knots[3] - knots[1] * knots[2] * knots[3] - knots[1] * square(knots[3]) + knots[2] * square(knots[3]))); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); - constants.push_back(c3); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + //constants.push_back(c3); + constants[4] = c0; + constants[5] = c1; + constants[6] = c2; + constants[7] = c3; c0 = coefficient * (-knots[0] * square(knots[3]) / (-knots[0] * knots[1] * knots[2] + knots[0] * knots[1] * knots[3] + @@ -269,10 +277,14 @@ uf3_bspline_basis3::uf3_bspline_basis3(LAMMPS *ulmp, const double *knots, double knots[1] * knots[2] * knots[4] - knots[1] * knots[3] * knots[4] + square(knots[2]) * knots[4] - knots[2] * knots[3] * knots[4] - knots[2] * square(knots[4]) + knots[3] * square(knots[4]))); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); - constants.push_back(c3); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + //constants.push_back(c3); + constants[8] = c0; + constants[9] = c1; + constants[10] = c2; + constants[11] = c3; c0 = coefficient * (cube(knots[4]) / (-knots[1] * knots[2] * knots[3] + knots[1] * knots[2] * knots[4] + @@ -297,10 +309,14 @@ uf3_bspline_basis3::uf3_bspline_basis3(LAMMPS *ulmp, const double *knots, double knots[1] * knots[3] * knots[4] - knots[1] * square(knots[4]) + knots[2] * knots[3] * knots[4] - knots[2] * square(knots[4]) - knots[3] * square(knots[4]) + cube(knots[4]))); - constants.push_back(c0); - constants.push_back(c1); - constants.push_back(c2); - constants.push_back(c3); + //constants.push_back(c0); + //constants.push_back(c1); + //constants.push_back(c2); + //constants.push_back(c3); + constants[12] = c0; + constants[13] = c1; + constants[14] = c2; + constants[15] = c3; } uf3_bspline_basis3::~uf3_bspline_basis3() {} @@ -333,7 +349,7 @@ double uf3_bspline_basis3::memory_usage() { double bytes = 0; - bytes += (double)constants.size()*sizeof(double); + bytes += (double)16*sizeof(double); return bytes; } diff --git a/src/ML-UF3/uf3_bspline_basis3.h b/src/ML-UF3/uf3_bspline_basis3.h index 099a2302c7..70e1bbd2aa 100644 --- a/src/ML-UF3/uf3_bspline_basis3.h +++ b/src/ML-UF3/uf3_bspline_basis3.h @@ -29,7 +29,7 @@ class uf3_bspline_basis3 { public: uf3_bspline_basis3(LAMMPS *ulmp, const double *knots, double coefficient); ~uf3_bspline_basis3(); - std::vector constants; + double constants[16] = {}; double eval0(double, double, double); double eval1(double, double, double); double eval2(double, double, double);