Tag: solver

如何访问和打印在MPI工作人员中分发的完整向量?

如何从MPI中的单个线程访问全局向量? 我正在使用一个库 – 特别是一个ODE求解器库 – 名为CVODE(SUNDIALS的一部分)。 该库与MPI一起使用,因此多个线程并行运行。 它们都运行相同的代码。 每个线程将一个数据“旁边”发送给它。 但我希望其中一个线程(rank = 0)在某些点打印出数据的状态。 该库包含函数,以便每个线程可以访问自己的数据( 本地向量 )。 但是没有方法可以访问全局向量。 我需要在特定时间输出所有方程的值。 为此,我需要访问全局向量。 任何人都知道如何获取MPI向量中的所有数据(如果可能,使用CVODE)? 例如,这是我的代码,每个线程运行 for (iout=1, tout=T1; iout <= NOUT; iout++, tout += DTOUT) { flag = CVode(cvode_mem, tout, u, &t, CV_NORMAL); if(check_flag(&flag, "CVode", 1, my_pe)) break; if (my_pe == 0) PrintData(t, u); } … static void PrintData(realtype t, […]

从字符串求解方程式到C的结果

我想知道是否有人有关于如何做一些听起来很简单但在尝试编程时看起来不像的信息或经验。 这个想法是:给出一个包含等式的字符串,例如:“2 * x = 10”(这很简单,但它可能变得非常复杂,例如sqrt(54)* 35 = x ^ 2;等等在…)和程序将返回x = 5,并可能给出他如何到达那里的日志。 这可行吗? 如果是这样,有没有人有领导? 有关信息,这个网站( http://www.numberempire.com/equationsolver.php )在PHP中做同样的事情,但不是开源的。 谢谢你的帮助 !