SIF file in PIEZO example
-
- Posts: 36
- Joined: 22 Aug 2012, 13:43
- Antispam: Yes
Re: SIF file in PIEZO example
Thanks very much! Now it's clear.......
-
- Posts: 4
- Joined: 27 May 2015, 11:22
- Antispam: Yes
Re: SIF file in PIEZO example
I am a newbie too to FEM simulation. I need Elmer for simulating a direct piezoelectric effect. I hold to be true that Elemer can sole this kind of problem considering what I read in this thread. Unfortunately I do not understand how to set up sif file for forcing the coupling between electrical and linear elastic equations. Is the following piece of code sufficient for this purpose?
Moreover I do not understand why the Piezo Material Coefficient matrix must be 2x4 in 2D case. I think it should be 2x3 because it relates 3 mechanical displacements to 2 components of electrical displacement vector.
Thank you very much for any help.
Best regards.
Alberto
Code: Select all
Body Force 1
Piezo Material = Logical True
Thank you very much for any help.
Best regards.
Alberto
Re: SIF file in PIEZO example
Hi Alberto,alberto.lega wrote:I do not understand how to set up sif file for forcing the coupling between electrical and linear elastic equations. Is the following piece of code sufficient for this purpose?
Code: Select all
Body Force 1 Piezo Material = Logical True
I am trying to answer as much as i can in relation to the coupling between StatElecSolve and StressSolve for simulation of Piezoelectric Material.
The following code snippet from StatElecSolve couples it hierarchially with the StressSolver.
Code: Select all
bf_id = ListGetInteger( Model % Bodies(CurrentElement % BodyId) % &
Values, 'Body Force',gotIt, minv=1, maxv=Model % NumberOfBodyForces )
Load = 0.0_dp
PiezoMaterial = .FALSE.
IF ( gotIt ) THEN
Load(1:n) = ListGetReal( Model % BodyForces(bf_id) % Values, &
'Charge Density', n, NodeIndexes, GotIt )
Load(1:n) = Load(1:n) / PermittivityOfVacuum
PiezoMaterial = GetLogical( Model % BodyForces(bf_id) % Values, &
'Piezo Material', GotIt )
END IF
Code: Select all
!------------------------------------------------------------------------------
! Read piezo material coefficients if applicable
!------------------------------------------------------------------------------
IF ( PiezoMaterial ) THEN
PiezoCoeff = 0.0_dp
CALL GetRealArray( Model % Materials(k) % Values, Pz_w, &
'Piezo Material Coefficients', gotIt, CurrentElement )
IF ( .NOT. GotIt ) CALL Fatal( 'StatElecSolve', &
'No > Piezo Material Coefficients < defined!' )
DO i=1, Dim
DO j=1, 2*Dim
PiezoCoeff( i,j,1:n ) = Pz_w(i,j,1:n)
END DO
END DO
Code: Select all
!------------------------------------------------------------------------------
! The piezo force term
!------------------------------------------------------------------------------
IF ( PiezoMaterial ) THEN
! So far only plane strain in 2D (LocalStrain(3) = 0)
LocalStrain = 0.0_dp
DO i = 1, Dim
LocalStrain(i) = SUM( dBasisdx(1:n,i) * Displacement(1:n,i) )
END DO
LocalStrain(4) = 0.5_dp * ( SUM( dBasisdx(1:n,1) * Displacement(1:n,2) ) &
+ SUM( dBasisdx(1:n,2) * Displacement(1:n,1) ) )
IF ( Dim == 3 ) THEN
LocalStrain(5) = 0.5_dp * ( SUM( dBasisdx(1:n,2) * Displacement(1:n,3) ) &
+ SUM( dBasisdx(1:n,3) * Displacement(1:n,2) ) )
LocalStrain(6) = 0.5_dp * ( SUM( dBasisdx(1:n,1) * Displacement(1:n,3) ) &
+ SUM( dBasisdx(1:n,3) * Displacement(1:n,1) ) )
END IF
PiezoLoad = 0.0_dp
DO i = 1, Dim
DO j = 1, 2*Dim
PiezoLoad(i) = PiezoLoad(i) + SUM( Basis(1:n) * PiezoCoeff(i,j,1:n) ) * &
LocalStrain(j)
END DO
END DO
END IF
Code: Select all
Piezo Material = Logical True
Yours Sincerely
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Re: SIF file in PIEZO example
Hi Alberto,alberto.lega wrote: Moreover I do not understand why the Piezo Material Coefficient matrix must be 2x4 in 2D case. I think it should be 2x3 because it relates 3 mechanical displacements to 2 components of electrical displacement vector.
This question has been answered in page 1 of this post.
Yours Sincerely
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
-
- Posts: 4
- Joined: 27 May 2015, 11:22
- Antispam: Yes
Re: SIF file in PIEZO example
Hi Anil,
thank you very much for your answer regarding the coupling. I pretty understood it. Unfortunately I still do not undertand why the Piezo Material Coefficient matrix must be 2x4.
Moreover, do I need to create a 3x7 matrix in 3D case?
Thank you very much.
Alberto
thank you very much for your answer regarding the coupling. I pretty understood it. Unfortunately I still do not undertand why the Piezo Material Coefficient matrix must be 2x4.
I perfectly agree that in 3D case it would be 3x6, but it should be 2x3 in 2D cases. I think that first three columns belong to what I consider to be direct effect matrix, but I think that the fourth column is needed by Elmer software for some purpose I do not know. If this is the case, what happen if I fill it with 0 like the example in page 1 of this post?raback wrote:Hi
I guess it is the matrix for the direct piezoelectric effect. See
http://en.wikipedia.org/wiki/Piezoelectricity
It is 2x4 because we are working in 2D case. In 3D it would be 3x6.
-Peter
Moreover, do I need to create a 3x7 matrix in 3D case?
Thank you very much.
Alberto
Re: SIF file in PIEZO example
Hi,
In the piezo test case, if we remove the 'Stress BodyForce' from the body force section, it doesn't appear any stress from the applied field. I would say that there is some error. Could someone cross-check it?
Regards,
In the piezo test case, if we remove the 'Stress BodyForce' from the body force section, it doesn't appear any stress from the applied field. I would say that there is some error. Could someone cross-check it?
Regards,
Re: SIF file in PIEZO example
Hi mancf,
The piezo test case is the illustration of coupling between the three variables in 2D (displacement_x, displacement_y and potential_phi) and the solvers used in Elmer for this multiphysics coupling are
1. Static Conduction Solver
2. Stress Analysis Solver
A good example illustration on piezoelectric material (in Matlab) for PDE formulation is provided in this link here.
So, the output is basically displacement for applied voltage. You can output stress field as well.
Can you elaborate your question more?
Yours Sincerely,
Anil Kunwar
The piezo test case is the illustration of coupling between the three variables in 2D (displacement_x, displacement_y and potential_phi) and the solvers used in Elmer for this multiphysics coupling are
1. Static Conduction Solver
2. Stress Analysis Solver
A good example illustration on piezoelectric material (in Matlab) for PDE formulation is provided in this link here.
So, the output is basically displacement for applied voltage. You can output stress field as well.
Can you elaborate your question more?
Yours Sincerely,
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Re: SIF file in PIEZO example
Thanks Annier,
Sorry, probably I did not explain myself properly. In this problem, two types of loads are applied: a voltage difference applied to the piezo and stress body forces. Both loads should cause deformation of the structure. (Correct me if I am wrong...).
If I remove the stress body forces to the problem (I just commented both stress body forces), the structure should still be deformed by the piezoelectric effect. I have tested it and it doesn't appear any deformation. The mechanical simulation generates a trivially zero solution.
Regards,
mancf
Sorry, probably I did not explain myself properly. In this problem, two types of loads are applied: a voltage difference applied to the piezo and stress body forces. Both loads should cause deformation of the structure. (Correct me if I am wrong...).
If I remove the stress body forces to the problem (I just commented both stress body forces), the structure should still be deformed by the piezoelectric effect. I have tested it and it doesn't appear any deformation. The mechanical simulation generates a trivially zero solution.
Regards,
mancf
Re: SIF file in PIEZO example
Hi mancf,
I tried the solver run with
commented
and
uncommented.
Just as you say, for the commented case (0 stress bodyforce) , the largest magnitude of displacement is in the order of 1e-16 (~0). Whereas this displacement is around 1.0e-7 for uncommented stress bodyforce.
This is a test case for mathematical consistence. Can you try once by reshuffling the magnitudes of coefficients
and what effect they make in displacement?
Also, you can try the options of uncommenting
when you comment
.
However, the baseline is to see in detail the source code of the above mentioned solvers.
Yours Sincerely,
Anil Kunwar
I tried the solver run with
commented
Code: Select all
!Stress BodyForce 2 = -1e8
uncommented
Code: Select all
Stress BodyForce 2 = -1e8
Just as you say, for the commented case (0 stress bodyforce) , the largest magnitude of displacement is in the order of 1e-16 (~0). Whereas this displacement is around 1.0e-7 for uncommented stress bodyforce.
This is a test case for mathematical consistence. Can you try once by reshuffling the magnitudes of coefficients
Code: Select all
Piezo Material Coefficients(2,4) = Real \
0 10 0 0 \
10 0 0 0
Also, you can try the options of uncommenting
Code: Select all
! Stress(3) = Variable Electric Field 2
! Real
! 0 1 0 0
! 1 1 0 0
! End
Code: Select all
Stress BodyForce 2 = -1e8
However, the baseline is to see in detail the source code of the above mentioned solvers.
Yours Sincerely,
Anil Kunwar
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Re: SIF file in PIEZO example
Hi Annier,
I have tested different options for the piezoelectric coefficients. I have used all these coefficients different than 0 and with very high values. This should generate a large deformation. The problem is that the solver seems to ignore them. It only takes into account the stress body forces (when activated) but not the electric field (and, therefore, the piezoelectric coefficients effect is null).
Uncommenting 'Stress(3)' (with the stress body force commented) also does not seem to work. There is no deformation generated.
Maybe it is not taking the electric field variable properly, or it is taking always a 0 value for the electric field.
Regards,
mancf
I have tested different options for the piezoelectric coefficients. I have used all these coefficients different than 0 and with very high values. This should generate a large deformation. The problem is that the solver seems to ignore them. It only takes into account the stress body forces (when activated) but not the electric field (and, therefore, the piezoelectric coefficients effect is null).
Uncommenting 'Stress(3)' (with the stress body force commented) also does not seem to work. There is no deformation generated.
Maybe it is not taking the electric field variable properly, or it is taking always a 0 value for the electric field.
Regards,
mancf