getdp issueshttps://gitlab.onelab.info/getdp/getdp/-/issues2022-05-19T13:36:41Zhttps://gitlab.onelab.info/getdp/getdp/-/issues/128openmp problem2022-05-19T13:36:41Zgerard henryopenmp problemHello all,
we got a problem when trying to use OpenMP, the release 3.4.0 always displays 1 thread, even setting OMP_NUM_THREADS to 16.
First, the source lacks the option "-nt <threads>" in the help
Second, is it normal that getdp forces ...Hello all,
we got a problem when trying to use OpenMP, the release 3.4.0 always displays 1 thread, even setting OMP_NUM_THREADS to 16.
First, the source lacks the option "-nt <threads>" in the help
Second, is it normal that getdp forces openmp to 1 thread when we set OMP_NUM_THREADS in the shell?
thanks in advance
Gérardhttps://gitlab.onelab.info/getdp/getdp/-/issues/127Question: Coupling fem equation with ordinary differential equation2022-05-06T18:51:28ZIsabel MartínezQuestion: Coupling fem equation with ordinary differential equationHello,
Nice to meet you all.
I want to simulate a partial differential equation, with time derivatives too, coupled with other equation that only has time derivatives in 3D. Let me explain with a simplified example.
The first equation...Hello,
Nice to meet you all.
I want to simulate a partial differential equation, with time derivatives too, coupled with other equation that only has time derivatives in 3D. Let me explain with a simplified example.
The first equation in its week formulation is something like:
Integral { DtDof [ Dof{u} , {u} ];
In Volumenes; Jacobian JVol; Integration I1; }
Integral { [ Dof{d u} , {d u} ];
In Volumenes; Jacobian JVol; Integration I1; }
Integral { [ J_e_time[] , {u} ];
In Surface_with_neumann_condition ; Jacobian JSur; Integration I1; }
Integral { [ Dof{u}, {u} ];
In Volumenes; Jacobian JVol; Integration I1; }
Integral { [ -Dof{g}, {u} ];
In Volumenes; Jacobian JVol; Integration I1; }
Integral { [ -Nonlinear[u]*Dof{u}, {u} ];
In Volumenes; Jacobian JVol; Integration I1; }
The unknown "u" is a scalar function, it has also a Dirichlet condition in another surface imposed as a constraint.
The unknown "g" is also a scalar function, but it does not have boundary conditions.
The second equation is something like: dt{g} = -a*g + b*u + c; with a, b and c constants.
I don't want to write a week form for the second equation. I wanted to just use an Euler scheeme with the second equation in its strong form, but I do not know if it can be done in getdp. I also solved the ordinary differential equation (alone) and I have the expression for the unknown "g" depending on "u". If I use that expression I would need to integrate in time all the previous "u" and update the value of "g" in each iteration, but I do not know if it can be done in getdp.
I have been reading the tutorials, some examples, some previous questions from the mailing list. I have learned a lot about getdp, but I still not know how to do what I want or how to solve both equations in a different way.
Any advice it would be really appreciated.
Kind regards.https://gitlab.onelab.info/getdp/getdp/-/issues/126Error after building from source on "Linking CXX executable getdp" if gmsh >=...2022-04-27T19:48:16ZFellype NascimentoError after building from source on "Linking CXX executable getdp" if gmsh >=4.9.5Hi all,
I have been facing an issue when building getdp 3.4.0 from sources with gmsh support if gmsh version is >=4.9.5 (tested with 4.9.5 and 4.10.0). Errors occur after the build process reach 100% - see (almost all) error messages at...Hi all,
I have been facing an issue when building getdp 3.4.0 from sources with gmsh support if gmsh version is >=4.9.5 (tested with 4.9.5 and 4.10.0). Errors occur after the build process reach 100% - see (almost all) error messages at: https://pastebin.com/ZgiZFdQL
The errors do not occur for gmsh=4.9.2 (in fact, I haven't tested against 4.9.3 and 4.9.4), and getdp builds fine (executable is created) with gmsh support.
Build environment:
Slackware 15.0 (64 bits), gcc-11.2.0
Build procedure (from the build script I maintain at SlackBuilds.org [1] ):
`mkdir build`
`cd build`
`cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_INSTALL_DOCDIR:PATH=/usr/share/getdp \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DENABLE_BUILD_SHARED=ON \
-DENABLE_GMSH=ON \
-DENABLE_PETSC=OFF \
-DENABLE_SLEPC=OFF \
..`
`make && make install`
Is there anything I can do to avoid this issue?
Please, let me know if you need more information.
[1] https://slackbuilds.org/repository/15.0/academic/getdp/https://gitlab.onelab.info/getdp/getdp/-/issues/125Add keywords for special functions2022-04-06T14:24:11ZChristophe TrophimeAdd keywords for special functionsHi,
I would like to know if it would be possible to support some more math functions in getdp langage.
I'm thinking of some special functions like bessels, erf,...
In particular, I would like to reproduce an superconductor model using C...Hi,
I would like to know if it would be possible to support some more math functions in getdp langage.
I'm thinking of some special functions like bessels, erf,...
In particular, I would like to reproduce an superconductor model using Campbell method for Jc
The Campbell method proposes to use Jc as an erf function.
Hence my question.
Best
Chttps://gitlab.onelab.info/getdp/getdp/-/issues/124Virtual Work implementation not clear2022-03-01T16:11:16ZDaniel GaleraVirtual Work implementation not clearI want to use the method of virtual works to calculate a force. I know there is a function in GetDP called `F_VirtualWork` in file `functions/F_Misc.cpp` so I tried to understand it in order to be sure of its usability. Nevertheless, I'm...I want to use the method of virtual works to calculate a force. I know there is a function in GetDP called `F_VirtualWork` in file `functions/F_Misc.cpp` so I tried to understand it in order to be sure of its usability. Nevertheless, I'm not sure if I do understand how it is implemented. I made some assumptions but they don't match with the code. I couldn't find something that matched with the code. Therefore, I write here my assumptions to see if someone finds an error in them or something in the implementation. To sum up, I don't understand why the `DetJac_dx` is computed that way and I don't understand the signs in the final calculation. Down below, what I understood:
The principle of virtual work for the electric or magnetic field can be expressed given the energy:
```math
W = \frac{\epsilon}{2}\int\limits_V \bf{E}\cdot \bf{E} dV
+ \frac{\mu}{2} \int\limits_V \bf{H}\cdot \bf{H} dV
```
Then virtual force in a direction $`p`$ can be expressed as
```math
F_p = \frac{\epsilon}{2}\frac{d}{d \bf{p}} \int_V \bf{E}\cdot \bf{E} d V
+ \frac{\mu}{2}\frac{d }{d \bf{p}} \int_V \bf{H}\cdot \bf{H} d V
```
If we take the integral term of the electric field (E) and apply the chain rule:
```math
F_{E,p} = \frac{\epsilon}{2}\frac{d }{d\bf{p}} \int\limits_V \bf{E}^2 d V =
\frac{\epsilon}{2}
\left[
\int\limits_V 2\frac{d }{d \bf{p}}\bf{E} d V
+
\int\limits_V \bf{E}^2\frac{d }{d \bf{p}} d V
\right]
```
Consider then, without coefficients:
```math
\frac{d }{d\bf{p}} \int\limits_V \bf{E}^2 d V =
\int\limits_V 2\frac{d }{d \bf{p}}\bf{E} d V
+
\int\limits_V \bf{E}^2\frac{d }{d \bf{p}} (d V)
= A + B
```
I understand that the function `F_VirtualWork` only takes into account B, so now we consider:
```math
F_{E,p} = \int\limits_V \bf{E}^2\frac{d }{d \bf{p}}( d V )
```
The contribution of a reference element $`K_e`$ to the force in direction $`\bf{p}`$
```math
F_{K_e} = \int\limits_{K_e }\bf{E}^2\frac{d }{d \bf{p}} (d K_e)
```
All articles and info that I could find about virtual work in the electric field take a paper from J. Coulomb and G. Meunier as reference (cited and the end of this text). In that article, the following derivative is defined (and not explained):
```math
\frac{d }{d \bf{s}} (dv) = |G|^{-1} \frac{d |G|}{d \bf{s}} \cdot dv
```
I suppose this expression is used in the code to express $`\frac{d }{d \bf{p}} (d K_e)`$ using `DetJac_dx[0]/DetJac`, `DetJac_dx[1]/DetJac` , `DetJac_dx[2]/DetJac`. But I don't really get how `DetJac_dx[i]` come from. I can deduce that this quantity can come from the solution of a system like:
```math
grad(DetJac) = grad(node\_basis\_functions) Adj(Jac)
```
Where `grad()` is the gradient and `Adj()` is the classical adjoint. But I can't understand where this comes from.
Then we need to compute square of the field, $`{E}=(E_{1},E_{2},E_{3})=E_{1}i+E_{2}j+E_{3}k`$. If we expressed it in its coordinates:
```math
{E}^2 = (E_{1}i+E_{2}j+E_{3}k)(E_{1}i+E_{2}j+E_{3}k) =E_{1}^2ii+E_{2}^2jj+E_{3}^kk+2E_{1}E_{2}ij+2E_{1}E_{3}ik+2E_{2}E_{3}jk
```
Considering `DetJac_dx/DetJac = D`, we have $`{D}=(D_{1},D_{2},D_{3})=D_{1}i+D_{2}j+D_{3}k`$. To get the force contribution $`F =(F_{1},F_{2},F_{3}) = {E}^2 D`$ :
```math
F = (D_{1}i+D_{2}j+D_{3}k)(E_{1}^2ii+E_{2}^2jj+E_{3}^kk+2E_{1}E_{2}ij+2E_{1}E_{3}ik+2E_{2}E_{3}jk)
```
For $`F_a = D_{1}i{E}^2`$:
```math
F_a = E_{1}^2 D_{1}iii+ E_{2}^2 D_{1}ijj+E_{3}^2 D_{1}ikk+ 2E_{1}E_{2} D_{1}iij + 2E_{1} E_{3} D_{1} iik + 2E_{2} E_{3} D_{1} ijk
```
Computing the directions:
```math
F_a = E_{1}^2 D_{1}i+E_{2}^2 D_{1}i+E_{3}^2 D_{1}i+2E_{1}E_{2}D_{1}j+2E_{1}E_{3}D_{1}k
```
For $`F_b =D_{2}i{E}^2`$ :
```math
F_b = E_{1}^2D_{2}jii+E_{2}^2D_{2}jjj+E_{3}^2 D_{2}jkk+2E_{1}E_{2}D_{2}jij+2E_{1}E_{3}D_{2}jik+2E_{2}E_{3}D_{2}jjk
```
Computing the directions:
```math
F_b = E_{1}^2 D_{1}j+E_{2}^2 D_{1}j+E_{3}^2 D_{1}j+2E_{1}E_{2}D_{2}i+2E_{2}E_{3}D_{2}k
```
For $`F_c =D_{3}i{E}^2`$:
```math
F_c = E_{1}^2D_{3}kii+E_{2}^2D_{3}kjj+E_{3}^2 D_{3}kkk+2E_{1}E_{2}D_{3}kij+2E_{1}E_{3}D_{3}kik+2E_{2}E_{3}D_{3}kjk
```
Computing the directions:
```math
F_c = E_{1}^2 D_{1}j+E_{2}^2 D_{1}j+E_{3}^2 D_{1}j+2E_{1}E_{3}D_{3}i+2E_{2}E_{3}D_{3}j
```
Then we arrange $`F = F_a+F_b+F_c = F_{1}i+F_{2}j+F_{3}k`$ and we have:
```math
F_1i = E_{1}^2 D_{1}i+E_{2}^2 D_{1}i+E_{3}^2 D_{1}i+2E_{1}E_{2}D_{2}i+2E_{1}E_{3}D_{3}i
```
```math
F_2j = E_{1}^2 D_{1}j+E_{2}^2 D_{1}j+E_{3}^2 D_{1}j+2E_{1}E_{2}D_{1}j+2E_{2}E_{3}D_{3}j
```
```math
F_3k = E_{1}^2 D_{1}k+E_{2}^2 D_{1}k+E_{3}^2 D_{1}k+2E_{1}E_{3}D_{1}k+2E_{2}E_{3}D_{2}k
```
The code in `F_VirtualWork` is similar, except for the signs. The only crazy idea that comes to my mind is that we take the sign of $`i,j,k`$ as negative so we have $`(i,j,k) = (-i_{new},-j_{new},-k_{new})`$ :
s[0] = (DetJac_dx[0] * (-squF[0] + squF[1] + squF[2]) -
2 * DetJac_dx[1] * squF[3] - 2 * DetJac_dx[2] * squF[5]) /
DetJac;
s[1] = (DetJac_dx[1] * (squF[0] - squF[1] + squF[2]) -
2 * DetJac_dx[0] * squF[3] - 2 * DetJac_dx[2] * squF[4]) /
DetJac;`
s[2] = (DetJac_dx[2] * (squF[0] + squF[1] - squF[2]) -
2 * DetJac_dx[0] * squF[5] - 2 * DetJac_dx[1] * squF[4]) /
DetJac;
J. Coulomb and G. Meunier, "Finite element implementation of virtual work principle for magnetic or electric force and torque computation," in IEEE Transactions on Magnetics, vol. 20, no. 5, pp. 1894-1896, September 1984, doi: 10.1109/TMAG.1984.1063232.Ruth SabariegoRuth Sabariegohttps://gitlab.onelab.info/getdp/getdp/-/issues/123Question: vector of Form0 / Form1 quantities2022-03-01T16:09:16ZGuillaume DilasserQuestion: vector of Form0 / Form1 quantitiesDear all,
I am starting this Issue thread in order to ask a question regarding the best way to implement and do computation with a "vector" of Form0 / Form1 quantities (if this is something currently supported in GetDP).
I am consideri...Dear all,
I am starting this Issue thread in order to ask a question regarding the best way to implement and do computation with a "vector" of Form0 / Form1 quantities (if this is something currently supported in GetDP).
I am considering implementing the dynamical simulation of a set of several (let's say 2 to 10) coupled PDEs over a simple 1D domain. All the PDEs have the same structure and thus the set can be easily written as a single vectorized PDE supporting one unknown which is a vector with 2-10 coefficients. I have been trying to figure out the best way (if there is one at all) to implement the function spaces and the formulation in GetDP to achieve this. To be more precise: I don't know whether it is possible to group several quantities, all belonging to the same function space, in a vector / list so that the external derivative is applied to each one of them separately.
I hope that this very short summary of my problem gives you an accurate enough understanding of what I am trying to achieve but I am absolutely ready to give further explanations should they be needed. I would be deeply thankful if someone could tell me whether that kind of problem if suited for GetDP or not and point me towards any existing example of implementation.
Sincerely Yours,https://gitlab.onelab.info/getdp/getdp/-/issues/122Error with new template Lib_Elasticity_u.pro2023-01-26T16:21:26ZDenError with new template Lib_Elasticity_u.proTest benchmark "Natural frequencies of a square plate with a clamped side"
![image](/uploads/f7e71880df7d38fa24590c8c0f1f96d1/image.png)
**With "Old" template**
![image](/uploads/bf643cd627bd86cf64e98c9556b8037d/image.png)
![image](/up...Test benchmark "Natural frequencies of a square plate with a clamped side"
![image](/uploads/f7e71880df7d38fa24590c8c0f1f96d1/image.png)
**With "Old" template**
![image](/uploads/bf643cd627bd86cf64e98c9556b8037d/image.png)
![image](/uploads/be15d9e9574de8ecb8b250ba6934e0f2/image.png)
![image](/uploads/00367b0e8a99a9eecb133d288171da1e/image.png)
The error came after changing "support 2nd order Lagrange elements" https://gitlab.onelab.info/getdp/getdp/-/commit/acaefd41dffe77932badf811d652eedb04f5c073https://gitlab.onelab.info/getdp/getdp/-/issues/121Incorrect work of Interactive_Elasticity.pro template for 3D tasks2023-10-24T13:35:01ZDenIncorrect work of Interactive_Elasticity.pro template for 3D tasksFor subsequent **non-interactive** use of the ".pro" file for 3D tasks, the **Interactive_Elasticity.pro** file must be modified.
```
// insert modelDim for correct operation in 3d
If(export&&modelDim==3)
Printf(StrCat['modelDim = 3;'...For subsequent **non-interactive** use of the ".pro" file for 3D tasks, the **Interactive_Elasticity.pro** file must be modified.
```
// insert modelDim for correct operation in 3d
If(export&&modelDim==3)
Printf(StrCat['modelDim = 3;'])
>> Str[exportFile];
EndIf
```
</details>
![image](/uploads/d70bac4d2bb50b6c03da31c3c623d019/image.png)https://gitlab.onelab.info/getdp/getdp/-/issues/120Error in Lib_Elasticity_u.pro templates2022-02-06T18:58:42ZDenError in Lib_Elasticity_u.pro templatesError in Lib_Elasticity_u.pro templates
string 22, extra comma: Flag_Axi = 0, // axisymmetric model?
![image](/uploads/165b03be6d1822e6831de230418e3bf5/image.png)Error in Lib_Elasticity_u.pro templates
string 22, extra comma: Flag_Axi = 0, // axisymmetric model?
![image](/uploads/165b03be6d1822e6831de230418e3bf5/image.png)https://gitlab.onelab.info/getdp/getdp/-/issues/119Linear elasticity: returning of on mass normalized eigenvectors2022-01-14T08:19:11ZDapu ZhangLinear elasticity: returning of on mass normalized eigenvectorsHi,
generally, I'd like to perform an undamped modal analysis and get the on mass normalized eigenvectors. I noticed, if I use the template of the modal analysis, I will get the displacement vector, but it is not on mass normalized. Am...Hi,
generally, I'd like to perform an undamped modal analysis and get the on mass normalized eigenvectors. I noticed, if I use the template of the modal analysis, I will get the displacement vector, but it is not on mass normalized. Am I right? I saw in the source code, the slepc solver returns the eigenvectors in the L2 norm and getdp renormalizes them in L infty norm. <br/>
I understand it is possible to print out the system matrix and get the mass matrix. But it actually makes better sense to me, if one could get the on mass normalized eigenvectors after a modal analysis. Is it possible that getdp could provide it as a postoperation? Thank you! <br/>
Best Regards <br/>
Dapu Zhang<br/>
Leibniz University Hannover<br/>
Welfengarten 1, 30167 Hannover<br/>
Germanyhttps://gitlab.onelab.info/getdp/getdp/-/issues/118Hand calc for verification and validation of modal analysis results2023-01-26T16:23:29ZDenHand calc for verification and validation of modal analysis resultsHi, tell me what the problem is.
**Disk modal and harmonic analyses: Steel disk - 75 mm radius and 3 mm radius center hole, and 0.34 mm thickness. Modulus = 200000 MPa, Poisson’s Ratio = 0.3, Density = 7850 kg/m^3.
Support: simply-sup...Hi, tell me what the problem is.
**Disk modal and harmonic analyses: Steel disk - 75 mm radius and 3 mm radius center hole, and 0.34 mm thickness. Modulus = 200000 MPa, Poisson’s Ratio = 0.3, Density = 7850 kg/m^3.
Support: simply-supported, (no translation: UX = UY = UZ = 0) at the edge of the hole.**
![image](/uploads/8c1a0104e799c8b40d3dd0666d18ab4b/image.png)
---------------------
![image](/uploads/6675f2e7165f49f44430d60fc84dc875/image.png)
---------------------
![image](/uploads/cb98eca4db788f46e00e998040e47059/image.png)
1. Calculations do not match.
2. The Freq_Target-parameter (frequency target for modal simulations) does not affect the calculations.https://gitlab.onelab.info/getdp/getdp/-/issues/1173D Moving Band2022-03-25T10:58:51ZViktor -3D Moving BandRelated to #76.
Hello @Theom ,
were you able to find a solution for the 3d moving band, or do you remesh as suggested by @geuzaine ? I am trying as well to model axial flux machines, but I am still quiet on the beginning of understandin...Related to #76.
Hello @Theom ,
were you able to find a solution for the 3d moving band, or do you remesh as suggested by @geuzaine ? I am trying as well to model axial flux machines, but I am still quiet on the beginning of understanding onelabs concepts. Perhaps you can provide an example?
Best regards,
Viktorhttps://gitlab.onelab.info/getdp/getdp/-/issues/116Equation type "Galerkin"2022-01-06T08:00:07ZBenjamin MenkuecEquation type "Galerkin"I wonder why in some examples the equation type "Galerkin" instead of "Integral" is used. Galerkin is not mentioned in the documentation of GetDP. The source code of GetDP looks like it has identical function as "Integral"
```
./Interfac...I wonder why in some examples the equation type "Galerkin" instead of "Integral" is used. Galerkin is not mentioned in the documentation of GetDP. The source code of GetDP looks like it has identical function as "Integral"
```
./Interface/ProParser.l:232:Galerkin return tIntegral;
```
Is there a reason why this alias exists? and which one is the recommended to use?https://gitlab.onelab.info/getdp/getdp/-/issues/115Force identical scale for different cut planes2022-01-04T21:52:31ZBenjamin MenkuecForce identical scale for different cut planesI display the calculated field in 3 perpendicular cut planes like this
![cut_plane_problem](/uploads/71e18719d47708415b6e5b1772ff4077/cut_plane_problem.PNG)
It would be nice, if I could force the scale (color coding) for all the cut plan...I display the calculated field in 3 perpendicular cut planes like this
![cut_plane_problem](/uploads/71e18719d47708415b6e5b1772ff4077/cut_plane_problem.PNG)
It would be nice, if I could force the scale (color coding) for all the cut planes to be the same. Is this possible from within the .pro file?https://gitlab.onelab.info/getdp/getdp/-/issues/114Display field on circular grid with equidistant points2022-01-03T10:39:51ZBenjamin MenkuecDisplay field on circular grid with equidistant pointsI want to display my calculated field on circular cut planes like I did here:
![cut_plane_problem](/uploads/cb12cd71baea7ebcff51d0c9764717f3/cut_plane_problem.PNG)
To achieve this I did
```
Print[ b_x, OnGrid {$B*Cos[$A], $B*Sin[$A], 0}...I want to display my calculated field on circular cut planes like I did here:
![cut_plane_problem](/uploads/cb12cd71baea7ebcff51d0c9764717f3/cut_plane_problem.PNG)
To achieve this I did
```
Print[ b_x, OnGrid {$B*Cos[$A], $B*Sin[$A], 0} { 0:2*Pi:2*Pi/1000, 0:DSVsel/2:DSVsel/2/100, 0 },
File StrCat[outputFilename, "_B_x_frontal.pos"]];
```
The problem with this approach is, that the points near the center are much closer than the points on the outside. Is there a way to get a circular grid without this problem?https://gitlab.onelab.info/getdp/getdp/-/issues/113Correctly setting boundary condition for linear elasticity problem2023-08-26T16:41:27ZDenCorrectly setting boundary condition for linear elasticity problemDear all,
How to set the boundary condition on the dXdY boundary (problem - Elasticity, with templates GetDP), a rotating disk.
Thanks!
Denis
![ipm1](/uploads/d4e40aee9f7483157af73e6e7e880f6e/ipm1.png)
![ipm2](/uploads/d00f84b4685b4c25...Dear all,
How to set the boundary condition on the dXdY boundary (problem - Elasticity, with templates GetDP), a rotating disk.
Thanks!
Denis
![ipm1](/uploads/d4e40aee9f7483157af73e6e7e880f6e/ipm1.png)
![ipm2](/uploads/d00f84b4685b4c25f8c674de71bee259/ipm2.png)https://gitlab.onelab.info/getdp/getdp/-/issues/112Get values of time series with Julia-API2022-01-03T10:38:00ZGeroldGet values of time series with Julia-APIHello,
with the gmsh.jl API I'm trying to receive the results (all the steps) of an electric machine simulation in the time domain (similar to the pmsm.pro example). I set up the communication with Julia so far and I'm able to run the F...Hello,
with the gmsh.jl API I'm trying to receive the results (all the steps) of an electric machine simulation in the time domain (similar to the pmsm.pro example). I set up the communication with Julia so far and I'm able to run the FEM calculation.
```julia
gmsh.initialize()
c = gmsh.onelab
path = "./"
machine = "machine_model"
machine_geo = path * machine * ".geo"
machine_msh = path * machine * ".msh"
machine_pro = path * machine * ".pro"
mygetdp = gmsh.option.getString("Solver.Executable0")
Id = [-100]
c.setNumber("Input/50Id stator current", Id)
c.run("ID_" * string(Int(Id)), mygetdp * " " * machine_pro * " -msh "
* machine_msh * " -solve -v 0 -setnumber Flag_PrintFields 0")
torque = c.getNumber("Output - Mechanics/0Torque [Nm]/rotor")
```
The problem is, that I get only the result of last time step, although the simulation is in the time domain. I also tried `c.get()`, but then I have to parse with JSON, which is much slower. In the electric machine template "machine_magstadyn_a.pro" I didn't figure it out, how I can use the `SendToServer` command without the option `LastTimeStepOnly`.
Is there a possibility to receive the vector of a parameter over all time steps of the simulation?
Best regards,
Geroldhttps://gitlab.onelab.info/getdp/getdp/-/issues/111force density on stator ring2022-01-09T09:10:03ZMarc Schöningforce density on stator ringHi all,
I have a small problem to calculate the force density on a stator ring of an inner rotor airgap winding.
Here is the cross section:
![geo_commented](/uploads/a4830751037fd75409d0df109139852f/geo_commented.png)
I work on base o...Hi all,
I have a small problem to calculate the force density on a stator ring of an inner rotor airgap winding.
Here is the cross section:
![geo_commented](/uploads/a4830751037fd75409d0df109139852f/geo_commented.png)
I work on base of the machine_magstadyn_a.pro and placed a Physical Line on the inner stator diameter and added it as Region to a Domain called DomainLineForce. Then there is a new Postprocessing:
{ Name LineForce;
Value {
Term { [ (T_max[{d a}] * XYZ[]) ];
In Domain; Jacobian Vol; }
}
}
and finally a PostOperation:
Print[ LineForce, OnGrid DomainLineForce, File "LineForce.pos", LastTimeStepOnly, AppendTimeStepToFileName 1];
The result is here:
![result](/uploads/7ad5955a032552488a274e1ff6eb5661/result.png)
What surprises me is, that according to theory, I would expect the force vector to point to the airgap with low permeability and not to the stator yoke with high permeability.
Did I messed up the Postprocessing equation?
Thanks in advance.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/109Mortaring Method for Non-Conforming Meshes2023-10-24T12:08:46ZErik SchnaubeltMortaring Method for Non-Conforming MeshesHi Christophe and the GetDP community,
We are currently looking into mortaring methods in order to handle non-conforming meshes on interface curves/surfaces for scalar problems. To achieve the interface matching, we would need to compu...Hi Christophe and the GetDP community,
We are currently looking into mortaring methods in order to handle non-conforming meshes on interface curves/surfaces for scalar problems. To achieve the interface matching, we would need to compute surface/line integrals of nodal basis/test functions of the form
```math
I_{12} = \int_{\Gamma_1} v_1 \, \lambda_2' \, \text{d}\Gamma,
```
where $`v_1`$ is supported on $`\Gamma_1`$ while $`\lambda_2'`$ is supported on $`\Gamma_2`$ and the meshes discretizing $`\Gamma_1`$ and $`\Gamma_2`$ (which may be coincident) are non-matching. Hence, it is not possible (?) to use a `Link` constraint. To compute $`I_{12}`$, we would thus need an appropriate quadrature rule. The interested reader can find more information in Section 2.5.1 (in particular Remark 2.5.1) in [1].
Do you know if someone has done mortaring in GetDP in the past without using iterative methods? Would you have some insights on how to tackle integrals such as $`I_{12}`$?
Please let me know if you need more details, many thanks for all your help!
_[1]: A. Quarteroni and A. Valli, “Domain Decomposition Methods for Partial Differential Equations,” Oxford Science Publications, Oxford, 1999._