getdp issueshttps://gitlab.onelab.info/getdp/getdp/-/issues2023-10-17T12:11:13Zhttps://gitlab.onelab.info/getdp/getdp/-/issues/157interior permanent magnet synchronous machine ONELAB2023-10-17T12:11:13Zivan MEDRANOinterior permanent magnet synchronous machine ONELABHello everyone, I am currently developing a project for a machine with a magnet inside the rotor, I have a simulation already made, as can be seen in the figure, I have some questions and if possible I would greatly appreciate your help:...Hello everyone, I am currently developing a project for a machine with a magnet inside the rotor, I have a simulation already made, as can be seen in the figure, I have some questions and if possible I would greatly appreciate your help:
Can ONE LAB work with magnets inside the rotor without having to alter the pmsm_8p_circuit.pro file or the machine_magstadyn_a.pro file, of course I had to modify the machine_magstadyn_a.pro file, to define the new regions, but just change in that?
Do you know how BACK calculates or estimates emf?
Does performing the simulation give a completely wrong waveform for the torque as shown in the figure?
![onelabforum](/uploads/a7759c950e200ed4752bf7d885e24794/onelabforum.jpg)
![torqueforum](/uploads/7b8a125379c6e2a61d1490b1f4bf408f/torqueforum.jpg)
applying current to the stator returns a negative torque, how is that possible? , it is very likely that my simulation still has problems,
when the simulation is carried out without considering the current, the values to return for torque are the values corresponding to cogging torque ??? And one last question, what is the difference between the torque that returns from the rotor and from the stator.https://gitlab.onelab.info/getdp/getdp/-/issues/110Auto-symmetrization of Galerkin terms2023-09-22T07:24:04ZChristophe GeuzaineAuto-symmetrization of Galerkin termsWe should fix the auto-symmetrization of terms by being "safe", i.e. only auto-symmetrize with tensor-valued functions if the term involves symmetric tensors.
See https://gitlab.onelab.info/getdp/getdp/-/blob/master/Kernel/Cal_GalerkinT...We should fix the auto-symmetrization of terms by being "safe", i.e. only auto-symmetrize with tensor-valued functions if the term involves symmetric tensors.
See https://gitlab.onelab.info/getdp/getdp/-/blob/master/Kernel/Cal_GalerkinTermOfFemEquation.cpp#L72
@julien.dularhttps://gitlab.onelab.info/getdp/getdp/-/issues/100issue about template2021-10-21T22:56:14ZJie Liissue about templateHallo,
When I run the template you gave me (interactive_Elasticity.pro) as instructed, it pops up with the following:![issue](/uploads/c024fa973bf8e5f0a29a1d51bbc1ce09/issue.png). It shows:Error:GetDP- Unable to open file'D:/getdp/Intera...Hallo,
When I run the template you gave me (interactive_Elasticity.pro) as instructed, it pops up with the following:![issue](/uploads/c024fa973bf8e5f0a29a1d51bbc1ce09/issue.png). It shows:Error:GetDP- Unable to open file'D:/getdp/Interactive_Elasticity.**msh**'Is there any solution to this please?
best wishes
Jiehttps://gitlab.onelab.info/getdp/getdp/-/issues/168Large mesh type influence on calculated field results2024-03-13T16:36:23ZMax HullmannLarge mesh type influence on calculated field resultsHello together,
I am working on quite a simple model for the 3-D calculation of eddy current losses in permanent magnets. The field source is calculated in an external magnetostatic FEA program, is then mapped onto the Gmsh model and fi...Hello together,
I am working on quite a simple model for the 3-D calculation of eddy current losses in permanent magnets. The field source is calculated in an external magnetostatic FEA program, is then mapped onto the Gmsh model and finally used for the 3-D field caclulation with GetDP.
However, I have found that the calculation results (eddy current field, eddy current loss) vary greatly depending on the type of grid used. Only the tetrahedral mesh delivers the expected results. With a hexahedral mesh, the deviation is suspiciously large. With a triangular prism mesh, the deviation becomes much smaller, but is still remarkable. I have attached an example.
Kind regards,
Max
[example_mesh_influence.zip](/uploads/e35ff6dcda2a59618a678f7e76cd0601/example_mesh_influence.zip)
![ecloss_hexahedron](/uploads/653bb2324471213b56340729550e8971/ecloss_hexahedron.png)![ecloss_tetrahedron](/uploads/95c9d876da1331dd1b8cdd99c887a084/ecloss_tetrahedron.png)https://gitlab.onelab.info/getdp/getdp/-/issues/163Question: can we modelize semiconductor electrical equations in GetDP2023-10-26T15:25:41ZPhilQuestion: can we modelize semiconductor electrical equations in GetDPHello
first let me share a big whaou and a big thank for the job done on GetDP !
I'm new with GetDP and looking how to run thermo-electrical simulation of a semiconductor device given the mesh of the structure, e.g the active part + me...Hello
first let me share a big whaou and a big thank for the job done on GetDP !
I'm new with GetDP and looking how to run thermo-electrical simulation of a semiconductor device given the mesh of the structure, e.g the active part + metal access path. I found the example of ElectroThermal_Sim in https://gitlab.onelab.info/getdp/getdp/-/wikis/Nonlinear-solvers (bottom of the page) very interesting but can't figure out the way to code non linear electrical equations in the Formulation object of .pro input file.
A simple example of non-linear electrical equation would be the diode current equation:
given Vbreak, I0 and the temperature dependent voltage V0(Temperature),the diode current Id is function its potential difference Vj
if Vj \< Vbreak then Id = -I0 \* (Vj/Vbreak)^N // this equation to materialize the need to code a "if/then/else"
else Id = I0\*(exp(Vj/V0(T)) - 1)
I believe that a way would be to define a volume in the structure where this equation apply, replace the equation of current by an equation of its<span dir=""> </span>electrical conductivity in only one direction (for example in Z) retrieving the potential difference of elementary mesh cell in the same Z direction.
Any hint would be appreciated
Philhttps://gitlab.onelab.info/getdp/getdp/-/issues/162Incorrect calculated Brooks coil inductance2023-10-25T07:13:19ZDenIncorrect calculated Brooks coil inductanceTask
Calculate Brooks coil inductance.
![image](/uploads/4a1b7e948724013d593ce8001e84df83/image.png)
Brooks coil has specially adjusted dimensions, which assure the maximum inductance value for a given wire length.
Given
Current I = 1 ...Task
Calculate Brooks coil inductance.
![image](/uploads/4a1b7e948724013d593ce8001e84df83/image.png)
Brooks coil has specially adjusted dimensions, which assure the maximum inductance value for a given wire length.
Given
Current I = 1 A,
Number of turns N = 200,
c = 20 mm.
Solution
Brooks coil inductance can be calculated using equation:
L = 1.6994·10-6·(3/2·c)·N² [H]*,
where N - number of turns.
Results
Theoretical value L = 1.6994·10-6·(3/2·20·10-3)·200² = 0.002039 H.
Calculation in Gmsh &GetDP L= 4.96279e-08
![image](/uploads/35af0d5b3d736a3fe85696dbd4a095b1/image.png)
It's not clear where the error might be
[simple_coil.geo](/uploads/0f0f215274dcc5dc6091b1160911de69/simple_coil.geo)
[simple_coil.pro](/uploads/a5349023299faafbd5c38fdfb44f9229/simple_coil.pro)
[Lib_Magnetostatics_a_phi.pro](/uploads/8842c4430261fce184624b2db2c8c385/Lib_Magnetostatics_a_phi.pro)
[Lib_Materials.pro](/uploads/b353aa73298dbc089cb5901b4b726951/Lib_Materials.pro)https://gitlab.onelab.info/getdp/getdp/-/issues/161Incorrect work of Interactive_Magnetostatics.pro template for 3D tasks2023-10-26T06:28:31ZDenIncorrect work of Interactive_Magnetostatics.pro template for 3D tasksProblem, similar to issue #121(https://gitlab.onelab.info/getdp/getdp/-/issues/121 "Incorrect work of Interactive_Elasticity.pro template for 3D tasks") For subsequent non-interactive use of the ".pro" file for 3D tasks, the Interactive_...Problem, similar to issue #121(https://gitlab.onelab.info/getdp/getdp/-/issues/121 "Incorrect work of Interactive_Elasticity.pro template for 3D tasks") For subsequent non-interactive use of the ".pro" file for 3D tasks, the Interactive_Magnetostatics.pro file must be modified.
```
// insert modelDim for correct operation in 3d
If(export&&modelDim==3)
Printf(StrCat['modelDim = 3;'])
>> Str[exportFile];
EndIf
```https://gitlab.onelab.info/getdp/getdp/-/issues/160Delete PostProcessing Views Before PostOperation2023-10-24T03:40:16ZStuart BarthDelete PostProcessing Views Before PostOperationPost-processing views are generally created in the `PostOperation` step by using the `Print[ `_`post-quantity-id`_ `<[`_`group-def`_`]>, `_`print-support`_ `<,`_`print-option`_`> ... ]` command. **gmsh** has a command `Delete View[`_`exp...Post-processing views are generally created in the `PostOperation` step by using the `Print[ `_`post-quantity-id`_ `<[`_`group-def`_`]>, `_`print-support`_ `<,`_`print-option`_`> ... ]` command. **gmsh** has a command `Delete View[`_`expression`_`];` that deletes these post-processing views at the index of _`expression`_. I want to run my simulation multiple times, but also clear any existing post-processing views before starting a new simlation. I think the easiset way to do this is in **getdp**'s `PostOperation` step, before the `Print[]` commands are called.
In [rhombus.pro](https://gitlab.onelab.info/doc/models/-/blob/master/BlochPeriodicWaveguides/rhombus.pro#L286), we see that the `Delete View[ ]` is mentioned to do precisely this -- but not explictly called, and indeed, **getdp** doesn't seem to recognize the command here if not `Echo`'d.
Is there some way to delete the postprocessing views before a new simulation is run?
Thank you!https://gitlab.onelab.info/getdp/getdp/-/issues/159Calculate resistance in inductor example - problem with current density in co...2023-08-31T08:43:21ZPatrickCalculate resistance in inductor example - problem with current density in conductorHello,
I would like to calculate the resistance in the inductor example. However, in the current setup, it seems that the eddy current is only being simulated in the core and not in the coil.
**Approach:** To address this limitation, I...Hello,
I would like to calculate the resistance in the inductor example. However, in the current setup, it seems that the eddy current is only being simulated in the core and not in the coil.
**Approach:** To address this limitation, I have included the coil within DomainC to simulate the skin effect within the coil itself.
**Problem:** Unfortunately, the current density, represented as jAV + js1, does not appear to be correct.
**Question:** I am seeking guidance on how to modify the example to accurately simulate both the skin and proximity effects within the coil.
**Possible Solution:** One approach I am considering is defining a voltage between two closely spaced surfaces within the coil and utilizing a circuit definition to model these effects. Does this approach seem feasible, and if so, how should I go about implementing it?
I appreciate any insights or suggestions for improving this simulation.https://gitlab.onelab.info/getdp/getdp/-/issues/158Issues Running GetDP from Python versus Directly from Gmsh2023-08-20T20:23:17ZOthman AbujazarIssues Running GetDP from Python versus Directly from GmshHello everyone,
I'm experiencing an issue when trying to run a time domain simulation from a Python script. When I execute the simulation this way, I encounter a problem. The problem shows that I have freeing solution. This will happen ...Hello everyone,
I'm experiencing an issue when trying to run a time domain simulation from a Python script. When I execute the simulation this way, I encounter a problem. The problem shows that I have freeing solution. This will happen from the step time 3. However, when I place the same files in a single folder and run the simulation directly from Gmsh, it executes without any issues.
Error : Empty solution in DofData 0
Could anyone provide guidance on why this might be happening and how to resolve the issue when running from Python?
Thank you for your assistance.
![freeing_solution](/uploads/681b8ad663547abed455e761635c2db4/freeing_solution.jpg)https://gitlab.onelab.info/getdp/getdp/-/issues/156Vectorial Ohm Law + Continuity Eq.2023-07-03T11:36:15Zmassimiliano galvagnoVectorial Ohm Law + Continuity Eq.Hello Everyone,
I am trying to implement with getDP a very simple Current flow simulation, between voltage drops.
The equation I am using are:
- Div **J** = 0
- **J** = -Sigma*Grad V
However, I am not succeeding in this task when I star...Hello Everyone,
I am trying to implement with getDP a very simple Current flow simulation, between voltage drops.
The equation I am using are:
- Div **J** = 0
- **J** = -Sigma*Grad V
However, I am not succeeding in this task when I start using 3D domain and thus vectorial equations.
My problem raises exactly with the implementation of the Galerkin method for vectors: It is not clear to me whether use **J** as vector (but I am having troubles with vectorial basis set BFNodeX, BFNodeY, BFNodeZ) or separate its component [Jx,Jy,Jz] and in this case which basis function to use for the weak form of the equation.
My actual guess, not working is the following formulation:
//div(J) =0
Galerkin { [ Dof{d jx} , {jx} ] ;
In Vol_tot; Integration I1; Jacobian JVol; }
Galerkin { [ Dof{d jy} , {jy} ] ;
In Vol_tot; Integration I1; Jacobian JVol; }
Galerkin { [ Dof{d jz} , {jz} ] ;
In Vol_tot; Integration I1; Jacobian JVol; }
//sigma* Grad(u)
Galerkin { [ sigma[]*Dof{Grad u} , {u} ];
In Vol_tot; Integration I1; Jacobian JVol; }
//+j=0
Galerkin { [Dof{jx} , {u} ];
In Vol_tot; Integration I1; Jacobian JVol; }
Galerkin { [Dof{jy} , {u} ];
In Vol_tot; Integration I1; Jacobian JVol; }
Galerkin { [Dof{jz} , {u} ];
In Vol_tot; Integration I1; Jacobian JVol; }
I am completely new to this software, thus I will appreciate very much any help with my problem, but eventually also more in general some explanation with this environment
(in case please contact me at massimiliano.galvagno@mail.polimi.it).
Thank you!
Massimiliano Galvagnohttps://gitlab.onelab.info/getdp/getdp/-/issues/155About Freq and Time domain`s simulation2023-06-26T14:48:55ZOthman AbujazarAbout Freq and Time domain`s simulationHello Everyone,
I have recently been exploring the inductor example in ONELAB, and there's a particular observation that has caught my attention. In the frequency domain analysis, I noticed that the Joule losses correspond to the peak v...Hello Everyone,
I have recently been exploring the inductor example in ONELAB, and there's a particular observation that has caught my attention. In the frequency domain analysis, I noticed that the Joule losses correspond to the peak value found in the time domain simulation. This has raised a question for me, as I originally anticipated the losses in the frequency domain to align with the average (or RMS value) from the time domain simulation. I am currently investigating this discrepancy and would appreciate any insights or clarification.
Thanks
Othman Abujazarhttps://gitlab.onelab.info/getdp/getdp/-/issues/154Average in time domain simulation2023-06-15T11:12:35ZOthman AbujazarAverage in time domain simulationHi,
I want to ask if it is possible to get the average in time domain simulation. for example, ![joule](/uploads/f6f19bcdd98e47a35ff8992af5f6505e/joule.png)
Could I make a time Integral or sum the Joule losses over the period time?
tha...Hi,
I want to ask if it is possible to get the average in time domain simulation. for example, ![joule](/uploads/f6f19bcdd98e47a35ff8992af5f6505e/joule.png)
Could I make a time Integral or sum the Joule losses over the period time?
thank youhttps://gitlab.onelab.info/getdp/getdp/-/issues/153linking getdp with gmsh in linux2023-07-01T19:57:48ZZakaria HOUTAlinking getdp with gmsh in linuxI am trying to compile getdp as showed on [wiki](https://gitlab.onelab.info/getdp/getdp/-/wikis/GetDP-compilation) but it seems like it is not linking it correctly.
I understand from this line -- * Build options: 64Bit Arpack[contrib] ...I am trying to compile getdp as showed on [wiki](https://gitlab.onelab.info/getdp/getdp/-/wikis/GetDP-compilation) but it seems like it is not linking it correctly.
I understand from this line -- * Build options: 64Bit Arpack[contrib] Blas[petsc] Gmsh Kernel Lapack[petsc] MPI PETSc PeWe Python that it has been taking gmsh option but when I try to run it gives me the following error message : Error : You need to compile GetDP with Gmsh support to open.
What am I doing wrong ?https://gitlab.onelab.info/getdp/getdp/-/issues/152Multiharmonic Analysis2023-05-30T05:47:43ZJan-Magnus ChristmannMultiharmonic AnalysisDear all,
I would like to make use of the MULTIHARMONIC feature of GetDP, however I do not know how exactly I can
do that and I was unable to find any examples. Could you maybe provide some additional information on
this feature and h...Dear all,
I would like to make use of the MULTIHARMONIC feature of GetDP, however I do not know how exactly I can
do that and I was unable to find any examples. Could you maybe provide some additional information on
this feature and how to use it ? What exactly are its capabilities ? It would be awesome if someone could provide an example. Thank you very much in advance !
Best regards
Jan-Magnus Christmannhttps://gitlab.onelab.info/getdp/getdp/-/issues/150Init transient thermal calculation with a temperature distribution (Scalarfield)2023-03-10T07:58:17ZJan PeschInit transient thermal calculation with a temperature distribution (Scalarfield)Hello everyone,
I would like to simulate a transient thermal cooling process. In a previous step, I calculated the steady-state temperature distribution of the hot workpiece and would now like to use this as the Init for the transient c...Hello everyone,
I would like to simulate a transient thermal cooling process. In a previous step, I calculated the steady-state temperature distribution of the hot workpiece and would now like to use this as the Init for the transient calculation. I have saved the steady-state temperature distribution as a `.pos` file. I would now like to load this with GmshRead as Init for the transient calculation. The geometry of my .geo file is identical for the steady-state and transient calculation.
Resolution:
If(Flag_AnalysisType == 1) // transient general
If( Flag_TFromFile == 1)
GmshRead[ "Ta.pos", 1];
EndIf
InitSolution[T] ;
SaveSolution[T] ;
TimeLoopTheta [t0, t1, dt, 1.0] {
Generate[T] ; Solve[T];
Test[SaveFct[]] {
SaveSolution[T];
}
}
Constraint:
Constraint {
{ Name Temperature ;
Case {
If(Flag_AnalysisType == 0)
{ Region Fix_Temp ; Type Assign; Value 1500 ; }
EndIf
If(Flag_AnalysisType == 1)
{ Region Tot_The ; Type Init; Value ScalarField[XYZ[]]{1}; }
EndIf
}
}
}
I receive the following error. I have already searched the forum, but nothing has helped so far.
> `Error: No views available to interpolate from`
Is this the wrong way to load the temperature distribution from `Ta.pos`?
Is there another or easier way to load the temperature distribution?
Thanks in advance.
Greetings
Janhttps://gitlab.onelab.info/getdp/getdp/-/issues/149Eigenmode problem with DtDof operator (and not DtDtDof)2023-03-02T10:26:47ZWolfgang SuttropEigenmode problem with DtDof operator (and not DtDtDof)Dear all,
I am trying to find eigenmodes for an eddy current problem (Magnetodynamics a-v formulation), i.e. for first order time derivative (DtDof). I hope to obtain as eigenvalues the inverse decay time constants for current density e...Dear all,
I am trying to find eigenmodes for an eddy current problem (Magnetodynamics a-v formulation), i.e. for first order time derivative (DtDof). I hope to obtain as eigenvalues the inverse decay time constants for current density eigenmodes of a passive conductor. A simple demonstration is the 2D Magnetodynamic example (chapter 8.3 of the getDP manual) where I added this resolution section:
```
{ Name Eigenmode ;
System {
{ Name EigenSys ; NameOfFormulation Magnetodynamics_av_2D ; Type ComplexValue ; }
}
Operation {
GenerateSeparate[EigenSys] ;
EigenSolve[EigenSys, NbEigenvalues, EigenvalShiftRe, EigenvalShiftIm] ;
SaveSolutions[EigenSys] ;
}
}
```
(with NbEigenvalues=4, EigenvalShiftRe=0.0, EigenvalShiftIm=0.0) which results in this error:
`Error : GetDP - No System available for EigenSolve: check 'DtDt' and 'GenerateSeparate'`
I am using getDP version 3.5.0, both with and without the `-slepc`option.
Replacing `DtDof`with `DtDtDof`in the formulation removes the error and produces a result that looks like eigenmodes of an oscillatory system, similar to what you'd expect from the various Helmholtz equation examples.
Curiously, source code comments in both src/kernel/Eigensolve_ARPACK.cpp:267 and src/kernel/Eigensolve_SLEPc.cpp:1266 seem to indicate that first order time derivatives should be allowed.
Am I attempting something stupid?
Thanks in advance for any advice ...
Greetings
Wolfganghttps://gitlab.onelab.info/getdp/getdp/-/issues/148Elasticity polar coordinates and Lagrange multipliers2023-09-13T19:06:58ZAlexElasticity polar coordinates and Lagrange multipliersDear all,
I want to run an elasticity simulation (centrifugal force) for a rotor with interior magnets (comparable with https://gitlab.onelab.info/getdp/getdp/-/issues/113). But at the moment, I have some trouble to set the correct cons...Dear all,
I want to run an elasticity simulation (centrifugal force) for a rotor with interior magnets (comparable with https://gitlab.onelab.info/getdp/getdp/-/issues/113). But at the moment, I have some trouble to set the correct constraints. I know about two possible methods:
1. using polar coordinates to set the constraints
2. using lagrange multipliers to set the constraints normally in Cartesian coordinates
For simplicity, I started with a rotating disc. But my implementation of both methods doesn't work. Maybe someone could give me a hint for this? I attached the .geo and .pro files of the rotating disc. I need a radial constraint at the inner radius (u_r = 0) and symmetric constraints at the two lines (left: u_x = 0, bottom: u_y = 0), of course, the symmetric ones are easy. But later I will have lines that are not parallel to the x- and y-axis.
Another point is that I want to model the contact between interior magnets and steel (also like in the other issue). Is it correct, that Lagrange multipliers can be used for this, too? If yes, how could I do that?
I would appreciate any help.
Best regards,
Alex
[Scheibe.geo](/uploads/c30cc4e0dadfd59ed70e92f0922a238c/Scheibe.geo)
[Scheibe.pro](/uploads/18626328f98a1a0ad62f24b5ea38f51e/Scheibe.pro)https://gitlab.onelab.info/getdp/getdp/-/issues/146Getdp D12023-01-30T22:55:47ZPhilippe FichouGetdp D1Hi,
In Getdp reference manual you say (p.26) that when you apply D1 to [ux, uy] and when the first basis-function-type in dFunction is set to BF_NodeX_D12 for component X and BF_NodeY_D12 for component Y, you obtain the vector [\partial ...Hi,
In Getdp reference manual you say (p.26) that when you apply D1 to [ux, uy] and when the first basis-function-type in dFunction is set to BF_NodeX_D12 for component X and BF_NodeY_D12 for component Y, you obtain the vector [\partial u_x/\partial x,\partial u_y/\partial y,\partial u_x/\partial y+\partial u_y/\partial x]. My question is how do you make the two-dimensional vector [ux, uy]. Could you bring an example?
Many Thanks,
Philippehttps://gitlab.onelab.info/getdp/getdp/-/issues/144Getdp compiled with MultiHarmonic under Windows (Cygwin)2022-12-05T12:26:37ZElia ScolaroGetdp compiled with MultiHarmonic under Windows (Cygwin)Hi,
I compiled getdp with the MultiHarmonic option enabled under Windows using Cygwin. The source code compilation and installation does not raise any error. However, when I try to run every getdp code (linear and non-linear simulations,...Hi,
I compiled getdp with the MultiHarmonic option enabled under Windows using Cygwin. The source code compilation and installation does not raise any error. However, when I try to run every getdp code (linear and non-linear simulations, static, time-domain and multi-hamronic), GetDP produces the following errors at the beginning of the Resolution stage (preprocessing seems ok):
Launching from Windows shell:
`0 [] getdp 1622 cygwin_exception::open_stackdumpfile: Dumping stack trace to getdp.exe.stackdump`
Launching from Cygwin Unix shell:
`Segmentation fault (core dumped)`
Searching in the net, I found this explanation and proposed solution: [StackOverflow_link](https://stackoverflow.com/questions/31676122/cygwin-exceptionopen-stackdumpfile-dumping-stack-trace-to-exe-stackdump). I think the source code related to MultiHarmonic option should be modifed according to what is written in the above link.
Unluckily, I have very little confidence with C code and even less with GetDP source code, i.e. I don't know where to put my hands.
Any help is really appreciated.
Elia
P.S. GetDP compiled without MultiHarmonic option works fine.