I have some explanations of fipy and my idea. Please see attached PDF. If you need more information, please just ask.
在 2014年11月14日星期五UTC+1下午2时54分04秒，Robert Cimrman写道：
I have just installed fipy and tried it. Could you explain more the shape of
the prestress array? It is (nx * ny * 4, 3), where nx * ny is the number of
cells (elements of the mesh). Why the factor 4 there? The values seem to be
constant in each cell.
On 11/14/2014 01:03 PM, Ronghai Wu wrote:
> Hi Robert,
> I still cannot fix the bug in my codes nor find other better ways. I am
> wondering have you tried my codes found the problem?
> 在 2014年11月11日星期二UTC+1下午4时45分43秒，Robert Cimrman写道：
>> Hi Ronghai,
>> On 11/11/2014 03:03 PM, Ronghai Wu wrote:
>>> Hi Robert,
>>> Thanks for your reply. I tried your suggestions with the assistance of
>>> but seems not working.
>>> There are some error massages which I cannot fix. Could you please
>>> more help. I additionally have some explanations and questions regarding
>>> wield codes.
>>> 1. eta is dynamic scalar field, I solve the PDE with respect to eta by
>>> fipy.because I am familiar with fipy. But the elastic equation is
>>> stationary, and eta is as a known input for elastic equation.
>> So eta is then defined in the mesh vertices? Or elsewhere?
>>> 2. I generated my own mesh(as attached) because, a) I am not able to use
>>> gmsh although learned hard, b) I want the mesh numbering or ordering
>>> with fipy mesh. If the generated mesh is applicable for sfepy?
>> Yes, it seems fine. The same mesh (only "transposed" - the numbering of
>> goes y-axis first) can be obtained by:
>> ./script/blockgen.py --2d -s [4,4,4] -o out.mesh
>> that uses "from sfepy.mesh.mesh_generators import gen_block_mesh".
>>> 3. why when printing coors, values are [[0.21132487
>>> real coordinates of mesh vertices?
>> The materials are evaluated in quadrature points for numerical integration
>> not in the mesh vertices. If your values are in the mesh vertices, you
>> need to interpolate them to the quadrature points, for example using a
>>> 4. I used integral = Integral('i', order=3), but what is the most
>>> appropriate integral for my problem ?
>> Your field is bi-linear, so 3 should be ok.
>>> 5. for stationary problem, if pb.time_update() and pb.update_materials()
>>> are necessary before pb.solve()?
>> Yes, those set up the boundary conditions and materials. A stationary
>> is solved as a single step of a quasi-static solver.
>>> My complete codes are shown below. also attached. Thank you.
>> I will look at it.