Commit Graph

90 Commits

Author SHA1 Message Date
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
Alex Lin
fcb63e0e06 Output "--" if that was specified in the header file.
Used the mods field in the attributes to indicate of "--" was specified in the header file.  We
still save the units as "1" to keep it compatible with udunits.  When outputting the variable
in data recording or variable server we check to see if the mods field for "--" is set.  We
output "--" if the mods field is set.  Also allowed "--" to persist in data products.

refs #254
2016-06-21 16:12:28 -05:00
Alex Lin
d9f1780939 exec_get_current_version returns string out of scope
Changed Trick::Executive::get_current_version to return a const reference
to the string that holds the version.  This avoids a copy of the string object
and avoids that object going out of scope.  As a string, the debug_command
had the same problem so I fixed that one as well.

refs #252
2016-06-21 16:03:15 -05:00
Alex Lin
fb4601734f Need to include SimTime.hh for ICG and swig processing.
Added the sim time header files to files_to_ICG.hh and sim_services.i so it will be processed.

refs #247
2016-06-15 16:11:09 -05:00
John M. Penn
7ae371c72e Include stddef.h in integrator_c_intf.h. Refs #249 2016-06-10 15:46:10 -05:00
Alex Lin
a95e8e086b Use udunits package for units conversions
Copied the units_conv.c from 15 that includes the new units to master.

Swept through the code removing includes to Unit.hh and UCF.h where they
are no longer needed.  Remade makefile dependencies.

refs #231
2016-05-17 09:01:37 -05:00
Alex Lin
7e218a0472 Use udunits package for units conversions
Change the Variable Server to use udunits.

refs #231
2016-05-16 17:14:50 -05:00
Alex Lin
ee8f07469e Use udunits package for units conversions
Changed the files in our math utilities to use the udunits symbols

refs #231
2016-05-11 16:20:44 -05:00
Alex Lin
26cb44e946 Use udunits package for units conversions
So our unit tests did their job, they pointed to quite a few errors.
Fixed them all on my platform (CentOS 7).

refs #231
2016-05-11 09:01:54 -05:00
Alex Lin
d72aa59fdd Use udunits package for units conversions
Converted data products to use udunits.

refs #231
2016-05-10 14:45:31 -05:00
Alex Lin
6defa99b34 Use udunits package for units conversions
Changed the include for udunits to #include <udunits2.h> to work
on all platforms.  Added the include directory /usr/include/udunits2
for Linux.

refs #231
2016-05-09 10:23:19 -05:00
Alex Lin
4f3ef64002 Use udunits package for units conversions
Changed the handling of how we handle doubles and ints allowing
more mathematical operations like multiplication, division, and
some limited exponentiation.

refs #231
2016-05-09 08:36:43 -05:00