[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Getfem-users] setting a point source term
From: |
Roman Putanowicz |
Subject: |
Re: [Getfem-users] setting a point source term |
Date: |
Wed, 4 May 2011 00:06:47 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
> Dear all,
>
> I am trying to set a point source in the generic elliptic brick.
> Although I could set a source term that applies onto a surface, I do
> not manage to have the "physical point" on which the source term
> applies recognized as a region which I could call in the brick. I
> use gmsh as a mesh builder and the point source is a node of the
> mesh.
> This is the brick I use for the source term:
> md.add_source_term_brick(mim, 'u', 'PointForce',region)
>
> Does someone have any idea on how to set such pointwise source term?
Some mathematicians on the list can elaborate on this and correct
me, but trying to achieve what you call "PointForce" is a fundamental
flaw in the mathematical model for 2D and more dimensional domains.
Using the analogy from mechanical systems it would mean a finite force
acting on infinitely small area which would result in non-physical infinite
stresses. Thus you cannot use add_source_term_brick in your way.
However in the framework of finite element method such "nodal loads"
can be easily incorporated and this amounts to direct modification
of right hand side vector at position corresponding to affected degree of
freedom.
The mentioned function getfem::add_source_term brick has additional arguments
to handle the above situation.
--------------From GetFEM documentation:
size_type getfem::add_source_term_brick ( model & md,
const mesh_im & mim,
const std::string & varname,
const std::string & dataname,
size_type region = size_type(-1),
const std::string & directdataname = std::string()
)
Add a source term on the variable `varname`.
The source term is represented by the data `dataname` which could be constant
or described on a fem. `region` is an optional mesh region on which the term is
added. An additional optional data `directdataname` can be provided. The
corresponding data vector will be directly added to the right hand side without
assembly. Return the brick index in the model.
----------------------------
Another solution would be to use getfem::add_explicit_rhs
to achieve the same direct modification of right hand side vector.
I hope that this helps.
Regards,
Roman
--
Roman Putanowicz, PhD < address@hidden >
Institute for Computational Civil Engng (L-5)
Dept. of Civil Engng, Cracow Univ. of Technology
www.l5.pk.edu.pl, tel. +48 12 628 2569, fax 2034