getdp issueshttps://gitlab.onelab.info/getdp/getdp//issues20210610T11:56:27Zhttps://gitlab.onelab.info/getdp/getdp//issues/89Clash between Eigen and GetDP defines20210610T11:56:27ZAnthony Royeranthony.royer@uliege.beClash between Eigen and GetDP definesThere is a clash between defines in GetDP and Eigen on NIC5 when optimization flags (march=native) are activated.
Modules:
```
module load releases/2020b
module load foss/2020b
module load CMake/3.18.4GCCcore10.2.0
module load Boost/1.74.0GCC10.2.0
module load Python/3.8.6GCCcore10.2.0
module load Eigen/3.3.8GCCcore10.2.0
```
Error:
```
Dans le fichier inclus depuis /home/ulg/ace/ndavi/getdp/Functions/BF_Node.cpp:11:
/home/ulg/ace/ndavi/getdp/contrib/eigen/Eigen/src/Core/arch/AVX/Complex.h: Dans la fonction « void Eigen::internal::ptranspose(Eigen::internal::PacketBlock<Eigen::internal::Packet4cf, 4>&) »:
/home/ulg/ace/ndavi/getdp/Interface/ProData.h:1766:12: erreur: expected unqualifiedid before numeric constant
1766  #define P1 1
 ^
/home/ulg/ace/ndavi/getdp/contrib/eigen/Eigen/src/Core/arch/AVX/Complex.h:405:11: note: dans l'expansion de la macro « P1 »
405  __m256d P1 = _mm256_castps_pd(kernel.packet[1].v);

```There is a clash between defines in GetDP and Eigen on NIC5 when optimization flags (march=native) are activated.
Modules:
```
module load releases/2020b
module load foss/2020b
module load CMake/3.18.4GCCcore10.2.0
module load Boost/1.74.0GCC10.2.0
module load Python/3.8.6GCCcore10.2.0
module load Eigen/3.3.8GCCcore10.2.0
```
Error:
```
Dans le fichier inclus depuis /home/ulg/ace/ndavi/getdp/Functions/BF_Node.cpp:11:
/home/ulg/ace/ndavi/getdp/contrib/eigen/Eigen/src/Core/arch/AVX/Complex.h: Dans la fonction « void Eigen::internal::ptranspose(Eigen::internal::PacketBlock<Eigen::internal::Packet4cf, 4>&) »:
/home/ulg/ace/ndavi/getdp/Interface/ProData.h:1766:12: erreur: expected unqualifiedid before numeric constant
1766  #define P1 1
 ^
/home/ulg/ace/ndavi/getdp/contrib/eigen/Eigen/src/Core/arch/AVX/Complex.h:405:11: note: dans l'expansion de la macro « P1 »
405  __m256d P1 = _mm256_castps_pd(kernel.packet[1].v);

```Christophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/getdp/getdp//issues/88Elasticity Module  Deformed Edge Length20210607T15:28:19ZKeegan JauchElasticity Module  Deformed Edge LengthHi,
I am applying the Onelab module to solve elastic static structural simulations. Is there a way to return the deformed length of a physical curve after GetDP runs the simulation? I have looked through the documentation and have not found a way to do this.
Thanks!
KeeganHi,
I am applying the Onelab module to solve elastic static structural simulations. Is there a way to return the deformed length of a physical curve after GetDP runs the simulation? I have looked through the documentation and have not found a way to do this.
Thanks!
Keeganhttps://gitlab.onelab.info/getdp/getdp//issues/87{d a} instead of {curl a} in formulation20210531T14:14:03ZTheo Messin{d a} instead of {curl a} in formulationHello,
Regarding a simple understanding question: Magnetostatic formulation is usually given using the following elements:
`FunctionSpace { {Name Hcurl_a_3D ; Type Form1 ; ... `
`Formulation { Name MagStaDyn_av_js_3D ; Type FemEquation ; Quantity { { Name a ; Type Local ; NameOfSpace Hcurl_a_3D ; } ...}`
`Equation { Galerkin { [ nu[{d a}] * Dof{d a} , {d a} ] ; In Domain ; Jacobian Vol ; Integration II ; } ...`
May I ask why `b=curl a` is called by `{d a}` instead of `{curl a}` ?
I understand that `{d a}` is the external derivative and is equivalent to `{Grad a}`.
Is it that `a` is not the magnetic vector potential but the scalar potential for the magnetic (vector) field. `b = curl A` holds but the relevant quantity is `b = grad a`?
Thanks!
Update  seems like as `a` is defined as a form1, a curl conform field, `d` is applied and should equivalent to `curl`  to be validated?
![image](/uploads/78339d76cbd2a89d629d758b09a83073/image.png)Hello,
Regarding a simple understanding question: Magnetostatic formulation is usually given using the following elements:
`FunctionSpace { {Name Hcurl_a_3D ; Type Form1 ; ... `
`Formulation { Name MagStaDyn_av_js_3D ; Type FemEquation ; Quantity { { Name a ; Type Local ; NameOfSpace Hcurl_a_3D ; } ...}`
`Equation { Galerkin { [ nu[{d a}] * Dof{d a} , {d a} ] ; In Domain ; Jacobian Vol ; Integration II ; } ...`
May I ask why `b=curl a` is called by `{d a}` instead of `{curl a}` ?
I understand that `{d a}` is the external derivative and is equivalent to `{Grad a}`.
Is it that `a` is not the magnetic vector potential but the scalar potential for the magnetic (vector) field. `b = curl A` holds but the relevant quantity is `b = grad a`?
Thanks!
Update  seems like as `a` is defined as a form1, a curl conform field, `d` is applied and should equivalent to `curl`  to be validated?
![image](/uploads/78339d76cbd2a89d629d758b09a83073/image.png)https://gitlab.onelab.info/getdp/getdp//issues/863D torque computation issue20210527T09:03:18ZTheo Messin3D torque computation issueHello,
I am implementing a 3D model of an axial flux machine with one rotor and two stators.
The example taken as reference is the static formulation in the machine_magstadyn_a.pro .
In the example, the Maxwell tensor is given by:
`T_max[] = ( SquDyadicProduct[$1]  SquNorm[$1] * TensorDiag[0.5, 0.5, 0.5] ) / mu0 ;`
This is equivalent to the definition $`\sigma _{ij}={\frac {1}{\mu _{0}}}B_{i}B_{j}{\frac {1}{2\mu _{0}}}B^{2}\delta _{ij}`$, and seems reusable for the 3D case.
(https://en.wikipedia.org/wiki/Maxwell_stress_tensor)
Then the torque is computed (see comments in code) with the following integral:
$`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / ep`$, with $`ep = S / (2\pi r_{avg})`$, where I understand that the `ep` term comes from the fact that the integration happens within the airgap volume (surface in 2D) instead of surface (Line in 2D).
With the folowing code implementation:
`{ Name Torque_Maxwell ; Value { Integral { [ CompZ [ XYZ[] /\ (T_max[{d a}] * XYZ[]) ] * 2*Pi*AxialLength/SurfaceArea[] ] ; In Domain ; Jacobian Vol ; Integration I1; }}}`
The torque is estimated over the rotor air gap and stator air gap surfaces (2D), called by `Print[ Torque_Maxwell[Rotor_Airgap]...` during a PostOperation.
Trying to formulate the torque for the 3D case based on the stress tensor, I come up to the following solution:
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * XYZ[]) ] * 2*Pi / GetVolume[] ]`
The group I pass during the function call is both air discs at the airgap between the rotor and stator.
However the results seem quite wrong. Do you have any suggestion on what to change in this line?
Update 
Giving another try at following the given formula and replacing the surface by the volume, I would write:
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * Unit[Vector[0, 0, Z[]]]) ] * Norm[Vector[X[], Y[], 0]] * 2 * Pi / GetVolume[] ]` which I assume corresponding to $`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / ep`$, with $`ep = V / (2\pi r_{avg})`$
or
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * Unit[Vector[0, 0, Z[]]]) ] / HeightDisc ]` which I assume corresponding to $`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / HeightDisc `$, with $`HeightDisc = V / S`$ As the integration is happening in the (surrounding) volume but the surface integral is required.
Knowing that both air discs are above and below the Z=0 plane, simplifying the normal to `Unit[Vector[0, 0, Z[]]]` ![image](/uploads/ee04bbccb2bb1fcff15b8f3d388887b1/image.png)Hello,
I am implementing a 3D model of an axial flux machine with one rotor and two stators.
The example taken as reference is the static formulation in the machine_magstadyn_a.pro .
In the example, the Maxwell tensor is given by:
`T_max[] = ( SquDyadicProduct[$1]  SquNorm[$1] * TensorDiag[0.5, 0.5, 0.5] ) / mu0 ;`
This is equivalent to the definition $`\sigma _{ij}={\frac {1}{\mu _{0}}}B_{i}B_{j}{\frac {1}{2\mu _{0}}}B^{2}\delta _{ij}`$, and seems reusable for the 3D case.
(https://en.wikipedia.org/wiki/Maxwell_stress_tensor)
Then the torque is computed (see comments in code) with the following integral:
$`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / ep`$, with $`ep = S / (2\pi r_{avg})`$, where I understand that the `ep` term comes from the fact that the integration happens within the airgap volume (surface in 2D) instead of surface (Line in 2D).
With the folowing code implementation:
`{ Name Torque_Maxwell ; Value { Integral { [ CompZ [ XYZ[] /\ (T_max[{d a}] * XYZ[]) ] * 2*Pi*AxialLength/SurfaceArea[] ] ; In Domain ; Jacobian Vol ; Integration I1; }}}`
The torque is estimated over the rotor air gap and stator air gap surfaces (2D), called by `Print[ Torque_Maxwell[Rotor_Airgap]...` during a PostOperation.
Trying to formulate the torque for the 3D case based on the stress tensor, I come up to the following solution:
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * XYZ[]) ] * 2*Pi / GetVolume[] ]`
The group I pass during the function call is both air discs at the airgap between the rotor and stator.
However the results seem quite wrong. Do you have any suggestion on what to change in this line?
Update 
Giving another try at following the given formula and replacing the surface by the volume, I would write:
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * Unit[Vector[0, 0, Z[]]]) ] * Norm[Vector[X[], Y[], 0]] * 2 * Pi / GetVolume[] ]` which I assume corresponding to $`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / ep`$, with $`ep = V / (2\pi r_{avg})`$
or
`[ CompZ [ XYZ[] /\ (T_max[{d a}] * Unit[Vector[0, 0, Z[]]]) ] / HeightDisc ]` which I assume corresponding to $`\int_S (\vec{r} \times (T_{max} \vec{n}) ) / HeightDisc `$, with $`HeightDisc = V / S`$ As the integration is happening in the (surrounding) volume but the surface integral is required.
Knowing that both air discs are above and below the Z=0 plane, simplifying the normal to `Unit[Vector[0, 0, Z[]]]` ![image](/uploads/ee04bbccb2bb1fcff15b8f3d388887b1/image.png)https://gitlab.onelab.info/getdp/getdp//issues/85Job Failed #5654220210528T14:59:06ZNicolas MarsicJob Failed #56542Hi Christophe,
When compiling commit 34671040, the windows64_ci fails to compile: Job [#56542](https://gitlab.onelab.info/getdp/getdp//jobs/56542).
There is however no error message (just a few warnings from parts of the code unrelated to the commit).
I also tried to rerun the job several times, and it seems to stop every time at a different place...
Any idea about what happens :/?
Could it come from the parallel compilation, which might trigger a fail before printing its stuff on stdout?Hi Christophe,
When compiling commit 34671040, the windows64_ci fails to compile: Job [#56542](https://gitlab.onelab.info/getdp/getdp//jobs/56542).
There is however no error message (just a few warnings from parts of the code unrelated to the commit).
I also tried to rerun the job several times, and it seems to stop every time at a different place...
Any idea about what happens :/?
Could it come from the parallel compilation, which might trigger a fail before printing its stuff on stdout?https://gitlab.onelab.info/getdp/getdp//issues/84Machine_magstadyn_a and mastadyn_av_js0_3d derivation of the formulation20210526T20:09:30ZTheo MessinMachine_magstadyn_a and mastadyn_av_js0_3d derivation of the formulationHello,
**Setup:** Working on integrating the Machine_magstadyn_a or mastadyn_av_js0_3d for the simulation of a 3D electric machine.
**Problem:** Difficulty understanding where the formulation comes from
**Questions:**
Are there any papers, personal documentation, references or similar that are available or that your could share that would explain the derivation of the 'Formulation' part of the .pro file. (Derivation from the maxwell equations to the Formulation presented in the examples)?
Also, as a mean to validate my assumption: Is the Machine_magstadyn_a formulation reusable for 3D axial/radial flux machines?
Thanks in advance for your answer,
Theo
Update  the best I have been able to find so far is the following, for those who ask themselves the same questions :)
https://www.sciencedirect.com/science/article/pii/B9780124077096000018 Multiphysics Modeling Numerical Methods and Engineering Applications Elsevier and Tsinghua University Press Computational Mechanics Series 2016, Pages 196
and  for simplicity of explaination  https://www.math.uh.edu/\~rohop/Fall_16/downloads/Chapter8.pdfHello,
**Setup:** Working on integrating the Machine_magstadyn_a or mastadyn_av_js0_3d for the simulation of a 3D electric machine.
**Problem:** Difficulty understanding where the formulation comes from
**Questions:**
Are there any papers, personal documentation, references or similar that are available or that your could share that would explain the derivation of the 'Formulation' part of the .pro file. (Derivation from the maxwell equations to the Formulation presented in the examples)?
Also, as a mean to validate my assumption: Is the Machine_magstadyn_a formulation reusable for 3D axial/radial flux machines?
Thanks in advance for your answer,
Theo
Update  the best I have been able to find so far is the following, for those who ask themselves the same questions :)
https://www.sciencedirect.com/science/article/pii/B9780124077096000018 Multiphysics Modeling Numerical Methods and Engineering Applications Elsevier and Tsinghua University Press Computational Mechanics Series 2016, Pages 196
and  for simplicity of explaination  https://www.math.uh.edu/\~rohop/Fall_16/downloads/Chapter8.pdfhttps://gitlab.onelab.info/getdp/getdp//issues/83Stranded conductor  simple 3D current in coil implementation20210601T16:20:26ZTheo MessinStranded conductor  simple 3D current in coil implementationHello,
I am trying to build a 3D coil in an electric machine and to add some current in it.
**Known approach:** Follow the 3D inductor.pro example, and parametrise the current for each mesh element within the 3D coil. However this is hardly scalable for more complex / various coil geometries.
**My approach:** I add a plane coil_cut within the 3D coil and add some current density vectors normal to this plane. Considering that the coil is simulated as a 'conducting element', the current should be flowing throught the whole coil.
**Question:** How to define a stranded coil? Meaning: How to set the coil to be conducting the current imposed but to not be affected by the possible eddy currents generated by the magnetic field in the coils? (The coil might be made out of thin copper wires, where eddy currents are negligeable)
**Possible solution:** Should this happen in the "formulation" part of the script? Defining a formulation for the coil and another formulation for the rest of the machine?Hello,
I am trying to build a 3D coil in an electric machine and to add some current in it.
**Known approach:** Follow the 3D inductor.pro example, and parametrise the current for each mesh element within the 3D coil. However this is hardly scalable for more complex / various coil geometries.
**My approach:** I add a plane coil_cut within the 3D coil and add some current density vectors normal to this plane. Considering that the coil is simulated as a 'conducting element', the current should be flowing throught the whole coil.
**Question:** How to define a stranded coil? Meaning: How to set the coil to be conducting the current imposed but to not be affected by the possible eddy currents generated by the magnetic field in the coils? (The coil might be made out of thin copper wires, where eddy currents are negligeable)
**Possible solution:** Should this happen in the "formulation" part of the script? Defining a formulation for the coil and another formulation for the rest of the machine?https://gitlab.onelab.info/getdp/getdp//issues/82Guidance on obtaining stiffness and mass matrices20210511T02:43:36ZAlexander ShendiGuidance on obtaining stiffness and mass matricesDear getdp folks,
I need some guidance on how to obtain the stiffness and mass
matrices for a linear elasticity eigenvalue problem (presumably
as a postprocessing step).
I need to transform them into modal coordinates.
Thanks in advance!Dear getdp folks,
I need some guidance on how to obtain the stiffness and mass
matrices for a linear elasticity eigenvalue problem (presumably
as a postprocessing step).
I need to transform them into modal coordinates.
Thanks in advance!https://gitlab.onelab.info/getdp/getdp//issues/81Computation times on Linux aarch64 vs OpenBSD amd6420210514T12:34:55ZAlexander ShendiComputation times on Linux aarch64 vs OpenBSD amd64Hello gentle getdp folks,
I have observed rather lqrge (ca. one order of magnitude) differences in calculation times (both wall and cpu). See the attached text file for more details.
The times reported are:
1. Start of program
2. After eigenvalue calculation
3. After Postprocessing
4. End of program
There seems to a difference between wall clock time and cpu time during postprocessing on OpenBSD. On OpenBSD I moved the calculation directory
to a RAM disk, but that didn't help much.
I'm mainly looking for further hints on how to proceed with debugging
the problem. I will also be glad to supply further information,
if needed.
Attachements:
[out.001.txt](/uploads/5fb77a75e989c2dc3dc2e9c35a56e17d/out.001.txt)![OpenBSD_und_Linux](/uploads/30e2f37946800e7e1ef54a56f0de71fa/OpenBSD_und_Linux.png)Hello gentle getdp folks,
I have observed rather lqrge (ca. one order of magnitude) differences in calculation times (both wall and cpu). See the attached text file for more details.
The times reported are:
1. Start of program
2. After eigenvalue calculation
3. After Postprocessing
4. End of program
There seems to a difference between wall clock time and cpu time during postprocessing on OpenBSD. On OpenBSD I moved the calculation directory
to a RAM disk, but that didn't help much.
I'm mainly looking for further hints on how to proceed with debugging
the problem. I will also be glad to supply further information,
if needed.
Attachements:
[out.001.txt](/uploads/5fb77a75e989c2dc3dc2e9c35a56e17d/out.001.txt)![OpenBSD_und_Linux](/uploads/30e2f37946800e7e1ef54a56f0de71fa/OpenBSD_und_Linux.png)https://gitlab.onelab.info/getdp/getdp//issues/80rfpm 3D model  gauge condition20210510T14:23:29ZTheo Messinrfpm 3D model  gauge conditionHello,
Looking at the **rfpm.pro** example (3D model of a RFPM machine), I do not understand the meaning of the **'gauge' constraint.**
```
// A correct spanningtree is essential to the validity of the model.
// The spanningtree must be autosimilar by rotation on the sliding surfaces
// (SubRegion2 clause, only the edges aligned with the Z axis are placed in
// the tree), and be also a spanningtree and Dirichlet and Link surfaces and
// their boundaries (SubRegion clause).
{ Name GaugeCondition_a ; Type Assign ;
Case {
{ Region Vol_Tree ; Value 0. ;
SubRegion Region[ { Sur_Tree, Lin_Tree} ] ;
SubRegion2 Region[ Sur_Tree_Sliding, AlignedWith Z ] ;
}
}
}
```
What does this constraint do? Why is it needed? Would its implementation for a 3D AFM model be needed or differ?
(my current implementation of it does not make sense)
Thanks in advance!
Regards,
TheoHello,
Looking at the **rfpm.pro** example (3D model of a RFPM machine), I do not understand the meaning of the **'gauge' constraint.**
```
// A correct spanningtree is essential to the validity of the model.
// The spanningtree must be autosimilar by rotation on the sliding surfaces
// (SubRegion2 clause, only the edges aligned with the Z axis are placed in
// the tree), and be also a spanningtree and Dirichlet and Link surfaces and
// their boundaries (SubRegion clause).
{ Name GaugeCondition_a ; Type Assign ;
Case {
{ Region Vol_Tree ; Value 0. ;
SubRegion Region[ { Sur_Tree, Lin_Tree} ] ;
SubRegion2 Region[ Sur_Tree_Sliding, AlignedWith Z ] ;
}
}
}
```
What does this constraint do? Why is it needed? Would its implementation for a 3D AFM model be needed or differ?
(my current implementation of it does not make sense)
Thanks in advance!
Regards,
Theohttps://gitlab.onelab.info/getdp/getdp//issues/79mpi.h included twice20210418T17:19:01ZAlexander Shendimpi.h included twicempi.h is included twice when using both OpenMPI and PetSC in file Kernel/Operation_Brodcast.cpp.
I "solved" the problem by commenting out the "#include <mpi.h>" statement in Common/GetDPConfig.h (after "#ifdef HAVE_MPI" line.mpi.h is included twice when using both OpenMPI and PetSC in file Kernel/Operation_Brodcast.cpp.
I "solved" the problem by commenting out the "#include <mpi.h>" statement in Common/GetDPConfig.h (after "#ifdef HAVE_MPI" line.https://gitlab.onelab.info/getdp/getdp//issues/78ARPACK96 doesn't work for eigenvalue problem (elasticity 3D modal)20210418T17:21:51ZAlexander ShendiARPACK96 doesn't work for eigenvalue problem (elasticity 3D modal)ARPACK96 doesn't converge for me for modal elasticity 3D problem. SLEPC does. Tested on Debian Linux/aarch64 and OpenBSDcurrent amd64.
I initially used ARPACK96, because it was available from ports for OpenBSD.ARPACK96 doesn't converge for me for modal elasticity 3D problem. SLEPC does. Tested on Debian Linux/aarch64 and OpenBSDcurrent amd64.
I initially used ARPACK96, because it was available from ports for OpenBSD.https://gitlab.onelab.info/getdp/getdp//issues/77Implement ABC or PML boundary condition20210421T07:37:18ZJules KoenigImplement ABC or PML boundary conditionHello,
I built a simple model consisting of two rectangular surfaces with different permittivities. I have placed a sinusoidal source point in the upper rectangle.
I then do a temporal study of the propagation of the wave between the two media. However I find myself with unwanted reflections on the boundaries of the domain. I therefore wish to implement absorbing boundaries of ABC or PML type.
I could see that these are implemented in the "AcousticScattering" project. However they are in the frequency domain and moreover the associated code is very bulky and I admit having great difficulty in adapting it to my study.
Could you tell me how to implement as simply as possible one of these two absorption conditions?
I have attached the source files and some screenshots of the model.
I thank you in advance,
KOENIG Jules
[cavite.geo](/uploads/d536989e1d765a9fdd11875cbfccbfdb/cavite.geo)
[cavite.pro](/uploads/f07ade8495cfac4637491108e8aa0725/cavite.pro)
[DAT_cavite.dat](/uploads/8e6f746694df8cef5ff70e64555e4e2d/DAT_cavite.dat)
![Capture1](/uploads/db58f890e4048f66b28b2432f9e0756b/Capture1.JPG)
![Capture2](/uploads/6b95b1f367603528e37152c7e50efd14/Capture2.JPG)
![Capture3](/uploads/32915f6a6baeb06972a55d96e037f6e4/Capture3.JPG)Hello,
I built a simple model consisting of two rectangular surfaces with different permittivities. I have placed a sinusoidal source point in the upper rectangle.
I then do a temporal study of the propagation of the wave between the two media. However I find myself with unwanted reflections on the boundaries of the domain. I therefore wish to implement absorbing boundaries of ABC or PML type.
I could see that these are implemented in the "AcousticScattering" project. However they are in the frequency domain and moreover the associated code is very bulky and I admit having great difficulty in adapting it to my study.
Could you tell me how to implement as simply as possible one of these two absorption conditions?
I have attached the source files and some screenshots of the model.
I thank you in advance,
KOENIG Jules
[cavite.geo](/uploads/d536989e1d765a9fdd11875cbfccbfdb/cavite.geo)
[cavite.pro](/uploads/f07ade8495cfac4637491108e8aa0725/cavite.pro)
[DAT_cavite.dat](/uploads/8e6f746694df8cef5ff70e64555e4e2d/DAT_cavite.dat)
![Capture1](/uploads/db58f890e4048f66b28b2432f9e0756b/Capture1.JPG)
![Capture2](/uploads/6b95b1f367603528e37152c7e50efd14/Capture2.JPG)
![Capture3](/uploads/32915f6a6baeb06972a55d96e037f6e4/Capture3.JPG)https://gitlab.onelab.info/getdp/getdp//issues/763D Model  Electric machine  equivalent to moving band in 3D20210506T07:37:56ZTheo Messin3D Model  Electric machine  equivalent to moving band in 3DHello,
I am trying to model an axial flux machine (two stators, one central rotor disc).
I found a few (great) 2D examples using the moving band method.
I am not sure if such 3D models already exist and what method should used for simulation purpose.
Attached the geo file and a PNG of the preview of a example machine (4 poles, 6 teeth).
[AFM_picture](/uploads/a5fe1e3ee093adbfa86edac46f255215/issue_AFM_geo.PNG)
[03_3D_AFIR_4p6s.geo_unrolled](/uploads/36ad77b8e22d67452ed8ace61c850e28/03_3D_AFIR_4p6s.geo_unrolled)
NB: the machine might not have any symmetry, as stator shifting, skewing etc. might be implemented. The whole machine needs to be simulated.
**Setup  summary:**
 A double stator single rotor axial flux machine
 Goal: 3D geometry and simulation (torque, losses)
 Based on gmsh & GetDP
**Questions:**
 Is there an equivalent to 2D moving band for 3D geometries?
 Any knowledge of existing similar projects? (links to papers/code source)
 What would be the best practice/which example to follow to simulate such machine?
Thank you for the help!Hello,
I am trying to model an axial flux machine (two stators, one central rotor disc).
I found a few (great) 2D examples using the moving band method.
I am not sure if such 3D models already exist and what method should used for simulation purpose.
Attached the geo file and a PNG of the preview of a example machine (4 poles, 6 teeth).
[AFM_picture](/uploads/a5fe1e3ee093adbfa86edac46f255215/issue_AFM_geo.PNG)
[03_3D_AFIR_4p6s.geo_unrolled](/uploads/36ad77b8e22d67452ed8ace61c850e28/03_3D_AFIR_4p6s.geo_unrolled)
NB: the machine might not have any symmetry, as stator shifting, skewing etc. might be implemented. The whole machine needs to be simulated.
**Setup  summary:**
 A double stator single rotor axial flux machine
 Goal: 3D geometry and simulation (torque, losses)
 Based on gmsh & GetDP
**Questions:**
 Is there an equivalent to 2D moving band for 3D geometries?
 Any knowledge of existing similar projects? (links to papers/code source)
 What would be the best practice/which example to follow to simulate such machine?
Thank you for the help!https://gitlab.onelab.info/getdp/getdp//issues/75Electrical machine tutorial with magnet losses computation20210419T10:44:59ZCrisBabElectrical machine tutorial with magnet losses computationThanks for all the tutorials shared with the community: they are very useful and detailed.
Among the Electrical machines tutorials, there is not a model which computes the magnet losses in timedomain simulations.
Do you think it is possible to add this feature to one of the tutorials in the future release?
If not, Since I've not many skills with GetDP, could you suggest which computation should be added?
ThanksThanks for all the tutorials shared with the community: they are very useful and detailed.
Among the Electrical machines tutorials, there is not a model which computes the magnet losses in timedomain simulations.
Do you think it is possible to add this feature to one of the tutorials in the future release?
If not, Since I've not many skills with GetDP, could you suggest which computation should be added?
Thankshttps://gitlab.onelab.info/getdp/getdp//issues/74Unicode is not recognized in path parameters20210323T16:39:18ZRaimonds VilumsUnicode is not recognized in path parametersUnicode characters are not recognized in the path to pro or mesh files
![image](/uploads/54dab7b203005ecaa4dbdfb0babe26b7/image.png)Unicode characters are not recognized in the path to pro or mesh files
![image](/uploads/54dab7b203005ecaa4dbdfb0babe26b7/image.png)https://gitlab.onelab.info/getdp/getdp//issues/73magstadyn_av_js0_3d.pro20210318T07:48:10ZAleksei Semenovmagstadyn_av_js0_3d.proHello Dear Sirs!
Unfortunately, I have not found any forums where people discuss the use of the gmsh/getdp software package, so I decide to write here. If there are forums where I can communicate with experienced users of this product, please send me link.
There is a question about using gmsh/getdp for modeling problems related to the electromagnetic field (eddy current nondestructive testing of ferromagnetic products). Based on magstadyn_av_js0_3d.pro the problem was described(the exciting coil and the conducting object located in it). Av formulation was used. The problem is solved presumably correctly, but there is a question that I could not answer.
The question concerns the last integral in the Equation section for Coulomb calibration, namely Galerkin { [ Dof{d xi}, {a} ] ; In Domain ; Jacobian Vol ; Integration II ; }.
Please tell me what is the meaning of this integral?
I tried to change the basis functions to d{xi} or to d{v} (Galerkin { [ Dof{d xi}, {d xi} ] ;...), the problem stops being solved correctly.
If I understand correctly in the case of using Coulomb calibration, the requirement div(A)=0 is added. After integrating by xi and applying Green's formula, we get the integral of (div(xi*a) – a* d xi). If homogeneous Dirichlet boundary conditions are given for xi, then a* d xi remains. Where does Dof{d xi}, {a} come from?
[magstadyn_av_js0_3d_claster_.pro](/uploads/5d88f48d2d8e9f8856c67b0db9fa1787/magstadyn_av_js0_3d_claster_.pro)Hello Dear Sirs!
Unfortunately, I have not found any forums where people discuss the use of the gmsh/getdp software package, so I decide to write here. If there are forums where I can communicate with experienced users of this product, please send me link.
There is a question about using gmsh/getdp for modeling problems related to the electromagnetic field (eddy current nondestructive testing of ferromagnetic products). Based on magstadyn_av_js0_3d.pro the problem was described(the exciting coil and the conducting object located in it). Av formulation was used. The problem is solved presumably correctly, but there is a question that I could not answer.
The question concerns the last integral in the Equation section for Coulomb calibration, namely Galerkin { [ Dof{d xi}, {a} ] ; In Domain ; Jacobian Vol ; Integration II ; }.
Please tell me what is the meaning of this integral?
I tried to change the basis functions to d{xi} or to d{v} (Galerkin { [ Dof{d xi}, {d xi} ] ;...), the problem stops being solved correctly.
If I understand correctly in the case of using Coulomb calibration, the requirement div(A)=0 is added. After integrating by xi and applying Green's formula, we get the integral of (div(xi*a) – a* d xi). If homogeneous Dirichlet boundary conditions are given for xi, then a* d xi remains. Where does Dof{d xi}, {a} come from?
[magstadyn_av_js0_3d_claster_.pro](/uploads/5d88f48d2d8e9f8856c67b0db9fa1787/magstadyn_av_js0_3d_claster_.pro)https://gitlab.onelab.info/getdp/getdp//issues/72GetDP running on geometry data created by Gmsh API20210404T08:45:20ZAlbert PiwonskiGetDP running on geometry data created by Gmsh APIHello together,
I implemented a FEM in the Julia PL. I created a mesh by using the Julia Gmsh API.
Now I want to compare my results with a GetDP solution (fixing the example "Magnetodynamics with cohomology conditions" to my problem).
Is it necessary to backtranslate the Julia meshing file (.jl) into a Gmsh scripting language file (.geo)?
Or does the GetDP (.pro) file only needs the physical group labels of the generated mesh?
Greeting,
AlbertHello together,
I implemented a FEM in the Julia PL. I created a mesh by using the Julia Gmsh API.
Now I want to compare my results with a GetDP solution (fixing the example "Magnetodynamics with cohomology conditions" to my problem).
Is it necessary to backtranslate the Julia meshing file (.jl) into a Gmsh scripting language file (.geo)?
Or does the GetDP (.pro) file only needs the physical group labels of the generated mesh?
Greeting,
Alberthttps://gitlab.onelab.info/getdp/getdp//issues/71Error : You need to compile GetDP with Gmsh support to open20210126T13:24:47ZWANG JIAQIError : You need to compile GetDP with Gmsh support to openWhen I build getDP in ubuntu18.04, it is well to build it.
However, it fail to run, with error: Error : You need to compile GetDP with Gmsh support to open XXX
root@d98921616f4e://jiaqiwang969/DGFEMAcoustic/doc/onelabsource/tutorials/getdp/Electrostatics# getdp microstrip.pro solve EleSta_v
Info : Running 'getdp microstrip.pro solve EleSta_v' [GetDP 3.3.1gitd6d8d43, 1 node, max. 1 thread]
Info : Started (Mon Jan 25 15:37:30 2021, Wall = 0.014082s, CPU = 0.004117s, Mem = 8.97656Mb)
Info : Increasing process stack size (8192 kB < 16 MB)
Info : Loading problem definition 'microstrip.pro'
Info : Selected Resolution 'EleSta_v'
Info : Loading Geometric data 'microstrip.msh'
Error : You need to compile GetDP with Gmsh support to open 'microstrip.msh'When I build getDP in ubuntu18.04, it is well to build it.
However, it fail to run, with error: Error : You need to compile GetDP with Gmsh support to open XXX
root@d98921616f4e://jiaqiwang969/DGFEMAcoustic/doc/onelabsource/tutorials/getdp/Electrostatics# getdp microstrip.pro solve EleSta_v
Info : Running 'getdp microstrip.pro solve EleSta_v' [GetDP 3.3.1gitd6d8d43, 1 node, max. 1 thread]
Info : Started (Mon Jan 25 15:37:30 2021, Wall = 0.014082s, CPU = 0.004117s, Mem = 8.97656Mb)
Info : Increasing process stack size (8192 kB < 16 MB)
Info : Loading problem definition 'microstrip.pro'
Info : Selected Resolution 'EleSta_v'
Info : Loading Geometric data 'microstrip.msh'
Error : You need to compile GetDP with Gmsh support to open 'microstrip.msh'https://gitlab.onelab.info/getdp/getdp//issues/70Automatic httpsforwarding not working20210126T21:10:41ZUser_NAutomatic httpsforwarding not workingWhen visiting getdp.info, there is no automatic forwarding to https://getdp.info/ (but let's encrypt certificate is available).
And even when using https://getdp.info/ some graphic parts are not using https.When visiting getdp.info, there is no automatic forwarding to https://getdp.info/ (but let's encrypt certificate is available).
And even when using https://getdp.info/ some graphic parts are not using https.