Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
Interpolation Function Help
Posted Jul 18, 2011, 9:33 a.m. EDT Modeling Tools & Definitions, Parameters, Variables, & Functions Version 5.0 14 Replies
Please login with a confirmed email address before reporting spam
I'm having trouble using COMSOL's interpolation function, and I was hoping someone might be able to help. I'm trying to load data from a tab-delimited text file. I've followed the instructions in the COMSOL user guide on interpolation functions, however I get the following error when I click "plot":
"Internal error in mesh initialization.
-Plot: previewplot1 (Surface)
-Function: int1"
Additionally, when I try to solve the model I get the following error message:
"-Feature: Compile Equations: Stationary (sol1/st1)
-Error: Internal error in mesh initialization."
When I disable the interpolation function, COMSOL successfully solves the model.
The input data used for the interpolation function was a velocity distribution exported from a previous solution surface. It has the following structure:
% x y z myfun1
0.005164328 0.094835672 0.2 0.098519135
0.015894103 0.087647192 0.2 0.511590803
0.015569986 0.095339275 0.2 0.22689919
0.006197193 0.083275657 0.2 0.312314232
0.005469283 0.016082383 0.2 0.2672031
0.004733427 0.004733427 0.2 0.081290304
0.012546053 0.01240331 0.2 0.43510989
0.015707096 0.004896326 0.2 0.232560416
0.027164381 0.094602393 0.2 0.368319369
etc.
A very simple flow model demonstrating the problem is attached, along with an excel version of the data I'm using. I'm a new COMSOL user, and any advice would be greatly appreciated.
Thank You!
Attachments:
Please login with a confirmed email address before reporting spam
sorry I can't help you
Please login with a confirmed email address before reporting spam
Please login with a confirmed email address before reporting spam
Nagi Elabbasi
Veryst Engineering
Please login with a confirmed email address before reporting spam
As Nagi explains above, an interpolation function of three arguments does not work well when one of them is a constant value (it is a degenerated case). Perhaps you want to treat this as function of two variables (arguments), neglecting the values in the third column. You can then import it without having to modify the data file but specifying, in the settings window for Interpolation, that there are 2 arguments, and, under Functions, that the position in the file for the function values is 2. That means that COMSOL treats columns 1 and 2 as the argument values, and the second of the following columns (that is, column 4) as the column with the associated function values. Column 3 is then not used.
In this particular case the data is in an Excel file, which the Interpolation function does not support in a general way, but you can save it as text file, which is a supported data format. Furthermore, the values in the file seem to use a decimal comma rather than a decimal point. Replacing commas with points in the text file it is possible to import it as described above and plot the interpolation function as a surface plot.
Best regards,
Magnus Ringh, COMSOL
Please login with a confirmed email address before reporting spam
I have a question for the interpolation function, can you help me? Thanks.
My function has two arguments p and e instead of coordinates x and y, and the form is:
G=f(p,e)
So, I create the spreadsheet as:
% p e G
1e6 0.5 2e6
2e6 0.6 3e6
etc...
But the COMSOL always assume to be coordinates as argument. How to fix this problem?
Thanks a lot.
Xu
Please login with a confirmed email address before reporting spam
I have a question for the interpolation function, can you help me? Thanks.
My function has two arguments p and e instead of coordinates x and y, and the form is:
G=f(p,e)
So, I create the spreadsheet as:
% p e G
1e6 0.5 2e6
2e6 0.6 3e6
etc...
But the COMSOL always assume to be coordinates as argument. How to fix this problem?
Thanks a lot.
Xu
Please login with a confirmed email address before reporting spam
The Discussion Forum is primarily meant for customers to assist each other. To request support from COMSOL support personnel, please email support@comsol.com.
Please login with a confirmed email address before reporting spam
I have a quick question on the interpolation functions used a boundary conditions.
I am working on a 3D model with PDE weak form. I need to introduce a boundary condition for a weak contribution that is tabulated in a file. This is
f=f(t) meaning that the only input argument is the time.
I have a text file built in this way:
% t force
0 1
0.1 3
0.3 7
etc.,
When I introduce this function as boundary condition I receive the following error message:
Failed to evaluate variable Jacobian
- Variable: int1
-Geometry: 1
-Boundary: 4 8
-Feature: Time-Dependent Solver 1 (sol/t1)
-Error: Failed to evaluate variable Jacobian
can anybody help me?
thanks
Please login with a confirmed email address before reporting spam
% x y hh
90.603 53.779 -0.40248
84.429 93.007 -0.31846
92.494 133.702 -0.27818
110.658 216.016 -0.36048
127.878 296.939 -0.51878
But when I want to plot them, I am confronting with this error that: "Mesh interpolation failed".
Do you have any idea why I am getting this kind of error? Is it related to negative values of my function?
Is it sth happening in mesh?
Many thanks in advance for your help.
Sepideh
Please login with a confirmed email address before reporting spam
I am a beginner to COMSOL 5.2.
I am getting some problem while incorporating the interpolation function into my model.
The function is described below.
Pint(t) = 1, t<= 0.00007s,
decreases linearly to zero, 0.00007s<= t<= 0.00009s
0, t>= 0.00009s.
Can anyone help me out how to do the same.
thank you.
Please login with a confirmed email address before reporting spam
Can you be more specific about the problem you're encountering? It should be a straightforward use of interpolation functions.
Best,
Jeff
Please login with a confirmed email address before reporting spam
The issue is when I am plotting the interpolation function by putting the values of t and F(t) in the local table, the plot is like a step function only. It does not take into account the values provided in the local table.
Regards,
Usha
Please login with a confirmed email address before reporting spam
The issue is when I am plotting the interpolation function by putting the values of t and F(t) in the local table, the plot is like a step function only. It does not take into account the values provided in the local table.
Preview plots of functions by default use 10000 points (in the latest version, 5.2a), so they aren't guaranteed to capture dynamics on all scales. Note that this also holds for the solver: Make sure to set up the time list to capture the dynamics, or else the solver might step past it.
Please login with a confirmed email address before reporting spam
Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.