nasa / trick Goto Github PK
View Code? Open in Web Editor NEWTrick Simulation Environment. Trick provides a common set of simulation capabilities and utilities to build simulations automatically.
License: Other
Trick Simulation Environment. Trick provides a common set of simulation capabilities and utilities to build simulations automatically.
License: Other
The dry run file is written in ascii where as the values coming out of the random number generators are fed into monte carlo runs as exact binary representation of double numbers. To get these to match, we can change everything to use ascii.
By "barf", I mean that many variables available in trick_qp do not show up due to the "->" characters. This is an issue when doing frame logging.
I would like to point out that identifiers like "_ATTRIBUTES_H_
" and "_CLOCK_HH_
" do not fit to the expected naming convention of the C++ language standard.
Would you like to adjust your selection for unique names?
The problem is that TRICK_HOST_TYPE and TRICK_HOST_CPU are not defined.
Now need to include ${TRICK_HOME}/makefiles/Makefile.common
I had no problems building Trick on Fedora 21 until I ran sudo make install. The makefile is looking for er7_utils. Recommend either include er7_utils, or remove the dependency from the makefile.
Trick will not compile out of our new home here on github.
typedef struct {
int i;
} Foo;
template <class T>
class Bar {
public:
T t;
};
class Baz : public Bar<Foo> {};
// S_sie.resource
<class name="Foo">
<member
name="i"
type="int"
io_attributes="15"
units="--">
</member>
</class>
<class name="Baz">
</class>
Change log should be in markdown.
make fails with:
cp -r /usr/lib64/llvm/clang/3.4.2 lib/clang
cp: cannot stat `/usr/lib64/llvm/clang/3.4.2': No such file or directory
Centos 6.6
clang/llvm 3.4.2
The source of the error is at:
trick_source/codegen/Interface_Code_Gen/makefile: cp -r
Manually changing CLANG_LIBDIR from "/usr/lib64" to "/usr/lib" fixes the problem. The CentOS 6 yum repo puts both the 32 bit and 64 bit libraries at /usr/lib/clang/3.4.2.
When running a monte carlo set, don't delete the log files in the master run directory.
ICG does not compile using clang 3.6
Going open source is a big milestone. Increment the major release number to mark the joyous occasion.
Create rules in the makefile that will compile the er7_utils and fermi-ware directories if they exist. If they do not exist, then don't try and compile them.
Our release is going to be a tar.gz file now. This will not include a pre-build ICG. So that means everyone needs clang/llvm and we need to ensure the configure script sets that up.
Messages aren't being printed when an event fires. This worked in Trick 10. I do have the following in my input deck:
trick.set_event_info_msg_on()
Can't access fields in REGULA_FALSI structure in python.
We have some files that we should exclude from the release like the .git* files and documentation source files that are not pdfs.
There are ifdefs for DMTCP scattered throughout the code. Consolidate all of these into the DMTCP directory.
This simulation models a parachutist jumping from from a very high altitude, similar to that of Austrian daredevil Felix Baumgartner on Oct 14, 2012.
Add batch files to bring up GUIs files under Windows.... happy now?
Add the scripts that we use to package releases.
It would be handy if Trick View subclasses could save additional information to .tv files. Let's modify the framework a bit to support that.
Th Digest::MD5 module is not always installed by default on all systems. We only it use it to generate a unique file name. Using the file inode information will serve the same purpose.
The intent is create a model sim example.
Create a README file that clearly describes the simulation.
Also ensure that the code and the documentation are clear and consistent.
I'm using Fedora 21. Java 1.8.0 OpenJDK is in the Fedora 21 repository, not 1.7.0. But either way, java-1.8.0-openjdk did not install the required javac executable. I had to install java-1.8.0-openjdk-devel. Recommend updating the wiki to include supported Linux distributions and versions and confirming that java-1.7.0-openjdk package installs javac or if it requires java-1.7.0-openjdk-devel as well.
We unintentionally have overloaded time and time_0 in the ABM_Integrator class. We can safely remove the overloaded fields.
make install copies the binaries to the install directory, but trick_dp fails to file gte.pm and terminates. gte.pm is found in trick/bin/pm/gte.pm.
Centos 6.6
What is the preferred deployment method? Make install or set the path to the as built bin directory? If preferred deployment is make install, recommend adding additional steps to satisfy runtime binaries. If other method is preferred, recommend either updating the launch scripts or update installation instructions.
If there is a permission issue for writing the makefile, such as the directory has no write permission, no error is given besides "no rule to make target".
Monte Carlo dry run file cannot be used to drive monte carlo. It's supposed to be able to do this.
I have looked at a few source files for your current software. I have noticed that some checks for return codes are missing.
Would you like to add more error handling for return values from functions like the following?
If you have this
class A {
public:
int ii ;
} ;
class B : public A {
public:
int ii ;
} ;
Only B:ii will show up in the checkpoint and it will be duplicated. We need to support overloaded names.
install_user script does not determine bash, [t]csh correctly.
Data::Dumper is not always installed by default. We haven't used the module in a very long time. We should remove the dependency.
Before we became open source we have various copyright notices and header comments that are now obsolete. Also remove
The message_publish calls that were put in the MemoryManager are too invasive. Replace these calls with stream output
Remove the "thread_version" ( from back in the days of Razor) and "service_issues" which hasn't been used forever.
If you have this situation.
struct Astruct ;
typedef struct Astruct { } Bstruct ;
then io_src code for Bstruct will not be generated. People want to use the Bstruct name more than the Astruct.
Suppose that in some sim object "foo" you have an array:
double D3x3 [3][3];
and a pointer :
double (*pD3) [3];
and you point to the array like so:
pD3 = D3x3;
Although ref_attributes("foo.pD3[0]") will return the correct address,
ref_attributes("foo.pD3[1]") and ref_attributes("foo.pD3[2]") will not.
The problem is that Trick::MemoryManager::ref_dim() is not correctly calculating the sizes of the elements of an unconstrained array.
Need to add something like:
generated Makefile_swig. There is no guarantee that make will not attempt to link in compiled swig file before the standard objects deps are processed.
In preparation for v15.0.0 release.
I suggest to reuse a higher level build system than your current make file so that powerful checks for software features will become easier.
Sim will crash if a var_add command is received with a class/structure.
Using the ball sim, the sim should run for a bit and take a checkpoint. then continue for a bit, reload the checkpoint and continue to the end. The results should be the same at the end.
trick_dp should test if fxplot exists or not. If it does not it should desensitize the Fermi plot option and default to Java plotter.
The following conditions will generate a problem with the variable server restarting:
1.) User must specify a port via trick.var_server_set_port(<port_id>) in the input file
2.) Execute simulation and dump a checkpoint on machine A.
3.) ssh to machine B.
4.) Execute simulation and load the checkpoint.
Variable Server will fail with error:
ERROR: Could not establish listen port <port_id> for Variable Server. Aborting.
From this point on, any attempts to connect to the variable server will fail. however, already established connections seem to succeed.
Specifically for those in trick_algorithms
The function "fprintf" does not belong to the list of async-signal-safe functions.
Would you like to clean-up your function "protect_ip_hang"?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.