[Getdp] getdp et fluides (suite) + domaine infiniment fin
Laurent De Vroey
Devroey at lei.ucl.ac.be
Tue Mar 1 17:35:29 CET 2005
Bonjour Christophe,
1)
As-tu trouvé un peu de temps pour regarder le problème que je t'avais
exposé au sujet de mes applications fluidiques ? J'avais un problème de
rotationnel qui me donnait des résultats étranges (visiblement un problème
de signe que je n'ai pas localisé).
2)
Les travaux que je poursuis portent en fait sur des simulations de
bio-microsystèmes, où des cellules biologiques plongées dans des fluides
sont mises en mouvement par les forces induites par des champs électriques.
Je m'intéresse donc tant aux aspects électriques que fluidiques (les
fluides sont également mis en mouvement, notamment par électro-osmose).
J'ai une nouvelle question, qui cette fois concerne les aspects électriques.
La cellule bio peut être considérée, en première approx, comme une sphère
assez conductrice entourée d'une membrane très peu conductrice. L'épaisseur
de cette membrane est très faible par rapport au rayon de la cellule.
Ma question est la suivante : est-il possible, et comment, de ramener la
membrane à un cercle (en 2D) ? Ceci permettrait d'éviter le recours à un
maillage de la membrane, très fin par rapport au maillage du reste de la
cellule compte tenu des différences de dimensions géométriques.
La difficulté que j'ai est que la tension sur le bord intérieur de la
membrane diffère de celle sur le bord extérieur, ce qui conduit à une
double valeur du potentiel au niveau de la membrane si on réduit son
épaisseur à zéro.
J'ai essayé d'utiliser un sous-domaine "Membrane" de type Physical Line
avec un Jacobian Sur mais les résultats semblent ne pas tenir compte de ce
sous-domaine (voir pièce jointe). J'ai aussi pensé qu'on pourrait définir
des paramètres électriques équivalents pour la membrane (par exemple une
conductance surfacique = à sa conductivité divisée par l'épaisseur
qu'aurait normalement la membrane) mais dans ce cas je ne vois pas comment
l'implémenter concrètement.
Est-il possible, et comment, de lever cette difficulté ? (on suppose que le
courant est normal à la membrane si on rend celle-ci infiniment fine).
Un tout grand merci d'avance pour la réponse que tu pourras apporter à
cette question et à la précédente.
Bien à toi,
Laurent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
De Vroey Laurent | Universite Catholique de Louvain,
Research Assistant | Laboratoire d' Electrotechnique,
(UCL / ELEC / LEI) | Place du Levant, 3
MAXWELL building | B-1348 Louvain-La-Neuve
Room: b.236 | BELGIUM
tel: +32 10 47 22 59 -fax: +32 10 47 86 67 devroey at lei.ucl.ac.be
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-------------- next part --------------
/********************************************
*
* Electroporation - Modele 2D
*
********************************************/
// Parametres
k = 2;
r1 = 10e-6;
l1 = 2.5*2e-7;
l3 = 2e-7;
c = 2.5 * 2 * r1;
// Points
Point(1) = {-c/2, -c/2, 0, l1};
Point(2) = {-c/2, c/2, 0, l1};
Point(3) = {c/2, c/2, 0, l1};
Point(4) = {c/2, -c/2, 0, l1};
Point(5) = {0, 0, 0, l1};
Point(10) = {-r1, 0, 0, l3};
Point(11) = {0, r1, 0, l3};
Point(12) = {r1, 0, 0, l3};
Point(13) = {0, -r1, 0, l3};
// Lignes
Line(1) = {1,2};
Line(2) = {2,3};
Line(3) = {3,4};
Line(4) = {4,1};
Circle(9) = {10,5,11};
Circle(10) = {11,5,12};
Circle(11) = {12,5,13};
Circle(12) = {13,5,10};
// Surfaces
Line Loop(101) = {1,2,3,4}; // cuve
Line Loop(102) = {9,10,11,12}; // cellule
Plane Surface(201) = {101,102};
Plane Surface(202) = {102};
Physical Line(1001) = {2}; // Electrode sup
Physical Line(1002) = {4}; // Electrode inf
Physical Line(1004) = {9,10,11,12}; // Interface cellule-milieu
Physical Surface(1101) = {201}; // Cuve
Physical Surface(1102) = {202}; // Cellule
-------------- next part --------------
/*------------------------------------------------------------
File "2D.pro"
------------------------------------------------------------*/
Group {
V = 5;
r1 = 10e-6;
r2 = 10e-6 - 5e-8;
Milieu = #{1101};
Cellule = #{1102};
ElectrodeSup = #{1001};
ElectrodeInf = #{1002};
Interface = #{1004};
Domaine = #{1101, 1102, 1004};
Dom = #{1101, 1102};
}
///////////////////////////////////////////////////
Function {
eps[Cellule] = 6.4e-10;
eps[Milieu] = 6.4e-10;
eps[Interface] = 6.4e-10;
sigma[Cellule] = 1;
sigma[Milieu] = 1;
sigma[Interface] = 120e-8;
}
///////////////////////////////////////////////////
Constraint {
{ Name ElectricScalarPotential ; Type Assign ;
Case {
{ Region ElectrodeSup ; Value V; }
{ Region ElectrodeInf ; Value -V; }
}
}
}
///////////////////////////////////////////////////
Group {
DefineGroup[ DomainInf ] ;
DefineVariable[ Val_Rint, Val_Rext ] ;
}
Jacobian {
{ Name Vol ;
Case { { Region DomainInf ;
Jacobian VolSphShell {Val_Rint, Val_Rext} ; }
{ Region All ; Jacobian Vol ; }
}
}
{ Name Sur ;
Case { { Region All ; Jacobian Sur ; }
}
}
{ Name Lin ;
Case { { Region All ; Jacobian Lin ; }
}
}
}
///////////////////////////////////////////////////
Integration {
{ Name GradGrad ;
Case { {Type Gauss ;
Case { { GeoElement Line ; NumberOfPoints 3 ; }
{ GeoElement Triangle ; NumberOfPoints 4 ; }
{ GeoElement Quadrangle ; NumberOfPoints 4 ; }
{ GeoElement Tetrahedron ; NumberOfPoints 4 ; }
{ GeoElement Hexahedron ; NumberOfPoints 6 ; }
{ GeoElement Prism ; NumberOfPoints 9 ; } }
}
}
}
{ Name CurlCurl ;
Case { {Type Gauss ;
Case { { GeoElement Line ; NumberOfPoints 3 ; }
{ GeoElement Triangle ; NumberOfPoints 4 ; }
{ GeoElement Quadrangle ; NumberOfPoints 4 ; }
{ GeoElement Tetrahedron ; NumberOfPoints 4 ; }
{ GeoElement Hexahedron ; NumberOfPoints 6 ; }
{ GeoElement Prism ; NumberOfPoints 9 ; } }
}
}
}
}
///////////////////////////////////////////////////
Include "EleSta_v.pro"
///////////////////////////////////////////////////
PostOperation {
{ Name SurfacePostOp; NameOfPostProcessing EleSta_v;
Operation {
Print[ v, OnElementsOf Domaine, File "v.pos", Format Gmsh ];
Print[ v, OnElementsOf Interface, File "v_bord.pos", Format Table ];
}
}
}
-------------- next part --------------
Group {
DefineGroup[ Cellule, Milieu, Domaine, Dom ];
}
///////////////////////////////////////////////////
FunctionSpace {
{ Name Hgrad_v_Ele; Type Form0;
BasisFunction {
{ Name sn; NameOfCoef vn; Function BF_Node;
Support Domaine; Entity NodesOf[All]; }
}
Constraint {
{ NameOfCoef vn; EntityType NodesOf;
NameOfConstraint ElectricScalarPotential; }
}
}
}
///////////////////////////////////////////////////
Formulation {
{ Name Electrostatics_v; Type FemEquation;
Quantity {
{ Name v; Type Local; NameOfSpace Hgrad_v_Ele; }
}
Equation {
Galerkin { [ sigma[] * Dof{d v}, {d v} ]; In Dom;
Jacobian Vol; Integration GradGrad; }
Galerkin { [ sigma[] * Dof{d v}, {d v} ]; In Interface;
Jacobian Sur; Integration GradGrad; }
}
}
}
////////////////////////////////////////////////////
Resolution {
{ Name EleSta_v;
System {
{ Name Sys_Ele; NameOfFormulation Electrostatics_v; }
}
Operation {
Generate[Sys_Ele]; Solve[Sys_Ele]; SaveSolutions[Sys_Ele];
}
}
}
///////////////////////////////////////////////////
PostProcessing {
{ Name EleSta_v; NameOfFormulation Electrostatics_v;
Quantity {
{ Name v;
Value {
Local { [ {v} ]; In Domaine; Jacobian Vol; }
}
}
}
}
}