[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Getfem-users] different mesh_fem definitions for different regions
From: |
Umut Tabak |
Subject: |
Re: [Getfem-users] different mesh_fem definitions for different regions |
Date: |
Sat, 01 Aug 2009 14:41:37 +0200 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090409) |
Renard Yves wrote:
Umut Tabak <address@hidden> a écrit :
First of all , I made another post which did not appear on the mailing
list webpage, so that I thought that sth might have gone wrong. If you
happen to get the same contents twice , I am sorry.
Regarding my previous posts on this topic: I have the following long
follow up if there is someone interested in that.
I tried to apply a sample analysis where I can assemble the fluid
part(scalar) and the structural part(displacement). Now I have a problem
concerning the coupling matrix assembly. Actually, I accomplished this
task not in an optimal way I suppose, I have 3 separate mesh structures
and 3 mesh_fems attached to these mesh structures, where I try to form
the matrices on these mesh and mesh_fem accordingly. I have been
puzzling with some questions regarding the following questions:
+ To have this kind of analysis(coupled structural-acoustic), we have to
set the mesh_fem dimensions to 3(vectorial) and 1(scalar) for the
structural and fluid parts respectively, if there is only one mesh_fem
definition, how can I assign different dimensions to different regions
of my mesh(with set_qdim, doing on separate mesh_fems I can set the
correct dimensions, but could not find a way to do it on regions)
+ The second question follows accordingly, how to assign different
integration methods to different regions of the mesh? Assembly can be
done on regions I checked that.
+ Without the definition of separate mesh_fem objects, how can I
allocate memory for the matrices that I am going to use for the assembly
process? I mean to get the specific dof numbers associated to regions.
There are some methods related to dof count in mesh_region class but
they do not provide the right information for the dof counts in regions,
say mf.basic_dof_on_region which returns a dal::bit vector on a region,
but to get these numbers corrected the dimensions should be assigned
correctly for the mesh_regions.
+ On a mesh_fem, and regions defined on the mesh, how can I assemble a
term like:
\begin{displaymath}
\bold{K}_{up}=\int_{S}{\bold{N}_{s}}^{T} \bold{n}{\bold{N}_{p}}dS
\end{displaymath}
which I would like to assemble on the interface of the two above defined
domains. I think I am right that there should be two mesh_fem
definitions for the basis vectors needed in this integration. Is there a
way to define these again on one mesh definition associated to regions.
The assembly part will be sth like:
// allocate the coupling matrix
sparse_matrix SMCoupling(gmm::mat_nrows(SM), gmm::mat_nrows(SMF));
// assemble coupling terms
getfem::generic_assembly assemCoupling;
assemCoupling.push_mi(intMethods3);
assemCoupling.push_mf(meshFemDom1); // structural domain #1
assemCoupling.push_mf(meshFemDom2); // fluid domain #2
assemCoupling.push_mat(SMCoupling);
assemCoupling.set("M$1(#1,#2)+=sym(comp(Base(#1).Normal().Base(#2))(:,k,:,k))");
std::cout<<" --- Coupling matrix assembling --- " << std::endl;
assemCoupling.assembly();
std::cout<<" --- Coupling matrix assembled --- " << std::endl;
But there is a problem because the surface that I would like to assemble
this integral is a surface with quad elements, intMethods3 is related to
quads and the two mesh_fem objects are related to hexa elements. Of
course I get an error message that integration methods and mesh_fem are
not on the same mesh but is there a way to accomplish this task.
+ Lastly, are there any curved shell elements implemented in getfem++,
there are some plate elements as far as I can see from the documentation?
I would appreciate further help on these points.
Thanks and best regards,
Umut
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Getfem-users] different mesh_fem definitions for different regions,
Umut Tabak <=