⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fisher_reaction_diffusion.xmds

📁 XMDS is a code generator that integrates equations. You write them down in human readable form in a
💻 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 + -