📄 fisher_reaction_diffusion.xmds
字号:
<?xml version="1.0"?><simulation> <!-- $Id: fisher_reaction_diffusion.xmds,v 1.2 2004/07/14 06:37:05 joehope Exp $ --><!-- Copyright (C) 2000-2004 --><!-- --><!-- Code contributed by Greg Collecutt, Joseph Hope and Paul Cochrane --><!-- --><!-- This file is part of xmds. --><!-- --><!-- This program is free software; you can redistribute it and/or --><!-- modify it under the terms of the GNU General Public License --><!-- as published by the Free Software Foundation; either version 2 --><!-- of the License, or (at your option) any later version. --><!-- --><!-- This program is distributed in the hope that it will be useful, --><!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --><!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --><!-- GNU General Public License for more details. --><!-- --><!-- You should have received a copy of the GNU General Public License --><!-- along with this program; if not, write to the Free Software --><!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, --><!-- MA 02111-1307, USA. --> <name> fisher_reaction_diffusion </name> <!-- the name of the simulation --> <author> Paul Cochrane</author> <!-- the author of the simulation --> <description> <!-- a description of what the simulation is supposed to do --> Example simulation of the reaction-diffusion equation of Fisher (1937). This equation can be interpreted as describing the frequency of a focal allele as a function of one-dimensional space in a biallelic diploid population of constant size. This simulation is adapted from equation 1 of "The diffusive spread of alleles in heterogeneous populations", G T Skalski, Evolution, 58 (3), 470-478 (2004). Thanks to John Novembre at UC Berkeley for pointing out this example. </description> <!-- Global system parameters and functionality --> <prop_dim> t </prop_dim> <!-- name of main propagation dim --> <error_check> yes </error_check> <!-- defaults to yes --> <use_wisdom> yes </use_wisdom> <!-- defaults to no --> <benchmark> yes </benchmark> <!-- defaults to no --> <use_prefs> yes </use_prefs> <!-- defaults to yes --> <!-- Global variables for the simulation --> <globals> <![CDATA[ // these numbers are just guesses, they are not related to the // paper the equations are adapted from. const double sigma0 = 0.01; // variance of population position const double mu0 = 0.0; // mean position of population const double D = 0.01; // diffusion coefficient const double m = 0.1; // selection coefficient ]]> </globals> <!-- Field to be integrated over --> <field> <name> main </name> <dimensions> x </dimensions> <!-- transverse dims --> <lattice> 1024 </lattice> <!-- no. of points for each dim --> <domains> (-1,1) </domains> <!-- domain of each dimension --> <samples> 1 </samples> <!-- sample 1st point of dim? --> <vector> <name> main </name> <type> complex </type> <!-- data type of vector --> <components> P </components> <!-- names of components --> <fourier_space> no </fourier_space> <!-- defined in k-space? --> <![CDATA[ // be simple and use a Gaussian initial condition P = rcomplex(exp(-(x - mu0)*(x - mu0)/(2.0*sigma0*sigma0))/(sigma0*sqrt(2.0*M_PI)),0.0); ]]> </vector> </field> <!-- The sequence of integrations to perform --> <sequence> <integrate> <algorithm> RK4IP </algorithm> <!-- RK4EX, RK4IP, SIEX, SIIP --> <interval> 1 </interval> <!-- how far in main dim? --> <lattice> 1000 </lattice> <!-- no. points in main dim --> <samples> 100 </samples> <!-- no. pts in output moment group of main dim --> <k_operators> <constant> yes </constant> <!-- yes/no --> <operator_names> L </operator_names> <![CDATA[ L = -D*kx*kx; ]]> </k_operators> <![CDATA[ dP_dt = L[P] + m*P*(1.0 - P); ]]> </integrate> </sequence> <!-- The output to generate --> <output format="ascii" precision="single"> <group> <sampling> <fourier_space> no </fourier_space> <!-- sample in k-space? --> <lattice> 1024 </lattice> <!-- no. points to sample --> <moments> POut </moments> <!-- names of moments --> <![CDATA[ POut = P; ]]> </sampling> </group> </output> </simulation>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -