• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

NREL / SolTrace / 18544749821

15 Oct 2025 10:47PM UTC coverage: 89.946% (+45.8%) from 44.166%
18544749821

push

github

web-flow
Restructured backend for SolTrace (#63)

* Initial API for refactored SolTrace

* Updates to various APIs; first pass at element/ray source container implementation

* Use existing matrix-vector code as backend for matrix and vector classes; start implementing APIs

* Created new test on power tower example file with 50000 rays. Changed CMake to use cpp 17.

* Added ground results csv to new folder in google-tests directory

* Removed register prefix from variables in mtrand.h. More errors to come.

* Removed lines in CMakeLists causing linux failure, fixed bug in power tower test

* Created parabola.stinput test and a test using powertower optimization on the powertower sample

* Commented out parabola test for now, added nonexistent branch to CI to see how it runs

* Fixed syntax error

* Changed tests based on PR feedback

* Fixed error in CMakeLists that caused failure on windows

* Removed output messages from st_sim_run_test

* Fixed silly mistake in previous commit

* Added comments and removed unused libraries

* Changed naming conventions of tests

* Added high flux solar furnace test changes, changed parabola test file name

* Fixed typo

* Move refactored data to its own directory; add to refactored classes to build

* Add missed files

* Add unit tests for basic linear algebra and container template

* More tests; Start implementation of composite element

* Add more unit tests on element

* Add missed headers

* Remove target from cmake build command in CI

* Initial virtual element implementation; smoke test for virtual element

* Correct aperture spelling; add tests for virtual elements

* Add some unit tests for simulation data

* Move to static library for simulation data (temporary); update cmake files to get correct mac architecture

* Attempt to fix coverage failure

* Attempt to capture inline functions in code coverage; add a few more explicit tests

* Fix build

* Separate storage of CompositeElement and SingleElement; update te... (continued)

4357 of 4844 new or added lines in 62 files covered. (89.95%)

4357 of 4844 relevant lines covered (89.95%)

8565975.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.67
/coretrace/simulation_data/surface.cpp
1

2
#include "surface.hpp"
3

4
#include <vector>
5

6
namespace SolTrace::Data {
7

8
surface_ptr make_surface_from_type(SurfaceType type, const std::vector<double> &args)
6,330✔
9
{
10
    surface_ptr retval = nullptr;
6,330✔
11
    unsigned nargs = args.size();
6,330✔
12

13
    switch (type)
6,330✔
14
    {
15
    case CONE:
3✔
16
        retval = nargs < 1 ? nullptr : make_surface<Cone>(args[0]);
3✔
17
        break;
3✔
18
    case CYLINDER:
4✔
19
        retval = nargs < 1 ? nullptr : make_surface<Cylinder>(1.0 / args[0]);
4✔
20
        break;
4✔
21
    case FLAT:
3✔
22
        retval = make_surface<Flat>();
3✔
23
        break;
3✔
24
    case PARABOLA:
6,287✔
25
    {
26
        if (nargs < 2)
6,287✔
27
            retval = nullptr;
2✔
28
        else
29
        {
30
            double cx = args[0];
6,285✔
31
            double cy = args[1];
6,285✔
32
            double fx = 1.0 / (2.0 * cx);
6,285✔
33
            double fy = 1.0 / (2.0 * cy);
6,285✔
34
            retval = make_surface<Parabola>(fx, fy);
6,285✔
35
        }
36
        break;
6,287✔
37
    } 
38
    case SPHERE:
29✔
39
        retval = nargs < 1 ? nullptr : make_surface<Sphere>(args[0]);
29✔
40
        break;
29✔
41
    case HYPER:
4✔
42
    case GENERAL_SPENCER_MURTY:
43
    case TORUS:
44
    default:
45
        retval = nullptr; // Not implemented yet
4✔
46
        break;
4✔
47
    }
48

49
    return retval;
6,330✔
NEW
50
}
×
51

52
} // namespace SolTrace::Data
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc