-
I modified some code from a previous user here years ago, I think his name was Ludwig... You're going to have to switch it to head rather than neumann BC.
[code]flux_in_left, flux_in_right, flux_out[/code] are arrays containing node numbers, representing the neumann BC, for three unique areas on my model. Note that node numbers start from 1 in FEFLOW but 0 in the IFM, I subtract 1 in the code rather than modify the arrays taken from FEFLOW
[code]void CFepestparam::PreEnterSimulator (IfmDocument pDoc)
{
/*
this plug-in allows for boundary conditions to be parameter groups and assigned specific values
normally this is only available for element selections
fpi files contain the names and the values which pest assigns to each parameter group
*/
//Reading the values
//tab corresponds to the number of boundary condition parameter groups
double tab [3]={0.000, 0.000, 0.000};
//parameter group name
string colA;
//parameter group value
double colB;
int i=0;
ifstream inputFile("M:\\femdata\\ifm.fpi");
if (inputFile.is_open())
{
while ((!inputFile.eof())&&(i<sizeof(tab) / sizeof(tab[0])))
{
inputFile>>colA;
inputFile>>colB;
tab[i]=colB;
i++;
}
inputFile.close();
}
double Val_flux_in_left = tab [0];
double Val_flux_in_right = tab [1];
double Val_flux_out = tab [2];
//Assigning the values to the nodes with the flux boundary conditions
for (int i=0;i < sizeof(flux_in_left) / sizeof(flux_in_left[0]) -1; i++)
{
IfmSetBcFlowTypeAndValueAtCurrentTime(pDoc, flux_in_left[i]-1, IfmBCC_NEUMANN, 0, Val_flux_in_left);
}
for (int i=0;i < sizeof(flux_in_right) / sizeof(flux_in_right[0])-1; i++)
{
IfmSetBcFlowTypeAndValueAtCurrentTime(pDoc, flux_in_right[i]-1, IfmBCC_NEUMANN, 0, Val_flux_in_right);
}
for (int i=0;i < sizeof(flux_out) / sizeof(flux_out[0])-1; i++)
{
IfmSetBcFlowTypeAndValueAtCurrentTime(pDoc, flux_out[i]-1, IfmBCC_NEUMANN, 0, Val_flux_out);
}
/*Writing values to file
ofstream myfile;
myfile.open ("M:\\femdata\\example.txt");
myfile << tab[0] << endl << tab[1] << endl << tab[2];
myfile.close();
*/
}[/code]
-
I spoke with the developers of SAMG from Fraunhofer SCAI about their SAMG (Multigrid solver) a couple times and like what Peter said, it's a different type of problem. They currently use OpenMP and MPI.
The company is working on a solution to the problem that can utilize many-core CPU's, which I would imagine would use something like OpenCL. I don't think they've released anything though.
-
My experience has been that it's best to represent wells like this as seepage face BCs because the multilayer wells tended to have numerical issues (i.e. go dry, stop pumping, and in the following timestep have water, start pumping, and repeat) due to the drawdown.
In this case, I imagine it would help to represent your problem as fully saturated so it continues pumping, or represent your well differently
-
Reinstalling did work, it seems the path changes likely due to OS, sorry about that.
-
Bumping previous message...
Keep having LNK2001 and LNK1120 error in Visual Studio 2015... I will try reinstalling :'(
-
Hi,
I am trying to do a steady-state calibration with FePEST with strict constraints on the hydraulic conductivity (and using only hydraulic conductivity). Before FePEST is used the model converges to below the error tolerance. But after FePEST is used, the model no longer converges.
I am wondering if there is a way to check to see if the model still converges in FePEST... It would be handy on making some diagnostics on my model. Or perhaps a way to set a criterion to terminate the FePEST run if it stops converging.
Thanks,
Adam
-
Yes, you can do this. I use PSTools to do it. I set up two scripts. list.txt contains IPs of workstations, and User and Pass123 are the username and password, respectively.
[code]
@SETLOCAL
@path=M:\Admin\PSTools\;%path%
psexec @list.txt -u User -p Pass123 -c -f M:\Admin\schtasks\schtasksFePEST.bat
@ENDLOCAL
[/code]
[code]
schtasks /create /tn FePESTServer /SC ONSTART /RU User /RP Pass123 /F /TR "\"C:\Program Files\WASY\FEFLOW 6.2\bin64\fepest62.exe\" -mode=server"
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "port" /t REG_DWORD /d 4051 /f
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "PestPath" /t REG_SZ /d "C:\Program Files (x86)\PEST Utilities\pest\pest.exe" /f
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "Addreg1Path" /t REG_SZ /d "C:\Program Files (x86)\PEST Utilities\pest\addreg1.exe" /f
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "PlprocPath" /t REG_SZ /d "C:\Program Files (x86)\PEST Utilities\plproc\plproc32.exe" /f
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "BeopestPath" /t REG_SZ /d "C:\Program Files (x86)\PEST Utilities\pest\beopest32.exe" /f
reg.exe add "HKEY_CURRENT_USER\Software\DHI-WASY\FEFLOW Parameter Estimation" /v "PpcovPath" /t REG_SZ /d "C:\Program Files (x86)\PEST Utilities\gwutils\ppcov.exe" /f
[/code]
Big caveat is that the slaves tend to stop working after one use and the workstations need to be rebooted. Furthermore, the versions all have to be the same across all workstations.
-
Hi,
I am experiencing this once again with FEFLOW v6.2 p16 64-bit:
[code]
LNK2001 unresolved external symbol DllRegisterServer
LNK2001 unresolved external symbol DllUnregisterServer
LNK1120 2 unresolved externals
[/code]
I am also experiencing with FEFLOW v7.1:
[code]Error LNK1158 cannot run 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\rc.exe'
[/code]
I do have MSVS 2010 and MSVS2015 installed as well, because of compatibility issues with my plug-ins.
Regards,
Adam
-
Hi Bjorn,
My understanding is that depending on the solver (serial or parallel) there could be a bottleneck... [code]doc.getNumberOfNodes()[/code] would only test one of these computations?
PCG (serial) solver being good for flow transient models, and SAMG (parallel) being good for transient contaminant transport from my experience.
Currently, I plan on using i9-9700X to maximize serial and parallel computation.
-
Perfect, thank you.