... | @@ -47,8 +47,8 @@ The current version of PhysiCell-X is 0.1 and it is based on PhysiCell version 1 |
... | @@ -47,8 +47,8 @@ The current version of PhysiCell-X is 0.1 and it is based on PhysiCell version 1 |
|
|
|
|
|
PhysiCell-X can be visualized as being made up of two layers. The first layer BioFVM-X \[4\] solves the diffusion equations of substrates in the micro-environment. The second layer is PhysiCell-X itself and takes care of the movement, growth, decay, division, chemical and mechanical interaction and death of cells (agents) etc. BioFVM-X has been released separately and is available at:
|
|
PhysiCell-X can be visualized as being made up of two layers. The first layer BioFVM-X \[4\] solves the diffusion equations of substrates in the micro-environment. The second layer is PhysiCell-X itself and takes care of the movement, growth, decay, division, chemical and mechanical interaction and death of cells (agents) etc. BioFVM-X has been released separately and is available at:
|
|
|
|
|
|
1. [Zenodo](https://zenodo.org/record/5044998#.YfjVwi8RppQ) and
|
|
1. [Zenodo](https://zenodo.org/record/5044998#.YfjVwi8RppQ)
|
|
2. [GitLab](https://gitlab.bsc.es/gsaxena/biofvm_x) (a detailed tutorial $^1$ to run examples can be found here)
|
|
2. [GitLab](https://gitlab.bsc.es/gsaxena/biofvm_x). A detailed tutorial to run examples can be found here. We encourage you to read this tutorial as it will _also_ help you understand how to run examples in PhysiCell-X.
|
|
|
|
|
|
The latest version of BioFVM-X also forms part of PhysiCell-X. It can kindly be noted that the stand-alone version of BioFVM-X available at the links above is _different_ from the version of BioFVM-X that comes bundled with PhysiCell-X. This is because the design of BioFVM-X has evolved as PhysiCell-X evolved.
|
|
The latest version of BioFVM-X also forms part of PhysiCell-X. It can kindly be noted that the stand-alone version of BioFVM-X available at the links above is _different_ from the version of BioFVM-X that comes bundled with PhysiCell-X. This is because the design of BioFVM-X has evolved as PhysiCell-X evolved.
|
|
|
|
|
... | @@ -60,7 +60,7 @@ We describe the high level parallel design with the help of a non-technical anal |
... | @@ -60,7 +60,7 @@ We describe the high level parallel design with the help of a non-technical anal |
|
|
|
|
|
### Domain Partitioning
|
|
### Domain Partitioning
|
|
|
|
|
|
Figure [\[fig:domain_partitioning\]](#fig:domain_partitioning){reference-type="ref" reference="fig:domain_partitioning"} formally illustrates the aforementioned analogy. It shows a 3-D domain and the directions of the axes. The domain is divided in the X-direction _only_ among the MPI processes i.e. the 3-D domain is partitioned in a single dimension only (1-D domain partitioning - imagine slices of a bread). It is important to note that the direction of the axes of BioFVM-X/PhysiCell-X is different from the directions of the axes of MPI Cartesian Topology $^2$. In this specific case, the whole 3-D domain is partitioned among 4 MPI processes (shown in gray, green, blue and red). This Cartesian Topology is $1 \\times 4 \\times 1$, indicating that we have 1 MPI process in the X-direction, 4 in the Y-direction and 1 in the Z-direction. Please note we have 4 processes in the Y-direction of the MPI Cartesian Topology because _the X-axis of BioFVM-X/PhysiCell-X is equivalent to the Y-axis of the MPI Topology_. Each of these sub-partitions (formally called sub-domains) can be located with the help of MPI Cartesian coordinates. Process 0 (formally called Rank 0) has coordinates $(0,0,0)$, process 1 (Rank 1) has $(0,1,0)$, process 2 (Rank 2) has $(0,2,0)$ and process 4 (Rank 3) has coordinates $(0,3,0)$. Within each sub-domain managed by a single MPI process, the wavy, dark, solid lines indicate OpenMP threads.
|
|
Figure [\[fig:domain_partitioning\]](#fig:domain_partitioning){reference-type="ref" reference="fig:domain_partitioning"} formally illustrates the aforementioned analogy. It shows a 3-D domain and the directions of the axes. The domain is divided in the X-direction _only_ among the MPI processes i.e. the 3-D domain is partitioned in a single dimension only (1-D domain partitioning - imagine slices of a bread). It is important to note that the direction of the axes of BioFVM-X/PhysiCell-X is different from the directions of the axes of MPI Cartesian Topology (An MPI Cartesian Topology is a _virtual_ arrangement of processes.). In this specific case, the whole 3-D domain is partitioned among 4 MPI processes (shown in gray, green, blue and red). This Cartesian Topology is $1 \\times 4 \\times 1$, indicating that we have 1 MPI process in the X-direction, 4 in the Y-direction and 1 in the Z-direction. Please note we have 4 processes in the Y-direction of the MPI Cartesian Topology because _the X-axis of BioFVM-X/PhysiCell-X is equivalent to the Y-axis of the MPI Topology_. Each of these sub-partitions (formally called sub-domains) can be located with the help of MPI Cartesian coordinates. Process 0 (formally called Rank 0) has coordinates $(0,0,0)$, process 1 (Rank 1) has $(0,1,0)$, process 2 (Rank 2) has $(0,2,0)$ and process 4 (Rank 3) has coordinates $(0,3,0)$. Within each sub-domain managed by a single MPI process, the wavy, dark, solid lines indicate OpenMP threads.
|
|
|
|
|
|
### Mapping to Hardware
|
|
### Mapping to Hardware
|
|
|
|
|
... | @@ -611,12 +611,6 @@ PhysiCell-X is project that is being actively developed as the distributed-paral |
... | @@ -611,12 +611,6 @@ PhysiCell-X is project that is being actively developed as the distributed-paral |
|
|
|
|
|
The research leading to these results has received funding from EU H2020 Programme under the PerMedCoE project, grant agreement number 951773 and the INFORE project, grant agreement number 825070.
|
|
The research leading to these results has received funding from EU H2020 Programme under the PerMedCoE project, grant agreement number 951773 and the INFORE project, grant agreement number 825070.
|
|
|
|
|
|
## Footnotes:
|
|
|
|
|
|
|
|
$^1$: We encourage you to read this tutorial as it will _also_ help you understand how to run examples in PhysiCell-X
|
|
|
|
|
|
|
|
$^2$: An MPI Cartesian Topology is a _virtual_ arrangement of processes.
|
|
|
|
|
|
|
|
# References:
|
|
# References:
|
|
|
|
|
|
\[1\] A. Ghaffarizadeh, S. H. Friedman, and P. Macklin. BioFVM: an efficient, parallelized diffusive transport solver for 3-D biological simulations. Bioinformatics, 32(8):1256–8, 2016. doi: 10.1093/bioinformatics/btv730. URL <http://dx.doi.org/10.1093/bioinformatics/btv730>.
|
|
\[1\] A. Ghaffarizadeh, S. H. Friedman, and P. Macklin. BioFVM: an efficient, parallelized diffusive transport solver for 3-D biological simulations. Bioinformatics, 32(8):1256–8, 2016. doi: 10.1093/bioinformatics/btv730. URL <http://dx.doi.org/10.1093/bioinformatics/btv730>.
|
... | | ... | |