From c67a73803aec4a6d84424f387cee24b71833e98b Mon Sep 17 00:00:00 2001 From: Paul Brinkmeier Date: Tue, 11 Jul 2023 13:40:01 +0200 Subject: [PATCH] Add contribution section --- doc/expose/expose.pdf | Bin 161636 -> 164718 bytes doc/expose/expose.tex | 45 ++++++++++++++++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/doc/expose/expose.pdf b/doc/expose/expose.pdf index 0f2207eb1b9774f83ed117b696a205a3f1674ad0..0e2184a85173f355d1f6d288d825665d6e42c632 100644 GIT binary patch delta 33788 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%0DnmFqdL0GBJbVdP(`3aVUbI3D3x*XxjV? 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 delta 30819 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 SD<=yV4;MTorG%0s{C@!k(7%WP diff --git a/doc/expose/expose.tex b/doc/expose/expose.tex index bdf5c05..cfcfec4 100644 --- a/doc/expose/expose.tex +++ b/doc/expose/expose.tex @@ -64,6 +64,7 @@ From an implementor's perspective, the \acrshort{cpm} has a great advantage over Since updates happen on a square lattice and changes in energy can be calculated locally, it lends itself well to distributed programming. \acrfull{cis}~\cite{berghoff2020} is a parallel implementation of the \acrshort{cpm} based on the \acrfull{nastja} framework~\cite{berghoff2018}. \acrshort{nastja} offers an abstraction layer for implementing stencil codes on the \acrfull{mpi}, making it possible to leverage large-scale parallelism for \acrshort{cis}. +\acrshort{nastja} divides the domain into blocks, computing each stencil locally, then performing an halo exchanges of the border regions. \subsection{The \acrfull{ecm}} @@ -86,7 +87,7 @@ We focus on approaches that explicitly model the plasticity of \acrshort{ecm} co A starting point is to model the \acrshort{ecm} as a static cell. In this model, a cell ID is chosen to represent the solid parts of the \acrshort{ecm}. -Cell-matrix interactions are regulated by the hamiltonian just like cell-cell interactions. +Cell-matrix interactions are regulated by the Hamiltonian just like cell-cell interactions. \acrshort{ecm} lattice sites do not copy their neighbors and can not be copied by their neighbors during a \acrshort{mcs}. Instead, simulations using this approach usually allow cells to degrade adjacent matrix sites over time. This approach is used for example in~\cite{bauer2007}, where the \acrshort{ecm} is initialized by randomly placing fiber bundles across the domain and~\cite{scianna2013}, which investigates cell behavior in \acrshortpl{ecm} with regular patterns. @@ -95,13 +96,13 @@ This approach is used for example in~\cite{bauer2007}, where the \acrshort{ecm} An approach using a \acrfull{fem} is presented in~\cite{vanoers2014} and expanded upon in~\cite{rens2017, rens2019}. Each lattice site is assigned a local directional strain on the \acrshort{ecm}. -Cells exert a traction forces on the \acrshort{ecm} used to calculate the lattice strains by a \acrshort{fem}. +Cells exert traction forces on the \acrshort{ecm} used to calculate the lattice strains by a \acrshort{fem}. The hamiltonian of the \acrshort{cpm} is modified such that cells respond to the strain. \paragraph{Hybrid \acrshort{cpm} and Molecular Dynamics Methods} Another approach is presented in~\cite{tsingos2022}. -This work models simulates matrix fibers using a bead-and-chain model. +This work simulates matrix fibers using a bead-and-chain model. Similar to the previous approach, the \acrshort{ecm} model is coupled with the \acrshort{cpm}. However, in this work, cells interact with the \acrshort{ecm} only through a sparse subset of lattice sites. @@ -125,24 +126,56 @@ In order to align the viscoelastic \acrshort{ecm} model with the \acrshort{cpm}, A model for viscoelastic solids is presented in~\cite{obrien2008}. This work extends the discrete particle method for elastic solids presented in~\cite{toomey2000}. -This model is based on a two- or three-dimensional square lattice of particles. -Each particle is connected to all of its Moore neighbors. +It is based on a two- or three-dimensional square lattice of particles. +Each particle is connected to all of its cardinal and diagonal neighbors. The model for the force acting between two particles can be elastic or viscoelastic. Various models are explored in~\cite{obrien2008, obrien2009, obrien2014, obrien2021}. \paragraph{\acrfull{lbm}} -The \acrshort{lbm} is an established approach for modeling the dynamics of fluids.~\cite{krueger2017} +The \acrshort{lbm} is an established approach for modeling the dynamics of fluids~\cite{krueger2017}. Also based on a square lattice, this model discretizes the particles moving at a particular lattice space into the cardinal and diagonal directions. Research suggests that the \acrshort{lbm} can be used for modeling both solids~\cite{maquart2022} and viscoelastic fluids~\cite{malaspinas2010}. Perhaps for this particular use case, a \acrshort{lbm} could be configured to model the \acrshort{ecm}. \section{Contribution} +In this work we will explore lattice-based viscoelastic simulations of the \acrshort{ecm} in the \acrshort{cpm}. + \subsection{Method} +For the \acrshort{cpm} we use the distributed implementation \acrshort{cis}. +\acrshort{cis} is based on the \acrshort{nastja} framework implemented using the \acrshort{mpi}, which we will use to develop our model of the \acrshort{ecm}. +The model will likely be based on the viscoelastic discrete particle method, as preliminary experiments based on a simplified implementation show promising results. + +In order to model cell-matrix interactions, we will develop a method that allows cells to influence the \acrshort{ecm} simulation. +To model matrix-cell interactions, we will expand the Hamiltonian of the \acrshort{cpm} to include a term dependent on the local configuration of the \acrshort{ecm}. +This should make it possible for our model to simulate the self-reinforcing interactions of cells and \acrshort{ecm}. + \subsection{Challenges} +Our preliminary experiments have produced some questions and likely challenges that our work will need to address. + +\paragraph{Spatial Scale} + +While we could simply use the same lattice for the \acrshort{ecm} model as for the \acrshort{cpm}, it is not clear that this will deliver the best results. +It could be useful to use a scaled lattice, e.g.\ where the lattice spacing of the \acrshort{ecm} model is twice as long. + +\paragraph{Temporal Scale} + +Compared to cells, the waves in a viscoelastic material move quickly. +It is likely that our model of the \acrshort{ecm} will have to go through multiple time steps between the \acrshortpl{mcs} of the \acrshort{cpm}. +In the context of \acrshort{nastja}, this means an increased number of halo exchanges between ranks per \acrshort{mcs}. +In order to reduce the number of halo exchanges, we could increase the width of the halo which allows the \acrshort{ecm} simulation to run for multiple time steps between halo exchanges. +As this approach necessarily leads to diminishing returns as the halo data gets bigger, an efficient configuration needs to be investigated. + +\paragraph{Implementation Performance} + +As \acrshort{cis} is designed to large and therefore compute-heavy simulations, it is worthwhile to measure the and optimize the compute needed by our implementation. +Since the discrete particle method is a dense approach, it should be possible to leverage common parallelization techniques such as vectorization and \acrshort{gpu} programming to improve performance. +In particular, it might prove useful to run the \acrshort{cpm} on \acrshortpl{cpu} and the \acrshort{ecm} model of \acrshortpl{gpu}. +We will experiment with these techniques and evaluate the possible improvements. + \newpage \printglossary[type=\acronymtype, nogroupskip]