New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lepton vs Matheval #244
Comments
The actively developed version of Lepton is the one in the OpenMM repository. Every now and then I package up the latest code and post it as a new release, but the OpenMM repository is where all development happens, so that's where you'll always find the latest code. It would be easy enough to build a library for it that could be installed separately. I've just never done that, because I've never had a need to. For my purposes, compiling it directly into another program was more convenient. Lepton doesn't have any required dependencies, but it can optionally use asmjit (also included in the libraries folder of the OpenMM repository) to do JIT compilation of |
@plumed/all I have a draft implementation for this in branch v2.4-lepton.
In the second case one can use Input syntax is unchanged. I made a quick check with switching function MATHEVAL and it looks like lepton is even faster than matheval. However, I would prefer to add more tests before making it the default. In addition, it might be useful to add the missing functions and constants to make them totally compatible. For instance, I had to add explicitly |
Shall we rename the directive MATHEVAL to something more general independent
on the fact that you are using Matheval or Lepton?
… On Jun 19, 2017, at 13:49, Giovanni ***@***.***> wrote:
@plumed/all I have a draft implementation for this in branch v2.4-lepton.
The way it works is the following:
• At runtime, if env var PLUMED_USE_LEPTON is undefined, same as before.
• At runtime, if env var PLUMED_USE_LEPTON is defined (e.g. by export PLUMED_USE_LEPTON=yes), lepton is used as a replacement for matheval
In the second case one can use MATHEVAL (function and switching function) also when libmatheval was not linked.
Input syntax is unchanged. I made a quick check with switching function MATHEVAL and it looks like lepton is even faster than matheval. However, I would prefer to add more tests before making it the default. In addition, it might be useful to add the missing functions and constants to make them totally compatible. For instance, I had to add explicitly pi=3.14159265358979 to allow lepton to reproduce a matheval regtest where pi was used. We could go through matheval documentation to be sure we include all of them.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@gtribello was suggesting to keep the name MATHEVAL to allow people not changing their input files. |
I find it a bit confusing, but ok
… On Jun 19, 2017, at 13:53, Giovanni ***@***.***> wrote:
@gtribello was suggesting to keep the name MATHEVAL to allow people not changing their input files.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
But in principle we can easily add a synonymous of MATHEVAL so that MATHEVAL is still there but we already introduce a new keyword
… On 19 Jun 2017, at 13:54, Massimiliano Bonomi ***@***.***> wrote:
I find it a bit confusing, but ok
> On Jun 19, 2017, at 13:53, Giovanni ***@***.***> wrote:
>
> @gtribello was suggesting to keep the name MATHEVAL to allow people not changing their input files.
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u6XhdWQcUCqogxz4NcymDEF9VRVks5sFmF_gaJpZM4N0MV0>.
|
That's true. I can do
Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual. For the switching function is even easier, it is just matter of changing an Obviously ANYFUNC is not the correct name... which name should we use? |
ASSEMBLE
CUSTOM
… On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
That's true. I can do
PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
For the switching function is even easier, it is just matter of changing an if statement.
Obviously ANYFUNC is not the correct name... which name should we use?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
CUSTOMCV
… On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
ASSEMBLE
CUSTOM
> On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
>
> That's true. I can do
>
> PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
>
> Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
>
> For the switching function is even easier, it is just matter of changing an if statement.
>
> Obviously ANYFUNC is not the correct name... which name should we use?
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
|
Can you use it for bias also?
… On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
CUSTOMCV
> On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
>
> ASSEMBLE
> CUSTOM
>
> > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> >
> > That's true. I can do
> >
> > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> >
> > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> >
> > For the switching function is even easier, it is just matter of changing an if statement.
> >
> > Obviously ANYFUNC is not the correct name... which name should we use?
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub, or mute the thread.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
… On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.***> wrote:
Can you use it for bias also?
> On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
>
> CUSTOMCV
>
> > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
> >
> > ASSEMBLE
> > CUSTOM
> >
> > > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> > >
> > > That's true. I can do
> > >
> > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > >
> > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > >
> > > For the switching function is even easier, it is just matter of changing an if statement.
> > >
> > > Obviously ANYFUNC is not the correct name... which name should we use?
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub, or mute the thread.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
|
This makes me think that it would be nice to have a shortcut “BIAS” as a method in any CV that allows to use that CV as a BIAS without the need of explicitly using BIASVALUE
… On 19 Jun 2017, at 14:15, Carlo Camilloni ***@***.***> wrote:
Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
> On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.*** ***@***.***>> wrote:
>
> Can you use it for bias also?
>
> > On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.*** ***@***.***>> wrote:
> >
> > CUSTOMCV
> >
> > > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.*** ***@***.***>> wrote:
> > >
> > > ASSEMBLE
> > > CUSTOM
> > >
> > > > On Jun 19, 2017, at 14:05, Giovanni ***@***.*** ***@***.***>> wrote:
> > > >
> > > > That's true. I can do
> > > >
> > > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > > >
> > > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > > >
> > > > For the switching function is even easier, it is just matter of changing an if statement.
> > > >
> > > > Obviously ANYFUNC is not the correct name... which name should we use?
> > > >
> > > > —
> > > > You are receiving this because you are on a team that was mentioned.
> > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > >
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub <#244 (comment) <#244 (comment)>>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0 <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>>.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub, or mute the thread.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
>
|
I don’t like the fact that then we have COMBINE and not COMBINECV
Max
… On Jun 19, 2017, at 14:15, Carlo Camilloni ***@***.***> wrote:
Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
> On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.***> wrote:
>
> Can you use it for bias also?
>
> > On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
> >
> > CUSTOMCV
> >
> > > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
> > >
> > > ASSEMBLE
> > > CUSTOM
> > >
> > > > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> > > >
> > > > That's true. I can do
> > > >
> > > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > > >
> > > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > > >
> > > > For the switching function is even easier, it is just matter of changing an if statement.
> > > >
> > > > Obviously ANYFUNC is not the correct name... which name should we use?
> > > >
> > > > —
> > > > You are receiving this because you are on a team that was mentioned.
> > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > >
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub, or mute the thread.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Yes I agree, CUSTOM is probably better
… On 19 Jun 2017, at 14:16, Massimiliano Bonomi ***@***.***> wrote:
I don’t like the fact that then we have COMBINE and not COMBINECV
Max
> On Jun 19, 2017, at 14:15, Carlo Camilloni ***@***.***> wrote:
>
> Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
>
>
> > On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.***> wrote:
> >
> > Can you use it for bias also?
> >
> > > On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
> > >
> > > CUSTOMCV
> > >
> > > > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
> > > >
> > > > ASSEMBLE
> > > > CUSTOM
> > > >
> > > > > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> > > > >
> > > > > That's true. I can do
> > > > >
> > > > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > > > >
> > > > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > > > >
> > > > > For the switching function is even easier, it is just matter of changing an if statement.
> > > > >
> > > > > Obviously ANYFUNC is not the correct name... which name should we use?
> > > > >
> > > > > —
> > > > > You are receiving this because you are on a team that was mentioned.
> > > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > > >
> > > >
> > > > —
> > > > You are receiving this because you are on a team that was mentioned.
> > > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
> > > >
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub, or mute the thread.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9lq6Yfk2bqgT02L3cGDLdKrRIWsAks5sFmaxgaJpZM4N0MV0>.
|
Too bad we used COMBINE instead of like POLYNOMIAL for polynomial combinations.
… On Jun 19, 2017, at 14:17, Carlo Camilloni ***@***.***> wrote:
Yes I agree, CUSTOM is probably better
> On 19 Jun 2017, at 14:16, Massimiliano Bonomi ***@***.***> wrote:
>
> I don’t like the fact that then we have COMBINE and not COMBINECV
>
> Max
>
> > On Jun 19, 2017, at 14:15, Carlo Camilloni ***@***.***> wrote:
> >
> > Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
> >
> >
> > > On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.***> wrote:
> > >
> > > Can you use it for bias also?
> > >
> > > > On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
> > > >
> > > > CUSTOMCV
> > > >
> > > > > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
> > > > >
> > > > > ASSEMBLE
> > > > > CUSTOM
> > > > >
> > > > > > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> > > > > >
> > > > > > That's true. I can do
> > > > > >
> > > > > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > > > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > > > > >
> > > > > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > > > > >
> > > > > > For the switching function is even easier, it is just matter of changing an if statement.
> > > > > >
> > > > > > Obviously ANYFUNC is not the correct name... which name should we use?
> > > > > >
> > > > > > —
> > > > > > You are receiving this because you are on a team that was mentioned.
> > > > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > > > >
> > > > >
> > > > > —
> > > > > You are receiving this because you are on a team that was mentioned.
> > > > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
> > > > >
> > > >
> > > > —
> > > > You are receiving this because you are on a team that was mentioned.
> > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > >
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub, or mute the thread.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9lq6Yfk2bqgT02L3cGDLdKrRIWsAks5sFmaxgaJpZM4N0MV0>.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
But in principle we can add an alias also there and slowly switch
… On 19 Jun 2017, at 14:18, Massimiliano Bonomi ***@***.***> wrote:
Too bad we used COMBINE instead of like POLYNOMIAL for polynomial combinations.
> On Jun 19, 2017, at 14:17, Carlo Camilloni ***@***.***> wrote:
>
> Yes I agree, CUSTOM is probably better
>
> > On 19 Jun 2017, at 14:16, Massimiliano Bonomi ***@***.***> wrote:
> >
> > I don’t like the fact that then we have COMBINE and not COMBINECV
> >
> > Max
> >
> > > On Jun 19, 2017, at 14:15, Carlo Camilloni ***@***.***> wrote:
> > >
> > > Not directly in the sense that you cannot apply a force, you can use it with BIASVALUE
> > >
> > >
> > > > On 19 Jun 2017, at 14:14, Massimiliano Bonomi ***@***.***> wrote:
> > > >
> > > > Can you use it for bias also?
> > > >
> > > > > On Jun 19, 2017, at 14:13, Carlo Camilloni ***@***.***> wrote:
> > > > >
> > > > > CUSTOMCV
> > > > >
> > > > > > On 19 Jun 2017, at 14:13, Massimiliano Bonomi ***@***.***> wrote:
> > > > > >
> > > > > > ASSEMBLE
> > > > > > CUSTOM
> > > > > >
> > > > > > > On Jun 19, 2017, at 14:05, Giovanni ***@***.***> wrote:
> > > > > > >
> > > > > > > That's true. I can do
> > > > > > >
> > > > > > > PLUMED_REGISTER_ACTION(Matheval,"MATHEVAL")
> > > > > > > PLUMED_REGISTER_ACTION(Matheval,"ANYFUNC")
> > > > > > >
> > > > > > > Then replace MATHEVAL with ANYFUNC anywhere in the code and just leave a short MATHEVAL manual that points to ANYFUNC manual.
> > > > > > >
> > > > > > > For the switching function is even easier, it is just matter of changing an if statement.
> > > > > > >
> > > > > > > Obviously ANYFUNC is not the correct name... which name should we use?
> > > > > > >
> > > > > > > —
> > > > > > > You are receiving this because you are on a team that was mentioned.
> > > > > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > > > > >
> > > > > >
> > > > > > —
> > > > > > You are receiving this because you are on a team that was mentioned.
> > > > > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9u7iW2Z8U_k-ZfRTOwGVwfJ_BInPks5sFmXegaJpZM4N0MV0>.
> > > > > >
> > > > >
> > > > > —
> > > > > You are receiving this because you are on a team that was mentioned.
> > > > > Reply to this email directly, view it on GitHub, or mute the thread.
> > > > >
> > > >
> > > > —
> > > > You are receiving this because you are on a team that was mentioned.
> > > > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9rDc0MzuUyz8w5ZkyWvg7Xy3UjNtks5sFmYzgaJpZM4N0MV0>.
> > > >
> > >
> > > —
> > > You are receiving this because you are on a team that was mentioned.
> > > Reply to this email directly, view it on GitHub, or mute the thread.
> > >
> >
> > —
> > You are receiving this because you are on a team that was mentioned.
> > Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9lq6Yfk2bqgT02L3cGDLdKrRIWsAks5sFmaxgaJpZM4N0MV0>.
> >
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub <#244 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AEXl9qq58JdV7-FqAEHZKxfPK3szSOGzks5sFmckgaJpZM4N0MV0>.
|
I think
|
I see, still it sounds a bit too general compared to what it really does
… On Jun 19, 2017, at 14:42, Giovanni ***@***.***> wrote:
I think COMBINE is mostly useful because it has sensible defaults. I often do
COMBINE ARG=*.bias PERIODIC=NO
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
The implementation using env var was merged in v2.4 branch as of 7c5b104. Instructions:
I let this issue open since the renaming/aliasing is still to be done (we were thinking about using CUSTOM as an alias to MATHEVAL). In addition, the possibility of using formulas in input constants should be documented. |
Still to do: add CUSTOM as an alternative name for MATHEVAL |
I removed matheval everywhere in the code. Now, MATHEVAL (and CUSTOM) keywords are automatically using lepton (see #244). Notice that env var PLUMED_USE_LEPTON is now ignored.
Hi @plumed/all
I was thinking whether we could replace matheval (or use it side by side) with lepton.
I cc also @peastman, who is the author of lepton and might have some comment (hi Peter!)
Here a few differences:
The most important difference is that whereas libmatheval is installable as a library (e.g. with
apt-get install libmatheval
orport install libmatheval
) there is no apparent way to install lepton. In addition we should consider that there appear not to be an official lepton repository. The one here looks a bit outdated, and lepton is included directly at least in a couple of other repositories (openmm and opensim-core) with slight local modifications.However, since it looks like lepton has no dependencies, we could think about including it in plumed directly (as done in the two examples mentioned above) provided that: (a) license allows it (I think so) and (b) @peastman agrees and thinks it is a good idea. If this is possible, the good thing is that users will have matheval-like features in plumed without the need of installing an extra library. In addition, lepton seems way easier than matheval to customize.
In particular, lepton could be included in a src/lepton module similarly to molfile module that we included from VMD. In this manner it would have a dedicated licence file. It could be imported with a script that applies some of the formatting required to be included in PLUMED, e.g.:
namespace PLMD
. This would avoid clashes if we link plumed against other software also including a possibly incompatible version of lepton (e.g. openmm).Using a script to import the library would allow to keep it easily in sync with upstream changes. Since the three versions above are slightly different, we should choose which is the best one to start from.
If this procedure is acceptable, and if performances are similar to matheval (to be checked) we might even drop out matheval completely. Otherwise, we can keep them side by side, perhaps choosing which library to use from some env var or in the input file (something like
FUNC=@lepton{sin(x)}
).Feedbacks are welcome!
Giovanni
The text was updated successfully, but these errors were encountered: