151 Commits

Author SHA1 Message Date
Alex Lin
2db059679b
Merge pull request #590 from abrogley/unit-test-return-code
Unit test exit code
2018-04-12 08:47:44 -05:00
Alex Lin
8938c3b7b2 Clang no longer supports -Wno-unused-but-set-variable #600
Removed the compile time flag.
2018-04-12 08:41:25 -05:00
jmpenn
9d7ba05c76
Implement Event condition and action lists as array of ptrs to objects rather than contiguous arrays. ref #587 (#597) 2018-04-10 17:17:21 -05:00
Scott Fennell
af6727408c Limit log file size (#594)
* #585 create new method to set max file size for DataRecordGroups.  Needs testing and DRD interface function

* #585 dre implementation and other improvements, needs more work

* #585 update dre, add intf for drd max size functions. Still requires better comments, wiki updates, some refactoring, and testing

* #585 refactor trick-dre

* format trick-dre

* improve readability of dre output for set_max_file_size
2018-04-10 16:02:44 -05:00
Aaron Brogley
fb6babd07f Adding comment above write_output() to be complete. 2018-03-28 10:09:46 -05:00
Aaron Brogley
0d7a082b2f Adding Trick Unit Test return code functionality. 2018-03-28 10:09:22 -05:00
David Hammen
7779dc568b Compile clean with clang++ -Wdocumentation.
I made a number of changes to Trick to make it compile clean with
clang++ -Wdocumentation, which checks doxygen comments. The changes
were either to comments or to parameter names in function declarations.
None of the changes have any impact on the compiled code.
2018-03-28 09:44:23 -05:00
John M. Penn
c7d95da9a8 Implement function to generate a transformation matrix to rotate a vector to new a new orientation. Ref #582 2018-03-19 18:10:04 -05:00
Derek Bankieris
6d6d3189e3 Add units_conv.h to files_to_ICG.hh
Fixes #575
2018-03-05 15:03:27 -06:00
Alex Lin
d97f482219 Allow the FrameLog class to use a different clock #571
Added a clock reference that to the FrameLog class that defaults
to the GetTimeOfDay clock.  This clock has fast access and is
non intrusive to real-time operations using a different clock.

Added a function to set the clock to something else if desired.
2018-02-28 17:33:09 -06:00
John M. Penn
4f0093ddd6 Created a function function to calculate transform using Rodrigues formula. Ref #567 2018-02-27 18:24:40 -06:00
Alex Lin
15bfd75b32 Don't resize active event array size with every operation #562
Started the active event allocation at 100 events.  If more are needed, we
add 100 allocations each time.  The array is never reduced in size if
events are deleted, events are moved to the front of the array and the
remaining elements are set to NULL.
2018-02-14 17:28:21 -06:00
Pappy Van Winkle
d7e8d48a8a Creating additional C-interface routines for UnitTest. #511 2018-02-03 19:56:08 -06:00
Alex Lin
27d18f07f3 Some of Trick's unit conversions have too many significant digits #557
Our constants.h file has the same problem, some units have too many
significant digits.  Truncated some of the values.
2018-02-02 15:10:56 -06:00
Alex Lin
8f76605f3b Create Message client that writes to screen on a separate thread #553
Created a new message class that will copy incoming messages to a
buffer area.  The buffer area is pre allocated during simulation
initialization.  On a separate thread the buffer area is written
to std::cout.
2018-01-25 15:59:19 -06:00
Alex Lin
403621c139 Pointers to STLs cannot be checkpointed. #552
sometimes the TMM allocate routines fail.  I added error checking
to stop a core dump.  More investigation is needed to determine
why the allocation is failing.
2018-01-25 13:25:29 -06:00
Alex Lin
5285f1a72e Symbolic links rise again #530
Found more places where symbolic links cause havoc.  Also added back a #define
that was removed in parameter_types.h and added back the messaging routines to
the list swig processes.
2017-12-12 10:17:24 -06:00
Christopher LaChance
0a90c11541 Implemented a fix for multiple concurrent file handles. 2017-10-27 14:35:54 -05:00
Christopher LaChance
f81d7b0c16 Swapped line read in to std::getline(). 2017-10-16 12:56:45 -05:00
Christopher LaChance
1efedefdf7 Added additional variable information to the Monte_Runs data file. 2017-10-10 11:12:33 -05:00
Alex Lin
de012dde71 Feature request: Support checkpointing and logging of std::array #480
Added std::array as an STL type Trick recognizes.  We can now create io code
that can save and restore std::arrays like std::vectors and other similar
types. Like other STL types, an std::array cannot be logged or viewed in
trick-tv.
2017-09-27 16:01:52 -05:00
Thadeus Fleming
bf2759c5c0 Remove deprecated dynamic exception specifiers.
Resolves #461
2017-07-28 20:49:42 -05:00
Christopher LaChance
34cc3ae8e5 Removed default_port_flag and socket_init. 2017-06-16 15:20:04 -05:00
John M. Penn
9e8dd6c41c Change file name from char* to const char* in euler tranformation matrix functions. Ref #423 2017-05-15 14:02:01 -05:00
John M. Penn
4d1c3eae4f A Trick headers to include files without headers. Ref #403 2017-04-20 13:26:47 -05:00
Alex Lin
dce161ad94 Suppress units conversion messages in input file. #414
Added a routine to shoot_the_units_conversion_messenger.
2017-04-20 11:34:50 -05:00
Antoine Gaulin
c099620c09 Align both M_PI and M_PI_2 values.
Its easier to read this way.
2017-03-30 10:02:58 -04:00
John M. Penn
a7039aea61 Create va_list versions of Integrator state load and unload member functions. Ref #401 2017-03-28 17:55:27 -05:00
Derek Bankieris
80ab0767e2 Combine command and data sockets in Monte Carlo
Refs #396
2017-03-23 12:22:40 -05:00
Derek Bankieris
47847a8aef Add ability to pass options to slave sims
Refs #395
2017-03-20 10:46:10 -05:00
John M. Penn
aab6ce3c9e Ooops! Typo in macro. Ref #385 2017-03-03 18:33:53 -06:00
John M. Penn
86add82e35 Fix MxSCALAR macro to allow scalar parameter to be an expression. Ref #385 2017-02-24 17:26:08 -06:00
John M. Penn
d19374020d Update matrix_macros.h with MxMxV macro. ref #385 2017-02-23 17:48:59 -06:00
Alex Lin
a909c6400a duplicate include guards #379
Changed the include guard in PythonPrint.hh
2017-01-24 10:00:40 -06:00
Derek Bankieris
d72a09fef7 Add ability to clear all variables from a DR group
Don't let "sys.exec.out.time" be removed

Refs #350
2016-11-29 13:38:32 -06:00
Derek Bankieris
d859ac8453 Add funciton to remove all data record groups
Refs #350
2016-11-29 11:47:10 -06:00
Derek Bankieris
ac3360e87f Add ability to remove variable from data recording
For the record, I'd like to point out that many of the DataRecordGroup
functions shouldn't be called after init, but we don't prevent anyone
from doing so. Bad Trick!

Refs #350
2016-11-18 08:53:24 -06:00
Michael Vetter
18f0d7e871 Remove trailing whitespaces
Makes it easier to edit the files. So if we press 'end of line' we are
really at the end of line.
2016-11-08 10:25:07 +01:00
Alex Lin
f1cbacd646 ICG exclude of class member variables now defines incorrect memory offsets in io_src #311
This changes back the default behavior to not use offsetof in io_src code.
Added a flag to ICG, -c or --compat15, to globally generate offsetof statements.
Added an ENV variable that can be used to generate offsetof statements by file or directory.
Added in a warning if classes parsed at ICG time are different in size than at runtime.
2016-10-21 13:13:43 -05:00
Derek Bankieris
4f49460a6f Clean up io_* code #330 2016-10-20 14:55:00 -05:00
Dan D. Jordan
9e0f0ba85a Added MonteVar setters where appropriate
Added set_unit mechanism to MonteVar baseclass. Added MonteVar's derived
classes setters where appropriate to facilitate changing inputs after
the instance of MonteVar has already been constructed. Fleshed out
MonteVarFile destructor to remove memory leaks.
2016-10-03 14:57:11 -05:00
Alex Lin
066554b2f7 Merge pull request #297 from ddj116/get_variable
MonteCarlo add_variable duplicate protection and get_variable functionality
2016-08-30 11:00:16 -05:00
Alex Lin
fa4664c4ea Move the loop that waits for scheduled threads to finish out of advance_sim_time #292
2 problems found.  Syncing scheduled threads was not happening at all because the job
was not being rescheduled.  Did not want to deal with changing job call times so I
called the new scheuduled_thread_sync routine from advance_sim_time.  That's where
it started, it'll be fine.

Also found that I was resetting job complete flags too aggressively.  The check to
test if the thread is ready to run was missing.  Added that check back in.
2016-08-30 10:56:18 -05:00
Dan D. Jordan
fdd442ba68 Added duplicate name protection on add_variable and get_variable
mechanism for getting MonteVar * derived types so that those dispersion
settings can be changed once they go out of scope.
2016-08-30 09:48:10 -05:00
Alex Lin
7c57c1d02d Move the loop that waits for scheduled threads to finish out of advance_sim_time #292
Created a new executive job that waits for the scheduled threads to finish.  We
run this right before advancing time.
2016-08-26 09:07:46 -05:00
Alex Lin
0072e7d6f0 Unintended performance issue with integ_loop at end of scheduled job classes #243
Created a new executive job that waits for threads to finish and readies them
for their next frame of execution.  Created a new job class system_thread_sync
after the top of frame jobs and before the input processor is run to sync the
threads.  Along the way cleaned up instrumentation jobs on the threads to fix #290.
2016-08-24 10:55:27 -05:00
Alex Lin
b2293a14ff CheckPointAgent.cpp has a noted memory leak (confirmed) and proposed optimization #232
Changed the vector to use instances of the VarNameElement instances.  Memory leak is gone.
2016-07-28 13:13:19 -05:00
Alex Lin
bc6cb589e3 Monte carlo AttributeError's caused by bad configuration still returns zero in master sim #269
The return code from parsing the monte carlo input was always set to zero and not checked.
Retured the return code from parsing the input. Added an exit if the input was not parsed
correctly.
2016-07-26 13:40:38 -05:00
Alex Lin
f90a76be6b We are redefining HOST_NAME_MAX in MonteCarlo.hh
Removed the redefinition.  Included climits and changed HOST_NAME_MAX to _POSIX_HOST_NAME_MAX
which should be defined on the systems we support.

refs #265
2016-07-06 14:56:05 -05:00
Alex Lin
4ab584ed55 Support using Python 3
Fixed the configure script to allow the user to specify using a python3
interpreter.  Had to change the the way to load the swig generated python modules.
Also had to change code dealing with python strings, oct, long, and
boolean operations.

refs #258
2016-06-28 13:44:21 -05:00