CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Post-Processing

sampleDict and controlDict

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree36Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 15, 2014, 10:15
Default How to use endTime in ControlDict
  #21
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
Dear all:

I am using OpenFoam 2.2.1 , InterDyMFoam/SloshingTank2D as follows:

I am running a code that will modify the displacement .dat file in OpenFoam/SloshingTank2D as follows: Each time the file is overwritten with 2 lines of data with a begin time and end time and corresponding displacements as follows:
2
(
( 0.19 (( 0.0265476475 0.00 0.00) ( 0.00 0.00 0.00)))
( 0.21 (( 0.0369661065 0.00 0.00) ( 0.00 0.00 0.00)))
)

The first column is time and the next column are the displacements associated with the time. Since both the time column and the displacement column will change as the new data is created, I would like to get an output at each end time (0.21 in this case). Can anyone suggest how I can use startFrom and stopAt to do this? In the OpenFoam Manual, for controlDict under "startFrom", there are options such as firstTime, startTime and latestTime options. so for example if the file previous to the one above is as follows:
2
(
( 0.17 (( -0.0665476475 0.00 0.00) ( 0.00 0.00 0.00)))
( 0.19 (( 0.0369661065 0.00 0.00) ( 0.00 0.00 0.00)))
)

Should I use the latestTime option? What about the stopAt option? looks like I only have the writeNow option. Is that correct? Any suggestions or comments would be appreciated, Thanks.
musahossein is offline   Reply With Quote

Old   November 17, 2014, 15:22
Default
  #22
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Musaddeque,

If you have a certain code that generates the file for the movement, then you can also have that code generate a file that has the times for start and stop.
For example, the new file "system/controlDict.start_stop" would have this:
Code:
newStartTime 0.17;
newStopTime 0.19;
And your file "system/controlDict" would (for example) be something like this:
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#include "controlDict.start_stop"

application     icoFoam;

startFrom       startTime;

startTime       $newStartTime;

stopAt          endTime;

endTime         $newEndTime;

//....
I didn't add more lines, as I was only trying to exemplify the main detail.

This is further explained in the release notes for one of OpenFOAM's versions... er, I have no idea in which version of OpenFOAM this was included. OK, it's explained in the User Guide: http://www.openfoam.org/docs/user/ba...8-1040004.2.10 - section 4.2.10 The #include and #inputMode directives

Best regards,
Bruno
vsammartano likes this.
__________________
wyldckat is offline   Reply With Quote

Old   November 18, 2014, 21:01
Default
  #23
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
Thankyou very much for your response. I am trying that approach.
musahossein is offline   Reply With Quote

Old   November 22, 2014, 20:51
Default
  #24
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Greetings Musaddeque,

If you have a certain code that generates the file for the movement, then you can also have that code generate a file that has the times for start and stop.
For example, the new file "system/controlDict.start_stop" would have this:
Code:
newStartTime 0.17;
newStopTime 0.19;
And your file "system/controlDict" would (for example) be something like this:
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#include "controlDict.start_stop"

application     icoFoam;

startFrom       startTime;

startTime       $newStartTime;

stopAt          endTime;

endTime         $newEndTime;

//....
I didn't add more lines, as I was only trying to exemplify the main detail.

This is further explained in the release notes for one of OpenFOAM's versions... er, I have no idea in which version of OpenFOAM this was included. OK, it's explained in the User Guide: http://www.openfoam.org/docs/user/ba...8-1040004.2.10 - section 4.2.10 The #include and #inputMode directives

Best regards,
Bruno
I have made the code to do what you suggested. I have verfied that at each time step the start and end times in controlDict gets updated correctly. So I am running the case with 12 pieces of data, at time intervals of 0.02 seconds. However after generating for force file with time stamp of 0.08, OpenFOAM gives the following error and shuts down:

Code:
{stuff deleted}

#19    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f7219c39de5]
#20    interDyMFoam() [0x43c56d]
[5] 
[5] 
[5] --> FOAM FATAL ERROR: 
[5] current time (0.12) is greater than the maximum in the data table (0.12)
[5] 
[5]     From function solidBodyMotionFunctions::tabulated6DoFMotion::transformation()[2] 
[2] 
[2] --> FOAM FATAL ERROR: 
[2] current time (0.12) is greater than the maximum in the data table (0.12)
[2] 
[2]     From function solidBodyMotionFunctions::tabulated6DoFMotion::transformation()
[2] [4] 
[4] 
[4] --> FOAM FATAL ERROR: 
[4] current time (0.12) is greater than the maximum in the data table (0.12)
[4] 
[4]     From function solidBodyMotionFunctions::tabulated6DoFMotion::transformation()
[4]     in file solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C at line [3] 
[3] 
[3] --> FOAM FATAL ERROR: 
[3] current time (0.12) is greater than the maximum in the data table (0.12)
[3] 
[3]     From function solidBodyMotionFunctions::tabulated6DoFMotion::transformation()
[3]     in file solidBodyMotionFvMesh/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.C[1] 

{stuff deleted}
What does this error mean? My code that is coupling with OpenFOAM provides start and end times with 0.02 second intervals, and the final time should be 0.12. Any suggestions will be greatly appreciated.

Thankyou

Last edited by wyldckat; November 23, 2014 at 15:31. Reason: Added [CODE][/CODE]
musahossein is offline   Reply With Quote

Old   November 23, 2014, 15:35
Default
  #25
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Musaddeque,

My guess is that this message:
Quote:
Code:
current time (0.12) is greater than the maximum in the data table (0.12)
is in fact referring to two different values, such as "0.120000001" and "0.120000000", respectively. This would easily lead to "0.120000001 > 0.120000000" being true.

A possible solution is to change your file to have something like this example, for 0.17 to 0.19:
Code:
4
(
(   0.16  ((   -0.0665476475   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.17  ((   -0.0665476475   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.19  ((   0.0369661065   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.20  ((   0.0369661065   0.00   0.00)  (   0.00   0.00   0.00)))
)
This way you enforce that the values after the limits are still the ones you want/need.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   November 23, 2014, 21:59
Default Bruno, thanks again
  #26
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Hi Musaddeque,

My guess is that this message:
is in fact referring to two different values, such as "0.120000001" and "0.120000000", respectively. This would easily lead to "0.120000001 > 0.120000000" being true.

A possible solution is to change your file to have something like this example, for 0.17 to 0.19:
Code:
4
(
(   0.16  ((   -0.0665476475   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.17  ((   -0.0665476475   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.19  ((   0.0369661065   0.00   0.00)  (   0.00   0.00   0.00)))
(   0.20  ((   0.0369661065   0.00   0.00)  (   0.00   0.00   0.00)))
)
This way you enforce that the values after the limits are still the ones you want/need.

Best regards,
Bruno
Bruno:
The numbers that my code sends to openfoam -- startTime, endTime, and the displacements are all followed by "0d0" after the last digit. This will ensure that there are no unintended digits. So if an updated time is 0.12, then the code will send 0.120d0, i.e. 0.1200000...to the end. Maybe that is where the conflict was. Even when I set the writeinterval in controlDict to 0.0005, the last OpenFoam time would be 0.1195 -- never quite reaching 0.1200. So what I did was subtract a small number say 0.0001 from the start time and add the same number to the end time in the displacement file, so that my displacement file would look like:

2
(0.1200001 (0, start_displacement) .... other columns deleted)
(0.1400001 (0, end_dispalcement)......other columns deleted)

However, in the controlDict file, the startTime and endTime are kept as

0.1200 and 0.1400.

Given a larger time range in the displacement file, OpenFOAM now accepts the update and does the analysis w/o problems (well until the next time). So thank you for your suggestion. But may I suggest that OpenFOAM standardize the way numbers are dealt with so it keeps track of significant digits and sets all other numbers after it to zero. I am sure this way errors such as the one I came across can be avoided. I am not sure though, however, why OpenFOAM refused to write data after 0.1195, eventhough the write interval was 0.0005, and there was a displacement associated with 0.1200000.
musahossein is offline   Reply With Quote

Old   November 27, 2014, 11:39
Default
  #27
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
Quote:
Originally Posted by musahossein View Post
Bruno:
The numbers that my code sends to openfoam -- startTime, endTime, and the displacements are all followed by "0d0" after the last digit. This will ensure that there are no unintended digits. So if an updated time is 0.12, then the code will send 0.120d0, i.e. 0.1200000...to the end. Maybe that is where the conflict was. Even when I set the writeinterval in controlDict to 0.0005, the last OpenFoam time would be 0.1195 -- never quite reaching 0.1200. So what I did was subtract a small number say 0.0001 from the start time and add the same number to the end time in the displacement file, so that my displacement file would look like:

2
(0.1200001 (0, start_displacement) .... other columns deleted)
(0.1400001 (0, end_dispalcement)......other columns deleted)

However, in the controlDict file, the startTime and endTime are kept as

0.1200 and 0.1400.

Given a larger time range in the displacement file, OpenFOAM now accepts the update and does the analysis w/o problems (well until the next time). So thank you for your suggestion. But may I suggest that OpenFOAM standardize the way numbers are dealt with so it keeps track of significant digits and sets all other numbers after it to zero. I am sure this way errors such as the one I came across can be avoided. I am not sure though, however, why OpenFOAM refused to write data after 0.1195, eventhough the write interval was 0.0005, and there was a displacement associated with 0.1200000.
In order to "force" OpenFOAM to create files at 0.02 second intervals, I noted that if I tweaked the start time be subtracting 0.00001 seconds to it and adding the same to the end time, OpenFOAM would run without crashing and ceate time files at 0.02 second intervals. But alas I was mistaken. I put in 2000 data points (0.02 second intervals). Now OpenFOAM still does not write at 0.02 second intervals after 21 seconds into the data, which is approx half way into the run. Instead of creating files at 21.70 and 21.72 seconds, it creates a file 21.71999999 seconds. I have no idea how it comes up with this precision. It seems like no matter what time I put for the data write interval in controlDict, OpenFOAM will do what it will! Any suggestions?
musahossein is offline   Reply With Quote

Old   November 27, 2014, 15:33
Default OpenFOAM write interval doesnt always work
  #28
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
As a follow up to the previous thread, in control dict I specify the write time as 0.02 as shown below:

Code:
 FoamFile
 {
 version     2.0;
 format      ascii;
 class       dictionary;
 location "system";
 object      controlDict;
 }
 // * * * * * * * * new file * * * * * * * * * * * * * * * * * * * * * * * * * * //
 application     interDyMFoam;
 startFrom         latestTime;
 startTime  21.70000;
 stopAt endTime;
 endTime  21.72000;
 deltaT 0.0005;
 writeControl    adjustableRunTime;
 writeInterval 0.02;
 purgeWrite 0;
 writeFormat     ascii;
 writePrecision 6;
 writeCompression compressed;
 timeFormat      general;
 timePrecision 6;
 runTimeModifiable yes;
 adjustTimeStep  yes;
 maxCo 0.5;
 maxAlphaCo 0.5;
 maxDeltaT 1;
But during OpenFoam run, I end up with the following time stamp on the oputput files:

Code:
.
.
.
21.68
21.7199999999
Looks like it not only missed writing output at 21.70, but it didnt quite get to 21.72.

Any suggestions advice would be greatly apprciated. Thanks!

Last edited by wyldckat; January 25, 2015 at 11:09. Reason: Added [CODE][/CODE]
musahossein is offline   Reply With Quote

Old   January 25, 2015, 11:21
Default
  #29
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Musaddeque,

Sorry, I wasn't able to look into this any sooner. And I know there is a bug report related to this issue, but I haven't found it yet.

OK, the latest error seems to be because the time snapshot 21.70 doesn't exist and because you have these settings:
Code:
startFrom         latestTime;
 startTime  21.70000;
 endTime  21.72000;
timePrecision 6;
But since you have only these time folders:
Code:
21.68
21.7199999999
Then it's not able to 21.70 because it doesn't exist and it's not able to find "21.7199999999" because it has a precision higher than 6... although I'm not certain about this one.

Can you please provide a test case? Because I'm not able to reproduce this error.

Best regards,
Bruno

edit: OK, found it: http://www.cfd-online.com/Forums/ope...ct-number.html

Last edited by wyldckat; January 25, 2015 at 11:24. Reason: see "edit:"
wyldckat is offline   Reply With Quote

Old   January 25, 2015, 15:56
Default OpenFOAM write interval doesnt always work
  #30
Senior Member
 
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18
musahossein is on a distinguished road
WyldKat:

Thanks for your response. I cant provide a test case as I have coupled at program with openfoam. The program looks for specific files with specific time stamps. As a result, if it does not find the file 27.72 for example, it will give an error. I got around this problem for the time being by:
1.Increasing the time stamp by a range. So for example, instead of supplying the start time as 2.00 seconds of simulation time, I will supply 1.999999. Similarly, I will increase the end time by a small amount say 0.0001. So the code now looks for something within that range.
2. Increasing the writPrecision in controlDict to 6.

Both these appear to help and I have running simulations w/o problems on this issue. I will try OpenFOAM version 2.3 soon.

Thanks
musahossein is offline   Reply With Quote

Old   June 4, 2015, 15:00
Default
  #31
New Member
 
romain
Join Date: Jun 2015
Posts: 2
Rep Power: 0
rocap is on a distinguished road
Dear all.



I have the same type of problem as musahossein. I’am working on foam-extend 3.1 on a turbine simulation. I am using pimpleDyMFoam to solve the simulation.



What I need to do now, is to set probes on one face of the blades. But probes can’t be fixed. I need them to follow the blades to always get the pressure at the good point.


I read all your previous post but I could not fix my problem.



Do you have an idea about the way I can do this? It also need to be run in parallel. I don’t know if it’s possible with this “moving” probes.


Best Regards
Romain
rocap is offline   Reply With Quote

Old   June 12, 2015, 18:38
Default
  #32
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Romain and welcome to the forum!

AFAIK, "moving probes" is only somewhat implemented in OpenFOAM 2.2.x and newer: http://www.openfoam.org/mantisbt/view.php?id=1090
It's in this commit: https://github.com/OpenFOAM/OpenFOAM...f27b5d573c2a9b

I don't know if this feature has been back-ported to foam-extend already or not.

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   June 16, 2015, 19:44
Default
  #33
New Member
 
Joshua Brinkerhoff
Join Date: Nov 2014
Location: Kelowna, BC Canada
Posts: 3
Rep Power: 11
okcfdlab is on a distinguished road
Send a message via Skype™ to okcfdlab
Sample can be run in parallel on a decomposed case in exactly the same manner as the case itself is run in parallel.

For instance, if you have a case decomposed into four processor directories, you can run sample in parallel on four processors by

mpirun -np 4 sample -parallel

This is much faster than running reconstructPar and then sample.
okcfdlab is offline   Reply With Quote

Old   June 18, 2015, 11:36
Default
  #34
New Member
 
romain
Join Date: Jun 2015
Posts: 2
Rep Power: 0
rocap is on a distinguished road
Dear Bruno

Thanks for your reply and your help. I will try it and I will let you know

regards
rocap is offline   Reply With Quote

Old   August 14, 2015, 06:27
Default
  #35
Member
 
Gautami Erukulla
Join Date: Mar 2009
Posts: 71
Rep Power: 17
gautami is on a distinguished road
Dear All,

I am working on the interDyMFoam/floatingObject tutorial. I need guidance with post processing. I am trying to get fluid velocities and acceleration values at specific points in the computational domain.

1.In the "sampleDict/controlDict" file can I use the option "type cloud" and read the points from a file.
2.Is it possible to get the acceleration data for these specific points by using "fields" (as U for velocity).

Thank you.
gautami is offline   Reply With Quote

Old   August 17, 2015, 12:39
Default
  #36
Member
 
Gautami Erukulla
Join Date: Mar 2009
Posts: 71
Rep Power: 17
gautami is on a distinguished road
Dear Mr Bruno,

I am trying to use sampleDict utility with cloud of points option. Kindly can you please guide me as to how I could read the coordinates of the cloud points form a data file (as I need to track up to 150 points). Your help is highly appreciated.Thank you.

Regards,
Gautami.
gautami is offline   Reply With Quote

Old   August 18, 2015, 14:08
Default
  #37
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick answers:
Quote:
Originally Posted by gautami View Post
1.In the "sampleDict/controlDict" file can I use the option "type cloud" and read the points from a file.
...and...
Quote:
Originally Posted by gautami View Post
how I could read the coordinates of the cloud points form a data file (as I need to track up to 150 points).
You can't. There is no CSV option for loading points for sampling: https://github.com/OpenFOAM/OpenFOAM...ple/sampleDict
The best you can do is use "#include" to include the file that has the data, but the data must be formatted in OpenFOAM's own interpretation of the data, e.g.:
Code:
    somePoints
    {
        type    cloud;
        axis    xyz;
        points  (
#include "$FOAM_CASE/the_data.txt"
);
    }
There the file "the_data.txt" would be located in the case main folder and the content would have to be something like this:
Code:
(0.049 0.049 0.00501)
(0.051 0.049 0.00501)
Warning: I have not tested if this works as intended.


Quote:
Originally Posted by gautami View Post
2.Is it possible to get the acceleration data for these specific points by using "fields" (as U for velocity).
...not very easily. The acceleration field isn't used in most solvers. Nonetheless, instructions on how to perhaps do this are provided here: http://www.cfd-online.com/Forums/ope...tml#post196210 - post #3
wyldckat is offline   Reply With Quote

Old   August 19, 2015, 13:34
Default
  #38
Member
 
Gautami Erukulla
Join Date: Mar 2009
Posts: 71
Rep Power: 17
gautami is on a distinguished road
Dear Mr Bruno,

Thank you very much for your reply.

As per your suggestion I have used "#include option" in the "sampleDict" utility, to read the coordinate of the points from file "mordata" as:

Code:
 sets
(
    somePoints
    {
        type    cloud;
        axis    xyz;
        #include "mordata"
        points;
    }
);
(The mordata file is located in the system folder and the content, as an example for 6 points is: as described in
http://cfd.direct/openfoam/user-guid...c-file-format/)

Code:
points
(
(0 0 0)
(1 0 1.1)
(2 0 1.2)
(3 0 1.3)
(4 0 1.4)
(5 0 1.5)
);
I was able to run sample without any error and could see sub folders postProcesisng/sets/(time folders) were created with the required field data at the points.

However when I try to implement the same in "controlDict" utility to obtain the data runtime I end up getting the following error:

Code:
 /opt/OpenFOAM-2.2.0/bin/tools/RunFunctions: line 42:  8205 Segmentation fault      $APP_RUN "$@" > log.$APP_NAME 2>&1
This is how I implement the above in controlDict

Code:
functions
{
   points
     {
    type            sets;
        functionObjectLibs ("libsampling.so");
        outputControl   outputTime;
        interpolationScheme cellPoint;
        setFormat       raw;
        sets
        (
           somePoints
            {
              type cloud;
              axis xyz;
              #include "mordata" 
              points;
            }
        );
        fields
        (
            U
        );
    }
}
Kindly can you please help me with this issue.Thank you.

(I would like to mention here that, the option probes and wallPressure/surfaces in controlDict works fine, but the line option and points option in controlDict gaves me this error similar to the above error.

Code:
 : /opt/OpenFOAM-2.2.0/bin/tools/RunFunctions: line 42: 18418 Segmentation fault $APP_RUN "$@" > log.$APP_NAME 2>&1.
I have posted this issue in the thread: http://www.cfd-online.com/Forums/ope...s-runtime.html)

Your guidance will be invaluable.

Regards,
Gautami.

Last edited by wyldckat; August 19, 2015 at 16:11. Reason: Added [CODE][/CODE] markers
gautami is offline   Reply With Quote

Old   July 7, 2016, 05:31
Default
  #39
New Member
 
Bah.Mah
Join Date: Jun 2016
Posts: 18
Rep Power: 10
R.Mah is on a distinguished road
Hello Mr Bruno,
I was looking how to extraxt points from my configuration for the postprocessing till I found these posts above, I kindly would like to know how can I extract points from differents lines from my geometry and save it with a format that OpenFOAM would read it, (I´m using type cloud for sampling)
The point is to sample the concentration in these differents cells on each time step
R.Mah is offline   Reply With Quote

Old   July 17, 2016, 10:00
Default
  #40
New Member
 
mohafarmani
Join Date: Aug 2015
Location: shiraz
Posts: 14
Rep Power: 11
moh-farmani is on a distinguished road
Hi Bruno
first thanks for your kindness and time. I want to take the velocity profile at every time steps over some surfaces located in computational doamin during running, and as my case is big so i can't save all fields every time steps and i couldn't use sampleDict.
could you please let me know the way?
moh-farmani is offline   Reply With Quote

Reply

Tags
controldict, interpolate, sampledict

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 21:17.