[Getdp] [solve] Segmentation fault (core dumped)

michael.asam at infineon.com michael.asam at infineon.com
Fri Aug 7 08:29:16 CEST 2015


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<http://coil.pro> -solve '#1' -pos '#1' -msh coil.msh
Info    : Running 'getdp coil.pro<http://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<http://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<http://coil.pro>:
------------
// coil.pro<http://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/fa9b0e6b/attachment-0001.html>