Dear Lorenzo,

Thanks for your interest. Below some answers to your questions

BR
Kostas

On Thu, Oct 21, 2021 at 12:47 AM Lorenzo Ferro <lorenzo.i...@gmail.com>
wrote:

> Dear All,
>
> I've started testing the GeFEM library and I've some questions, with
> particular reference to the Python interface (the only one I can use so
> far):
>
> 1) the "add_lumped_mass_for_first_order_brick" method is not available
> even though it is mentioned in the Python-Model guide for GetFEM 5.4. I've
> installed the precompiled 5.4 version for Windows with
> getfem5.4win-amd64-py3.7.exe. How can I get the Lumped_Mass feature for the
> Python interface?
>
The scripting language interface for this function has been added after the
last release:
https://git.savannah.nongnu.org/cgit/getfem.git/commit/interface/src/gf_model_set.cc?id=0241496a72624aca5f7f6a4f3725accee863d46e
so you will have to wait for the next release or compile GetFEM yourself.


> 2) The documentation of bricks like "Generic Elliptic Brick",
> "Fourier_Robin Brick" and "Source Term Brick" states that the coefficients
> could be arbitrary GWFL expressions. What happens if I'd input non-linear
> coefficients? How the software manages the assembly in this case? Or, it
> would be better to use the Model method "add_non_linear_term"?
>
Just use the add_linear_term or add_nonlinear_term for this. E.g. The
add_fourier_robin_brick is just a convenience function calling
add_(non)linear_term for you
[image: image.png]
Such bricks made sense before the introduction of GWFL, nowadays you should
just use add_linear_term or add_nonlinear_term for everything.

3) If I'd like to implement a radiation non-linear boundary condition, what
> would be the more advisable way? Is in this case the "add_non_linear_term"
> method the correct way?
>
Yes. If you have a specific equation you want to implement, we can help
with writing it in GWFL.


> 4) I've not understood what is the difference between "add_source_term"
> and "add_source_term_brick". Can you advise when I should use one or the
> other (with a practical example).
>
If I see correctly, providing an expression "expr" and a variable name
"var" to the second one is equivalent to providing "expr*Test_var" in the
first one. In general you should not use these bricks because they add a
contribution to the rhs that is not accounted for in the stiffness matrix
computation. Rarely do you need something like this. You can just use
"add_linear_term" and "add_nonlinear_term" for everything.


> 5) Is there a way to visualize mesh regions for doublecheck purposes?
> Maybe, is there a way to export such regions by means of the Python
> interface?
>
Good question. There are different ways, maybe the most simple is something
like
mf.export_to_vtk("meshregions.vtk", mf, md.interpolation("1",mf,1),
'region1', mf, md.interpolation("1",mf,2), 'region2', mf,
md.interpolation("1",mf,4), 'region4')
where mf is a (preferably discontinuous)  mesh_fem and md is just a model
(it can be an empty one).


> Thank you in advance for your kind support.
> Regards,
> Lorenzo
>

Reply via email to