Commit Graph

1689 Commits

Author SHA1 Message Date
nateh7
94526e4d35
Trick Smoothed Particle Hydrodynamics (TSPH) Sim README (#1175)
* Create base simulation file/directory structure

* Create particle class in a Trick header file

* Create Fluid class with simulation initialization and update jobs in Trick header

* Create S_define for SIM_fluid

* Create S_overrides.mk for SIM_fluid

* Change Particle to a struct and initialize pos, velocity, and force arrays in constructor

* Store particles as an std::vector instead of an array

* Implement default_data method and dummy update_SPH for Fluid.cpp

* Add core CUDA SPH simulation code to Trick simulation

* Copy CPU-based SPH fluid sim code to Trick src directory

* Remove all code involving rigid body simulation

* Modify updateSPH routine to use CPU-based routines rather than GPU-based routines

* Temporarily comment out neighbor list logic

* Replace use of glm::vec3 with float[3] in sph.cpp and sph.h

* Move simulation parameters from sph.h to Trick Fluid.hh

* Remove particle struct and function prototypes from sph.h

* Move core simulation routines from sph.cpp to Fluid.cpp

* Remove neighbor list comments from Fluid.cpp

* Remove extraneous initSPH function

* Add calls to core simulation routines in Fluid::update_SPH()

* Refactor core simulation functions into private member functions of the Fluid class

* Remove static qualifier from simulation parameters in Fluid.hh

* Include <cmath> and use std scope resolution operater on pow

* Comment out isnan check in computeForces for now

* Initialize p_start and p_end in update_SPH

* Remove const qualifier from simulation paramters in Fluid class

* Remove n_particles member variable from Fluid class

* Create runtime.py to enable real-time synchronization and sim control panel

* Create input.py to exec realtime.py and limit simulation time

* Create simple python variable server client to unit test connection by accessing VISC member of fluid

* Create unit test to see if particle position is being updated correctly

* Create pointer to particles vector data for use in variable client

* Implement simple 2D GUI in order to render a single fluid particle

* Temporarily comment out unit tests

* Support 2D rendering of multiple particles in python variable client

* Scale size of simulation GUI based on BOUND variable from Trick variable server

* Comment out trick.stop(5) temporarily

* Set default value of BOUND to 400

* Fix sideways rendering bug by indexing field 1 position earlier

* Start variable server client from input.py rather than from command line

* Determine number of particles to render based on value of NUM_PARTICLES from Trick Variable Server. Also added TODO for correctly indexing into field.

* Reduce number of particles for 2D simulation

* Add CUDA runtime library flag and include directories

* Rename .cu/.cuh files to .cpp/.h

* Add sph_gpu.o as a library dependency of Fluid.cpp and call updateSPH_GPU in update_SPH

* Successfully compile and link Trick with CUDA in S_overrides.mk

* Call CUDA wrapper callVectorAdd() in update_SPH() to test Trick compilation/linking

* Create vectorAdd.cu to test CUDA kernel with Trick

* Change sph_gpu to a .cu file

* Pass pointer to Fluid object into updateSPH_GPU in order to access fluid parameters on GPU

* Refactor comptueDensityAndPressureGPU to use float[3] and fluid pointer to access sim parameters

* Refactor computeForcesGPU to use float[3] and fluid pointer to access sim parameters

* Refactor timeIntegrationGPU to use float[3] and fluid pointer to access sim parameters

* Refactor verletUpdatePosition to use float[3] and fluid pointer to access sim parameters

* Add base code for OpenGL particle renderer and TCP socket communication

* Create .gitignore(s) and delete built files

* Replace char* with char[] to remove warnings

* Receive and parse number of particles and particle positions

* Move connection initialization to stupComm

* Move TCP client to graphics folder and use it within OpenGL particle renderer

* Render particle position data from Trick

* Distinguish between trick and custom client

* Attempt to fix variable server client freezing

* Create input file that doesn't launch python VSC

* Remove extraneous call to initSPH

* Modify number of particles to 2048

* Create .gitignore for sim

* Create FluidServer class header

* Add Trick Header to FluidServer.hh and add clientfd member to FluidServer

* Send simple message from FluidServer in Trick to custom_client.cpp via TCP

* Add FluidServer to S_define

* Delete client directory

* Send particle data on initialization and decrease frequency of sendParticleData scheduled job

* Implement sendParticleData() to stream particle positions to client

* Implement client to receive particle position data from custom TCP fluid server

* Use custom_client interface in particle renderer of Trick variable server client

* Pass fluid pointer as parameter to FluidServer::sendParticleData(Fluid* fluid)

* Remove sim binary

* Remove TCP client usage from OpenGL particle renderer

* Rename particle renderer main.cc to opengl.cc

* Create openGLCaller, which spawns a thread that handles the OpenGL particle rendering

* Change openGLCaller signature

* Remove FluidServer usage from S_define

* Add make targets to OpenGL particle renderer source files and include OpenGL libraries in S_overrides.mk

* Temporarily set argc and argv in openGLCaller and change signature of openGLCaller

* Rename Particle to ParticleGL in sph.cpp and sph.h to avoid naming conflicts

* Hard code .obj file name in openGLMain rather than passing it as a command line arg

* Call openGLCaller inside of Fluid::default_data()

* Fix compilation bug with g++ and add .o files to nvcc device linking and TRICK_USER_LINK_LIBS

* Add 100_sphere.obj to root sim directory

* Pass pointer to Fluid object to openGLMain

* Make getParticlePositions() member function public

* Update particle positions with data from Trick sim

* Remove usage of Trickless SPH sim

* Include .o files in .gitignore

* Remove glm folder from repo

* Ignore local glm folder in .gitignore

* Copy Marching Cubes lookup tables from Cory Bloyd's implementation

* Create simple shaders to render the fluid mesh

* Create GridCell struct to store the isoValues and vertices of each voxel for Marching Cubes

* Add Trickless SPH sim back temporarily to test Marching Cubes functionality

* Implement generateCellMesh similar to Polygonise from Paul Borke
's 'Polygonising a Scalar Field'

* Implement vertex isovalue interpolation

* Create marching_cubes.h

* Modify OpenGL program to render fluid mesh rather than particles

* Create prototypes for updateIsoValues and initializeGridCells

* Implement function to initialize vector of GridCell structs

* Implement function to update isoValues of each vertex in each GridCell. (currently setting each isoValue to distance from origin)

* Support triangle indexing for more than one GridCell and do quick fix for interpolation bug

* Initialize and update both SPH particles and isoValues in grid for Marching Cubes

* Control OpenGL graphics refresh rate via usleep

* Set isoValues for vertices equal to distance from origin in order to demonstrate expanding sphere

* Fix bug with mesh vertex and face data failing to update

* Reduce number of particles to speed up sim testing

* Fix bug where only a quarter of vertex positions update

* Make particle depth greater than one to test marching cubes behavior for 3D fluid

* Redefine isoValues of gridCells to have a value equal to the number of particles within a given radius of the grid cell vertex

* Successfully update fluid mesh in response to particle positions

* Add spatial grid member and prototypes for neighbor list methods in Fluid header

* Implement buildSpatialGrid which assigns each particle to a grid cell

* Implement getCandidateNeighbors, which returns a vector of all particles within a given grid cell and up to its 26 neighboring cells

* Implement Marching Cubes isoValue update on the GPU

* Use GPU implementation of isoValue update

* Include files with build commands

* Write code for unoptimized GPU neighborlist in comments

* Add constants for spatial grid in Fluid.hh

* Use neighbor list in computeForces and computeDensityAndPressure procedures

* Keep count of the number of timesteps simulated for use in the marching cubes update

* Remove trickless SPH from unit testing

* Use Trick SPH particle data to update mesh from marching cubes

* Modify S_overrides.mk to compile and link files from Marching Cubes implementation

* Remove extraneous include

* Remove debugging code from opengl.cc

* Add back OpenGL program to render particles

* Implement ability to toggle between fluid mesh and particle modes

* Reverse surface normal direction for fluid mesh

* Add directory variables to S_overrides.mk

* Remove comment from S_overrides.mk

* Remove unused files

* Cleanup commented code

* Cleanup includes and remove unused variable

* Move marching cubes parameters to Fluid class

* Create variables to toggle GPU mode and neighbor list

* Fix malloc to include null terminated character of string and call free in loadObj

* Remove graphics window title

* Add GPU sim support for a number of particles that is not a multiple of NUM_THREADS

* Create initial conditions to demo

* Rename .cc files to .cpp

* Perform major structural refactoring on opengl.cpp

* Create refreshRate and mcUpdateFreq members in Fluid class

* Credit tables to Cory Bloyd

* Add Paul Bourke attribution

* Replace extern usage with header files

* Rename input files

* Remove unused Particle.cpp

* Move sphere models and move model file path to Fluid class

* Replace marching cubes triangle construction while loop with for loop

Co-authored-by: Scott Fennell <spfennell@gmail.com>

* Condense MC logic using loops

* Remove deprecated FluidServer from master

* Fix memory leak in iso_values.cu

* Change environment specific path to relative path in launch_vsc.py

* Write comment and TODO for CPU isoValue update code

* Add comments for demos and reduce usage of magic numbers in input.py

* Add enum for demos and fix concentric circle demo bug

* Fix style in input.py

* Replace scheduled job with flag for SPH initialization with initialization job

* Add shutdown job to free memory used by CUDA

* Add newlines to the end of files

* Delete deprecated FluidServer.cpp

* Add basic README for sim

Co-authored-by: Scott Fennell <spfennell@gmail.com>
2021-08-13 18:26:44 -05:00
nateh7
e537f2bae4
Trick Smoothed Particle Hydrodynamics (TSPH) (#1170)
* Create base simulation file/directory structure

* Create particle class in a Trick header file

* Create Fluid class with simulation initialization and update jobs in Trick header

* Create S_define for SIM_fluid

* Create S_overrides.mk for SIM_fluid

* Change Particle to a struct and initialize pos, velocity, and force arrays in constructor

* Store particles as an std::vector instead of an array

* Implement default_data method and dummy update_SPH for Fluid.cpp

* Add core CUDA SPH simulation code to Trick simulation

* Copy CPU-based SPH fluid sim code to Trick src directory

* Remove all code involving rigid body simulation

* Modify updateSPH routine to use CPU-based routines rather than GPU-based routines

* Temporarily comment out neighbor list logic

* Replace use of glm::vec3 with float[3] in sph.cpp and sph.h

* Move simulation parameters from sph.h to Trick Fluid.hh

* Remove particle struct and function prototypes from sph.h

* Move core simulation routines from sph.cpp to Fluid.cpp

* Remove neighbor list comments from Fluid.cpp

* Remove extraneous initSPH function

* Add calls to core simulation routines in Fluid::update_SPH()

* Refactor core simulation functions into private member functions of the Fluid class

* Remove static qualifier from simulation parameters in Fluid.hh

* Include <cmath> and use std scope resolution operater on pow

* Comment out isnan check in computeForces for now

* Initialize p_start and p_end in update_SPH

* Remove const qualifier from simulation paramters in Fluid class

* Remove n_particles member variable from Fluid class

* Create runtime.py to enable real-time synchronization and sim control panel

* Create input.py to exec realtime.py and limit simulation time

* Create simple python variable server client to unit test connection by accessing VISC member of fluid

* Create unit test to see if particle position is being updated correctly

* Create pointer to particles vector data for use in variable client

* Implement simple 2D GUI in order to render a single fluid particle

* Temporarily comment out unit tests

* Support 2D rendering of multiple particles in python variable client

* Scale size of simulation GUI based on BOUND variable from Trick variable server

* Comment out trick.stop(5) temporarily

* Set default value of BOUND to 400

* Fix sideways rendering bug by indexing field 1 position earlier

* Start variable server client from input.py rather than from command line

* Determine number of particles to render based on value of NUM_PARTICLES from Trick Variable Server. Also added TODO for correctly indexing into field.

* Reduce number of particles for 2D simulation

* Add CUDA runtime library flag and include directories

* Rename .cu/.cuh files to .cpp/.h

* Add sph_gpu.o as a library dependency of Fluid.cpp and call updateSPH_GPU in update_SPH

* Successfully compile and link Trick with CUDA in S_overrides.mk

* Call CUDA wrapper callVectorAdd() in update_SPH() to test Trick compilation/linking

* Create vectorAdd.cu to test CUDA kernel with Trick

* Change sph_gpu to a .cu file

* Pass pointer to Fluid object into updateSPH_GPU in order to access fluid parameters on GPU

* Refactor comptueDensityAndPressureGPU to use float[3] and fluid pointer to access sim parameters

* Refactor computeForcesGPU to use float[3] and fluid pointer to access sim parameters

* Refactor timeIntegrationGPU to use float[3] and fluid pointer to access sim parameters

* Refactor verletUpdatePosition to use float[3] and fluid pointer to access sim parameters

* Add base code for OpenGL particle renderer and TCP socket communication

* Create .gitignore(s) and delete built files

* Replace char* with char[] to remove warnings

* Receive and parse number of particles and particle positions

* Move connection initialization to stupComm

* Move TCP client to graphics folder and use it within OpenGL particle renderer

* Render particle position data from Trick

* Distinguish between trick and custom client

* Attempt to fix variable server client freezing

* Create input file that doesn't launch python VSC

* Remove extraneous call to initSPH

* Modify number of particles to 2048

* Create .gitignore for sim

* Create FluidServer class header

* Add Trick Header to FluidServer.hh and add clientfd member to FluidServer

* Send simple message from FluidServer in Trick to custom_client.cpp via TCP

* Add FluidServer to S_define

* Delete client directory

* Send particle data on initialization and decrease frequency of sendParticleData scheduled job

* Implement sendParticleData() to stream particle positions to client

* Implement client to receive particle position data from custom TCP fluid server

* Use custom_client interface in particle renderer of Trick variable server client

* Pass fluid pointer as parameter to FluidServer::sendParticleData(Fluid* fluid)

* Remove sim binary

* Remove TCP client usage from OpenGL particle renderer

* Rename particle renderer main.cc to opengl.cc

* Create openGLCaller, which spawns a thread that handles the OpenGL particle rendering

* Change openGLCaller signature

* Remove FluidServer usage from S_define

* Add make targets to OpenGL particle renderer source files and include OpenGL libraries in S_overrides.mk

* Temporarily set argc and argv in openGLCaller and change signature of openGLCaller

* Rename Particle to ParticleGL in sph.cpp and sph.h to avoid naming conflicts

* Hard code .obj file name in openGLMain rather than passing it as a command line arg

* Call openGLCaller inside of Fluid::default_data()

* Fix compilation bug with g++ and add .o files to nvcc device linking and TRICK_USER_LINK_LIBS

* Add 100_sphere.obj to root sim directory

* Pass pointer to Fluid object to openGLMain

* Make getParticlePositions() member function public

* Update particle positions with data from Trick sim

* Remove usage of Trickless SPH sim

* Include .o files in .gitignore

* Remove glm folder from repo

* Ignore local glm folder in .gitignore

* Copy Marching Cubes lookup tables from Cory Bloyd's implementation

* Create simple shaders to render the fluid mesh

* Create GridCell struct to store the isoValues and vertices of each voxel for Marching Cubes

* Add Trickless SPH sim back temporarily to test Marching Cubes functionality

* Implement generateCellMesh similar to Polygonise from Paul Borke
's 'Polygonising a Scalar Field'

* Implement vertex isovalue interpolation

* Create marching_cubes.h

* Modify OpenGL program to render fluid mesh rather than particles

* Create prototypes for updateIsoValues and initializeGridCells

* Implement function to initialize vector of GridCell structs

* Implement function to update isoValues of each vertex in each GridCell. (currently setting each isoValue to distance from origin)

* Support triangle indexing for more than one GridCell and do quick fix for interpolation bug

* Initialize and update both SPH particles and isoValues in grid for Marching Cubes

* Control OpenGL graphics refresh rate via usleep

* Set isoValues for vertices equal to distance from origin in order to demonstrate expanding sphere

* Fix bug with mesh vertex and face data failing to update

* Reduce number of particles to speed up sim testing

* Fix bug where only a quarter of vertex positions update

* Make particle depth greater than one to test marching cubes behavior for 3D fluid

* Redefine isoValues of gridCells to have a value equal to the number of particles within a given radius of the grid cell vertex

* Successfully update fluid mesh in response to particle positions

* Add spatial grid member and prototypes for neighbor list methods in Fluid header

* Implement buildSpatialGrid which assigns each particle to a grid cell

* Implement getCandidateNeighbors, which returns a vector of all particles within a given grid cell and up to its 26 neighboring cells

* Implement Marching Cubes isoValue update on the GPU

* Use GPU implementation of isoValue update

* Include files with build commands

* Write code for unoptimized GPU neighborlist in comments

* Add constants for spatial grid in Fluid.hh

* Use neighbor list in computeForces and computeDensityAndPressure procedures

* Keep count of the number of timesteps simulated for use in the marching cubes update

* Remove trickless SPH from unit testing

* Use Trick SPH particle data to update mesh from marching cubes

* Modify S_overrides.mk to compile and link files from Marching Cubes implementation

* Remove extraneous include

* Remove debugging code from opengl.cc

* Add back OpenGL program to render particles

* Implement ability to toggle between fluid mesh and particle modes

* Reverse surface normal direction for fluid mesh

* Add directory variables to S_overrides.mk

* Remove comment from S_overrides.mk

* Remove unused files

* Cleanup commented code

* Cleanup includes and remove unused variable

* Move marching cubes parameters to Fluid class

* Create variables to toggle GPU mode and neighbor list

* Fix malloc to include null terminated character of string and call free in loadObj

* Remove graphics window title

* Add GPU sim support for a number of particles that is not a multiple of NUM_THREADS

* Create initial conditions to demo

* Rename .cc files to .cpp

* Perform major structural refactoring on opengl.cpp

* Create refreshRate and mcUpdateFreq members in Fluid class

* Credit tables to Cory Bloyd

* Add Paul Bourke attribution

* Replace extern usage with header files

* Rename input files

* Remove unused Particle.cpp

* Move sphere models and move model file path to Fluid class

* Replace marching cubes triangle construction while loop with for loop

Co-authored-by: Scott Fennell <spfennell@gmail.com>

* Condense MC logic using loops

* Remove deprecated FluidServer from master

* Fix memory leak in iso_values.cu

* Change environment specific path to relative path in launch_vsc.py

* Write comment and TODO for CPU isoValue update code

* Add comments for demos and reduce usage of magic numbers in input.py

* Add enum for demos and fix concentric circle demo bug

* Fix style in input.py

* Replace scheduled job with flag for SPH initialization with initialization job

* Add shutdown job to free memory used by CUDA

* Add newlines to the end of files

* Delete deprecated FluidServer.cpp

Co-authored-by: Scott Fennell <spfennell@gmail.com>
2021-08-13 11:15:04 -05:00
Scott Fennell
f6ce855683
#1171 2021-08-05 11:57:54 -05:00
Scott Fennell
49da752089
Trick offline instructions closes #1171 2021-08-05 11:55:26 -05:00
Penn, John M 047828115
db45886625 Clock spin test can't assume code performance on an arbitrary machine. #87 2021-08-04 10:51:52 -05:00
Penn, John M 047828115
0825b32118 Up the allowance for time difference in GetTimeOfDayClock_test spin test. #87 2021-08-02 12:25:31 -05:00
Penn, John M 047828115
93b683540d Fix GetTimeOfDayClock_test for race condition. #87 2021-08-02 11:49:39 -05:00
Penn, John M 047828115
0b823bb6f2 Remove BC635Clock.hh and TPROCTEClock.hh from sim_services.i #87 2021-08-02 03:03:32 -05:00
Penn, John M 047828115
838a2fcc4c Remove BC635Clock.hh and TPROCTEClock.hh from files_to_ICG.hh. #87 2021-08-02 02:02:25 -05:00
Penn, John M 047828115
cd17e00787 Delete BC635Clock.hh and TPROCTEClock.hh. #87 2021-08-02 01:32:33 -05:00
Penn, John M 047828115
6df675c7ee Remove deprecated Clocks and unit tests, and update Trick::Clock documentation. #87 2021-08-02 00:40:55 -05:00
Penn, John M 047828115
0e0f4f4365 Fix broken link in TutVariableServer.md 2021-08-01 22:17:40 -05:00
Scott Fennell
88ac5b5990
Update Integrator.md 2021-07-07 12:00:15 -05:00
Scott Fennell
4db5935a2e
Update Integrator.md
change Integrator to IntegLoop
2021-07-07 11:58:55 -05:00
Penn, John M 047828115
0e646e9792 Make ball_ensemble_collision.c compatible with ancient Centos 7 C compiler. 2021-07-01 21:18:37 -05:00
Penn, John M 047828115
35a2c91c86 Fix SIM_ball_L3 by integrating an ensemble state. #725 2021-06-30 11:44:58 -05:00
ddj116
c88faa04df
Merge pull request #1160 from nasa/1159-robustify-yaml-parsing
Robustify YAML config file validation
2021-06-29 09:06:54 -05:00
Dan Jordan
0be5f72e35 Robustify YAML config file validation, enhance unit tests
* Fixed run path/too/deep duplication logic
* Add more unit testing to cover edge cases in the YAML file
* Unify type checking to reduce code duplication
* Empty sections like run: are still ignored but now produce an error
  to remind the user to clean them up.
* Make get_sims() work with labels=None
* Test SIMs within deep directory structures to exercise pathing logic
* Add test for invalid sim path: syntax

Refs #1159
2021-06-25 16:02:12 -05:00
Fennell, Scott P 263712616
68cf81736c Trick 19.4.0 Pre-release ver no 2021-06-23 11:49:41 -05:00
Fennell, Scott P 263712616
15534f7f56 Trick Release 19.3.0 2021-06-23 11:39:47 -05:00
dependabot[bot]
2f51afe197
Bump pdfbox from 2.0.15 to 2.0.24 in /trick_source/java (#1162)
Bumps pdfbox from 2.0.15 to 2.0.24.

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:pdfbox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-23 11:33:57 -05:00
Scott Fennell
d6bdd35f5e
separate perl generated top level objects from icg generated class information #1127 (#1161)
closes #1127 
Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2021-06-14 13:50:32 -05:00
dbankieris
ac159c3edc
Merge pull request #1157 from nasa/create-link-list-files-for-Trickification
Create link_list files for Trickification
2021-06-02 16:08:46 -05:00
Derek Bankieris
9b7e18af15 Create link_list files for Trickification
ICG and make_makefile_swig create py_link_list and io_link_list files
listing the files to be linked during sim builds. Trickified projects
require slightly altered lists.

Fixes #1155
2021-06-02 13:56:21 -05:00
Scott Fennell
a88f38b55c
Fix unit test name (RankineToCelsius)
Co-authored-by: Tobias Nießen <tniessen@users.noreply.github.com>
2021-06-01 13:26:21 -05:00
Scott Fennell
c0794733b7
update macOS install instructions to use llvm 11 (for now)
#1152
2021-05-27 11:44:38 -05:00
Scott Fennell
ddadc48ed8
Update test_linux.yml 2021-05-26 23:15:57 -05:00
Matas Lauzadis
7008e8bac7
Fix some typos in documentation (#1128)
* Fix typo

* typos, grammar
2021-05-26 22:14:42 -05:00
Keith Vetter
832fc4e8a7
Fix compiler shadow warning for issue #1141 (#1150)
closes #1141 

If you use the -Wshadow flag, there are few compiler warnings
for shadowing. You can recreate with the Ball L1 sim:

    % vi S_overrides.mk
    TRICK_CFLAGS += -Wshadow -I../models
    TRICK_CXXFLAGS += -Wshadow -I../models
    % trick-CP
    ...

    In file included from build/S_source.cpp:3:0:
    build/../S_source.hh: In member function ‘void EventManagerSimObject::create_thread_process_event()’:
    build/../S_source.hh:425:23: warning: declaration of ‘name’ shadows a member of 'this' [-Wshadow]
    char* name = strdup(oss.str().c_str()) ;

To fix the S_source* generated code, it is just a
matter of changing default_trick_sys.sm.
2021-05-26 22:13:31 -05:00
Scott Fennell
acdc60050c
change c_intf ref_attributes param to const char ptr, remove casts from calls to function in trick (#1135)
closes #1129 

Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2021-05-26 22:12:02 -05:00
Scott Fennell
77c761016c
exclude docs and other workflows from trickops 2021-05-26 22:07:56 -05:00
Scott Fennell
5acd8dd4b4
Update test_macos.yml 2021-05-26 22:01:10 -05:00
Scott Fennell
0ec1f80945
add pull request to linux tests 2021-05-26 22:00:38 -05:00
Scott Fennell
55b6310b9f
add pull request to 32 bit tests 2021-05-26 21:59:18 -05:00
Scott Fennell
d42b26131c
disable fedora in github actions 2021-05-26 21:56:59 -05:00
Scott Fennell
d88779cfd1
downgrade llvm to 11 in github actions 2021-05-26 21:56:22 -05:00
Penn, John M 047828115
38852427c1 Fix section headers in Data-Record.md. #1149 2021-05-24 14:18:29 -05:00
Penn, John M 047828115
20ad17dfab Update DRBinary Format documentation. #1149 2021-05-24 13:58:52 -05:00
Penn, John M 047828115
1b7a2f6f37 Correct Variable-Server documentation regarding the responce of var_exists. #1126 2021-05-20 14:46:15 -05:00
Penn, John M 047828115
5c35cf2b1f Merge branch 'master' of https://github.com/nasa/trick 2021-05-20 12:56:33 -05:00
Penn, John M 047828115
1e9c88dd0e Fix Minor Typos in Variable Server tutorial. #1122 2021-05-20 12:55:54 -05:00
dbankieris
62410bb724
Merge pull request #1145 from nasa/zip-python-modules
Zip SWIG-generated python modules
2021-05-20 08:27:18 -05:00
Penn, John M 047828115
aab93a0c8b Fix links in Tutorial. #1122 2021-05-19 23:59:18 -05:00
Penn, John M 047828115
a1bce98e91 Update the Trick Tutorial to explain how to control sim modes from a variable server client. #1122 2021-05-19 23:09:49 -05:00
Scott Fennell
520e0343d1
update docs 2021-05-19 22:16:45 -05:00
Derek Bankieris
2c06ae6eaf Rename SIM_*/trick to SIM_*/.trick
Hide the non-zipped Python modules to indicate to users that changing
them will have no effect on the sim.

Refs #1144
2021-05-19 17:33:13 -05:00
Derek Bankieris
8d314fa1b1 Zip SWIG-generated python modules
Closes #1144
2021-05-19 17:23:33 -05:00
ddj116
1d9ea79107
Introducing TrickOps - An Extensible Sim Testing Framework (#1130)
* Introducing TrickOps - An Extensible Sim Testing Framework

Features:

* Multiple simultaneous sim builds, runs, file vs. file comparisons,
  arbitrary post-run analyses, valgrind of runs
* Real-time progress bars for sim builds and runs
* Exit code management lets users easily define success & failure
* Failed comparisons can optionally generate koviz error reports

See share/trick/trickops/README.md for details

* Add GitHub Actions Workflow for TrickOps for Ubuntu:20.04 & CentOS latest

* Adds python unit and doc tests to github actions for push / pull requests
  for Ubuntu:20.04 and CentOS 8:latest. MacOS still forthcoming.
* Also updates documentation with TrickOps information
* Remove duplicate / overwriting SIM_ definitions in ExampleWorkflow.py

* Address Code Review / Discussion

* Reduce set of sims tested in ExampleWorkflow.py to stable set
* Add ExampleWorkflow.py to GitHub Actions
* Clarify documentation and add image of TrickOps in action
* Error/Ignore valgrind entries in YAML file if platform == darwin

* Fix run.compare() logic error and add unit test to cover it

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2021-05-03 14:39:20 -05:00
Scott Fennell
b4d76559eb
edit call to setLangOpts in icg main.cpp to support llvm-12 interface #1138 (#1139)
closes #1138
2021-04-30 11:15:38 -05:00
Penn, John M 047828115
edcacba00f Give trick-dre the capability to expand arrayed variables like trick-tv. #381 2021-04-29 14:29:18 -05:00