# [Getdp] Some questions

JORGE MIAJA HERNANDEZ j.miaja at alumnos.upm.es
Wed Feb 6 14:37:06 CET 2019

```Dear all,

I have been reading the documentation and creating some magneto-static
and magneto-dynamic simple tests and there are a few things I cant quite
understand, I was hoping somebody could help me clarify these points,

1- taking a look at several non-linear examples, I have noticed two
different ways to implement the correction term that deals with the
non-linearity of the system using Newton-Raphson, are these two
expressions exactly identical? Or does one provide better results than
the other?

expression 1:
Integral { [ dhdb[{d a}] * Dof{d a} , {d a} ];
In Vol_NL_Mag; Jacobian Vol; Integration Gauss_v; }
Integral { [ - dhdb[{d a}] * {d a} , {d a} ];
In Vol_NL_Mag; Jacobian Vol; Integration Gauss_v; }

expression 2:
Integral { JacNL[dhdb[{d a}] * Dof{d a} , {d a} ];
In Vol_NL_Mag; Jacobian Vol; Integration Gauss_v; }

2- I have tried testing time loop resolutions, in order to set the
InitSolution, I tried defining a constraint of type InitFromResolution,
Case {
{ Region Sur_boundary; Type InitFromResolution; NameOfResolution
dir_a; }
}
// with the resolution block being (supposedly*):
{ Name dir_a;
System {
{ Name B; NameOfFormulation fixBoundary; DestinationSystem A;}
}
Operation {
Generate B; Solve B; TransferInitSolution B;  // TransferSolution B;
}
}
// the formulation being as follows:
{ Name fixBoundary;
Quantity { { Name a; Type Local; NameOfSpace VecPotA; } }
Equation {
Integral { [ Dof{a} , {a} ];
In Sur_boundary; Jacobian Sur; Integration Int; }
Integral { [ dirBoundary[] , {a} ]; // dirBoundary being a vector
[0,0, X] where X could be a time function (see question 3)
In Sur_boundary; Jacobian Sur; Integration Int; }
}
}

*supposedly, since according to the documentation, TransferInitSolution
is used along with "InitFromResolution", however, GetDP shows an error
that reads: "Unknown type of Operation: TransferInitSolution"
I get exactly the same result if I use TransferSolution in this line?

3- In what cases would the "UpdateConstraint" operation be useful? If,
for instance, I want to set up a Dirichlet boundary constraint that
changes over time, how could I do it? would this work?
a) define a time function dependen on variable \$Time
b) create a constraint of type AssignFromResolution
c) at each time step call UpdateResolution so that the constraint is
calculated again with the AssignFromResolution block

I am greatly grateful for and really appreciate all your help provided,
as well as for the software you have developed,

best regards,

--
JORGE MIAJA HERNANDEZ