First time here? Checkout the FAQ!
x
0 votes
by (160 points)
Hello, I am running a pseudo-bidomain simulation, with a sphere as tissue in the center of a cube as extracellular space with g_bath = 0.7. However, though the intracellular result makes sense, the output of all the nodes in the extracellular space are exactly the same, which seems not making sense. I have tried different pacing sites but got the same output. So I am wondering what parameters or other settings I may have mistakes in and ways to fix this. Please let me know if I could provide other information for your reference.

Thanks a lot!

Best,

Nancy

1 Answer

0 votes
by (19.2k points)
Hi Nancy,

if you provide a minimal working example, we could briefly check your setup.
by (160 points)
Hello Axel,

Sure I'm sharing some of the steps I did. I'm trying to run a pseudo-bidomain simulation with a sphere in a block, sphere as the intra domain and block as the extra domain where I'll be having ecg leads. I created those geometries and meshed them using mimics. The block's mesh does not have overlap with the sphere, and their discretization sizes are different (block being more coarse). Then I combined these two mesh files and give sphere domain a tag 1, block domain tag 0 in .elem file. The lon file has  0 0 0 for block domain and random vectors for sphere domain. However, everytime I ran it, the intra domain looks good, but the extra space had exactly the same value at any point. So I would like to seek help from you on fixing this issue. Please let me know if any other information is needed. I really appreciate the help!

My parameter file's setting looks like this:
#DEFINE PHYSICAL REGIONS
meshname                                = pocv3
num_phys_regions                        = 2
phys_region[0].name                     = "Extracellular domain"
phys_region[0].ptype                    = 1
phys_region[0].num_IDs                  = 2    
phys_region[0].ID[0]                    = 0
phys_region[0].ID[1]                    = 1

phys_region[1].name                     = "Intracellular domain"
phys_region[1].ptype                    = 0
phys_region[1].num_IDs                    = 1
phys_region[1].ID[0]                    = 1



#DEFINE ionic models
num_imp_regions                         = 1
imp_region[0].im                        = TT2
imp_region[0].name                      = center
imp_region[0].num_IDs                   = 1
imp_region[0].ID[0]                     = 1

#DEFINE conductivity
num_gregions                             = 1
gregion[0].num_IDs                         = 1
gregion[0].g_il                         = 0.174
gregion[0].g_it                            = 0.174
gregion[0].g_in                            = 0.174
gregion[0].g_el                            = 0.625
gregion[0].g_et                            = 0.625
gregion[0].g_en                            = 0.625
gregion[0].ID                           = 1
#gregion[1].num_IDs                        = 1
#gregion[1].g_bath                        = 0.7
#gregion[1].ID                             = 100

#DEFINE STIMULUS

num_stim                                = 1
stimulus[0].stimtype                    = 0
stimulus[0].strength                    = 200.0
stimulus[0].duration                    = 2.0
stimulus[0].start                         = 0
stimulus[0].vtx_file                    = stim
floating_ground                         = 1
tend                                     = 50
parab_solve                             = 1
dt                                      = 10
spacedt                                 = 1
timedt                                  = 1.0
bidomain                                = 2
gridout_i                                = 3
gridout_e                                = 3
augment_depth                           = 2000.0
phie_rec_ptf                            = ecg
dump_ecg_leads                          = 1
by (110 points)
Hello Nancy,

your setup seems to be fine. Have you tried running the simulation in normal bidomain?
Do the extracellular signals look ok there? My guess would be that your mesh contains elements that are not connected.
Also floating_ground might impact your simulation results. You can try using floating_ground_refnode (check the openCARP manual on usage) or define an electrode as a ground. Check out the Tutorials on Stimulation on how to set this up.
If that does not work you could provide a minimal working example (mesh & setup scripts), so we can run some tests.

Greetings
Mark
by (160 points)
Thanks Mark! I'll definitely try all these. There is actually a concern that I have when running this case. Since I want the extra domain to be more coarse than the intra domain, I meshed them separately using mimics and just concatenated both directly to form the .elem.. etc. files.
-->My concern is if the block and sphere were meshed separately using different mesh sizes, will they have a mesh overlap in the sphere region (since sphere is inside the block)?
--> Should I just eliminate the sphere region from the block before meshing the extra domain?
--> How is this (if I have two external .stl geometries) doable using openCARP meshtools? I tried to figure out, but got some confusion when running the commands. Would you mind provide me an example on using the meshtool to mesh external geometry files?

Really appreciate it!

Best regards,
Nancy
by (110 points)
You might want to create the two volumes seperatly. Make sure that they share a common surface mesh at their intersection. This will ensure all nodes to be connected. You can then mesh them seperatly using gmesh. Then put them together using the vtk libraries or Paraview. In a final step use meshtool to convert your mesh to the openCARP format and run your simulation.

Greetings
Mark
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...