[Getdp] [solve] Segmentation fault (core dumped)
Peter Kis
md2z34 at gmail.com
Fri Aug 7 14:09:33 CEST 2015
Dear Michael,
thank you for your help. I could get it work by modifying the "Region" line
as you suggested.
Best Regards
Peter
On Fri, Aug 7, 2015 at 8:29 AM, <michael.asam at infineon.com> wrote:
> Hi Peter,
>
>
>
> there are some issues in your coil.pro.
>
> E.g. the crash comes due to this line:
>
> Omega = Region[ All ];
>
> You have to specify the regions by their names:
>
> Omega = Region[ {Omega_air, Omega_coil} ];
>
>
>
> Also your function space is of form 0 (i.e. nodal
>
> based scalar basis functions). For the vector
>
> potential you need form 1 (edge based vector
>
> basis functions). In your case of a 2D simulation
>
> you need Form1P.
>
>
>
> Maybe the best starting point would be to
>
> modify the magnetic example delivered with
>
> GetDP. You will find it in your installation directory:
>
> C:\Path\to\GetDP\demos\magnet.pro
>
> There are two resolutions: One calculates the
>
> magnetic vector potential. Alternatively the other
>
> calculates the magnetic scalar potential.
>
>
>
> You can also look into the examples at:
>
> http://onelab.info/wiki/Inductor
>
>
>
> Cheers,
>
> Michael
>
>
>
>
>
>
>
>
>
>
>
> *From:* getdp [mailto:getdp-bounces at ace20.montefiore.ulg.ac.be] *On
> Behalf Of *Peter Kis
> *Sent:* Friday, August 07, 2015 12:27 AM
> *To:* getdp at geuz.org
> *Subject:* [Getdp] [solve] Segmentation fault (core dumped)
>
>
>
> Dear List Members,
>
> I am at the very beginning of learning how to use getdp. In fact I bumped
> into a problem at my first model, which is about an axisymmetric 2D coil in
> time domain. I use vector potential formalism with excitation current
> perpendicular to the plane. Therefore this is a nodal FEM problem because
> the vector potential has only phi component as the current density.
>
> I did my best to tackle this problem but something is wrong with my *.pro
> file. However the example files run well.
>
> I use getdp version 2.6.1 64 bit on Linux and get this message:
>
> getdp coil.pro -solve '#1' -pos '#1' -msh coil.msh
> Info : Running 'getdp coil.pro -solve #1 -pos #1 -msh coil.msh' [GetDP
> 2.6.1, 1 node]
> Info : Started (Fri Aug 7 00:13:51 2015, CPU = 0.076s, Mem = 255.719Mb)
> Info : Initializing Gmsh
> Info : Loading problem definition 'coil.pro'
> Info : Loading problem definition 'param.geo'
> Info : Selected Resolution 'Solution'
> Info : Loading Geometric data 'coil.msh'
> Info : System 'Syst' : Real
> P r e - P r o c e s s i n g . . .
> Info : Treatment Formulation 'VectorPotentialFormulation'
> make: *** [solve] Segmentation fault (core dumped)
>
> Could you take a look at my project file what's wrong with it? This is
> really my very first project in getDP. So any clue is welcome.
>
> Thank you for your help in advance.
>
> Peter
>
> -----------
>
> coil.pro:
> ------------
> // coil.pro: weak formulation
>
> Include "param.geo";
>
> Group{ // OK
> Omega_air = Region[{Omega_air}];
> Omega_coil = Region[{Omega_coil}];
> Omega = Region[ All ];
> Gama_D = Region[{Gama_D}]; // Dirichlet for A=0
> }
>
> Function{ // OK
> InitialState[Omega] = 0.;
> mu0 = 4e-7*Pi;
> Freq = 50;
> t0 = 0;
> tmax = 2.;
> dt = 0.1;
> theta = 1.; // backward Euler
> source_current_t = {0, 1, 2};
> source_current_j = {0, 1, 1};
> Js[] = InterpolationLinear[$1]{ListAlt[source_current_t,
> source_current_j]};
> // Jext[] = Js[$Time];
> Jext[] = 50*(1-Exp[-0.5*$Time]);
> sigma[Omega_air] = 1;
> sigma[Omega_coil] = 6e7;
> }
>
> Jacobian { // OK
> { Name JVol; // for 2D regions
> Case {
> {Region All; Jacobian VolAxi;}
> }
> }
> { Name JSur; // for 1D regions
> Case {
> {Region All; Jacobian SurAxi;}
> }
> }
> }
>
> Integration {
> { Name I1 ;
> Case {
> { Type Gauss ;
> Case {
> { GeoElement Point ; NumberOfPoints 1 ; }
> { GeoElement Line ; NumberOfPoints 4 ; }
> { GeoElement Triangle ; NumberOfPoints 6 ; }
> { GeoElement Quadrangle ; NumberOfPoints 7 ; }
> { GeoElement Tetrahedron ; NumberOfPoints 15 ; }
> { GeoElement Hexahedron ; NumberOfPoints 34 ; }
> }
> }
> }
> }
> }
>
> Constraint{ // OK
> // Initial State
> {Name InitialData; Type Init;
> Case {
> {Region Omega; Value InitialState[];}
> }
> }
> // Dirichlet in Inf.
> {Name DirichletBC; Type Assign;
> Case {
> {Region Gama_D; Value 0;}
> }
> }
> // No constraint for the axis
> }
>
> FunctionSpace{ // OK
> { Name Afs; Type Form0;
> BasisFunction{
> {Name Ni; NameOfCoef Ai; Function BF_Node;
> Support Omega; Entity NodesOf[All];}
> }
> Constraint {
> {NameOfCoef Ai; EntityType NodesOf;
> NameOfConstraint DirichletBC;}
> {NameOfCoef Ai; EntityType NodesOf;
> NameOfConstraint InitialData;}
> }
> }
> }
>
> Formulation{ // OK
> {Name VectorPotentialFormulation; Type FemEquation;
> Quantity{
> {Name a; Type Local; NameOfSpace Afs;}
> }
> Equation{
> Galerkin{ [1/mu0*Dof{Curl a},{Curl a}];
> In Omega; Jacobian JVol; Integration I1;}
>
> Galerkin{ DtDof[sigma[]*Dof{a},{a}];
> In Omega; Jacobian JVol; Integration I1;}
>
> Galerkin{ [-Jext[],{a}];
> In Omega_coil; Jacobian JVol; Integration I1;}
> }
> }
> }
>
> Resolution{
> {Name Solution;
> System{
> {Name Syst; NameOfFormulation VectorPotentialFormulation;}
> }
> Operation{
> InitSolution[Syst];SaveSolution[Syst];
> TimeLoopTheta[t0,tmax,dt,theta] {
> Generate[Syst]; Solve[Syst]; SaveSolution[Syst];
> }
> }
> }
> }
>
> PostProcessing{
> {Name VectorPotentialPostProc; NameOfFormulation
> VectorPotentialFormulation;
> Quantity {
> {Name vec_pot; Value {Local{[{a}];In Omega;Jacobian JVol;}}}
> }
> }
> }
>
> PostOperation{
> {Name Map_Vectorpotential; NameOfPostProcessing VectorPotentialPostProc;
> Operation{
> Print[vec_pot, OnElementsOf Omega, File "A.pos"];
> }
> }
> }
>
> ---------------------
>
> param.geo
>
> ---------------------
> // param.geo: the auxiliary file
>
> // PhysicalIDs
> Omega_coil = 700;
> Omega_air = 1000;
> Gama_D = 500;
>
> // Geometry
> r_enc = 60e-3;
> z_enc = 40e-3;
> inner_radius = 59e-3/2;
> thick = 100e-6;
> width = 4e-3;
>
> // Mesh
> lc_air = 0.008;
> lc_coil = 0.5e-3;
>
>
> ---------------------
>
> coil.geo
>
> ---------------------
>
> // coil.geo: creation of the geometry with GMSH
> //
>
> Include "param.geo";
>
> // Enclosure points
> p1 = newp; Point(p1) = {0,-z_enc,0,lc_air};
> p2 = newp; Point(p2) = {r_enc,-z_enc,0,lc_air};
> p3 = newp; Point(p3) = {r_enc,z_enc,0,lc_air};
> p4 = newp; Point(p4) = {0,z_enc,0,lc_air};
>
> // First turn points
> p5 = newp; Point(p5) = {inner_radius,-width/2,0,lc_coil};
> p6 = newp; Point(p6) = {inner_radius,width/2,0,lc_coil};
> p7 = newp; Point(p7) = {inner_radius+thick,width/2,0,lc_coil};
> p8 = newp; Point(p8) = {inner_radius+thick,-width/2,0,lc_coil};
>
> // Enclosure lines
> L1 = newreg; Line(L1) = {p1,p2};
> L2 = newreg; Line(L2) = {p2,p3};
> L3 = newreg; Line(L3) = {p3,p4};
> L4 = newreg; Line(L4) = {p4,p1};
>
> // First turn lines
> L5 = newreg; Line(L5) = {p5,p6};
> L6 = newreg; Line(L6) = {p6,p7};
> L7 = newreg; Line(L7) = {p7,p8};
> L8 = newreg; Line(L8) = {p8,p5};
>
> // Line loops
> Bound = newreg; Line Loop(Bound) = {L1,L2,L3,L4};
> Turn = newreg; Line Loop(Turn) = {L5,L6,L7,L8};
>
> SurfaceOmega_air = newreg; Plane Surface(SurfaceOmega_air) = {Bound,Turn};
> SurfaceOmega_coil = newreg; Plane Surface(SurfaceOmega_coil) = {Turn};
>
> Physical Surface(Omega_air) = {SurfaceOmega_air};
> Physical Surface(Omega_coil) = {SurfaceOmega_coil};
>
> // For Dirichlet bnd cnd
> Physical Line(Gama_D) = {L1,L2,L3};
>
> Mesh.Algorithm = 1;
> //Mesh.SurfaceFaces = 1;
> //Mesh.SurfaceNumbers = 1;
> //Mesh.LabelType = 2; // Show Phys ID
> //Mesh 2;
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150807/652f4ef0/attachment.html>