Closed A-CGray closed 1 year ago
I'll see what I can do, they don't have ESP/CAPS setup as a python package with setup.py. I may involve Marshall Galbraith in this
I guess another way to test if the correct version of CAPS is available would just be to try creating a tacsAIM inside a try-except statement
Yeah that sounds like a good solution
I'm not sure how much overhead creating a tacsAIM is, but a better solution would probably be to use a hasattr
check for the module so that things don't get needlessly evaluated on every import
@A-CGray is it just the unittests that are causing a problem? Or the python package. @timryanb because if it's just the two caps unittests, I don't think this is much overhead
@A-CGray is it just the unittests that are causing a problem? Or the python package. @timryanb because if it's just the two caps unittests, I don't think this is much overhead
Our issues are just due to the unit tests. It'd be nice if the check was cheap enough to do whenever you try and import caps2tacs, but if that's going to be much more challenging to implement then just checking in the unit tests will be fine.
@sean-engelstad having this overhead in the caps unit test should be fine for now. But Marshall is going to have to add a way to programmatically inspect the version number of CAPS (if the capability doesn't exist). It's a requirement for integrating it with other tools that depend on it
Actually @A-CGray, you should be able to use caps2tacs with ESP 1.20, but the derivative accuracy won't be as good for structural shape variables since Marshall and I improved the tacsAIM since then. ESP 1.20 is a prebuilt, but not all of the AIM modules are compiled, including the tacsAIM. Your error indicates that you are missing the 'tacsAIM.so' file and need to run make
in the directory EngSketchPad/src/CAPS/aim/tacs
. This will create the tacsAIM.so
file in the EngSketchPad/lib
directory.
I could create a try-catch block for creating the tacsAIM and then indicate to the user that they have not built ESP/CAPS and the tacsAIM properly. However, I would prefer for ESP/CAPS to throw the error.
ok, we actually managed to update our docker images to ESP122 with a lot less trouble than we were expecting, so this is not an issue any more. Thanks for your efforts anyway
We're having issues updating the version of TACS used in our docker images because we currently use ESP120, which seems to be incompatible with caps2tacs:
Would it be possible to add a check, either to the caps2tacs tests or to the module itself, so that the caps2tacs tests will be skipped not only if CAPS is not installed, but also if the CAPS version is incompatible with caps2tacs?