Coder Social home page Coder Social logo

unimainzgeo / lamem Goto Github PK

View Code? Open in Web Editor NEW
42.0 42.0 15.0 56.21 MB

LaMEM (Lithosphere and Mantle Evolution Model) - a 3D parallel code to simulate geodynamic and geomechanical processes

License: MIT License

Makefile 0.71% Python 2.25% MATLAB 9.59% Julia 6.46% Shell 0.18% C++ 70.25% C 9.42% Jupyter Notebook 1.13%
3d computational geodynamics geomechanics parallel

lamem's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lamem's Issues

Segmentation Violation error when using plume inflow boundaries

Hello!

I'm trying to use LaMEM to run a 3D model which requires the existence of a plume boundary. I've used these boundaries before with success, but after updating the code recently I've been met with this error:


[124]PETSC ERROR: ------------------------------------------------------------------------
[124]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
[124]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
[124]PETSC ERROR: or see https://petsc.org/release/faq/#valgrind and https://petsc.org/release/faq/
[124]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
[124]PETSC ERROR: to get more information on the crash.
[124]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash.
--------------------------------------------------------------------------

The plume inflow was defined like this:

# Set a plume in the plateau region:
        Plume_InflowBoundary 	= 	1	
        Plume_Type                     =      Inflow_Type
	Plume_Dimension           =	3D	
	Plume_Phase 		        =	7	
	Plume_Depth		        = 	0
	Plume_Temperature 	=	1700	
	Plume_Inflow_Velocity 	= 	15.0
	Plume_VelocityType        =	Gaussian
	Plume_Center 		        =	-200.0 -100.0
	Plume_Radius 		        =	50		

The only change from my previously used plumes are the coordinates and the number of the inflow phase. It was attempting to run on 128 cores.

Phase change problem when using phase diagram

Hello,

When trying to use phase change with phase diagram ("rho_ph" option in the Material structure) we get the following error message. Without the phase diagram option "rho_ph" everything works fine.

 --------------------------------------------------------------------------
 ============================== INITIAL GUESS =============================
 --------------------------------------------------------------------------
 --------------------------------------------------------------------------
 **************   NONLINEAR SOLVER FAILED TO CONVERGE!   ****************** 
 --------------------------------------------------------------------------
 SNES Divergence Reason  : residual norm is NAN
 [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
 [0]PETSC ERROR: Severe divergence reason detected (see above)
 [0]PETSC ERROR: WARNING! There are option(s) set that were not used! Could be the program crashed before they were used or a spelling mistake, etc!
 

This error message is obtained for instance using this in the input.dat file:

Untitled-1

Nico

The total pressure

Hi,

I'm using LaMEM to run a 2D subduction model with phase transition from basalt to eclogite. I set an internal velocity 5cm/yr on the horizontal plate to initializing subduction. The viscosity field seems normal, but the pressure field looks very strange, very different from the example in LaMEM. Besides, I use the eclogite phase transition in LaMEM. However, even the temeprature of basalt parts is higher than 1000 degree, there is no phase transition. I use 32 cpu cores.

I use 20 SNES iterations, and the SNES residual is ~100.

The following are Petsc options and result pictures.

`
-snes_npicard 10
-snes_monitor
-snes_atol 1e-4
-snes_rtol 1e-5
-snes_stol 1e-16
-snes_max_it 20
-snes_max_funcs 50000
-snes_max_linear_solve_fail 10000
-snes_type newtonls

-snes_ksp_ew
-snes_ksp_ew_rtolmax 1e-2

-snes_PicardSwitchToNewton_rtol 1e-4
-snes_NewtonSwitchToPicard_it 15
-snes_NewtonSwitchToPicard_rtol 1e-3

-snes_linesearch_monitor
-snes_linesearch_type cp
-sens_linesearch_maxstep 1.0

-js_ksp_type fgmres
-js_ksp_max_it 25
-js_ksp_converged_reason
-js_ksp_monitor
-js_ksp_rtol 1e-4
-js_ksp_atol 1e-4`

subduction_pressure
subduction_visc

Phase change problem when using phase diagram

Hello,

When trying to use phase change with phase diagram ("rho_ph" option in the Material structure) we get the following error message. Without the phase diagram option "rho_ph" everything works fine.


============================== INITIAL GUESS =============================


************** NONLINEAR SOLVER FAILED TO CONVERGE! ******************

SNES Divergence Reason : residual norm is NAN
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Severe divergence reason detected (see above)
[0]PETSC ERROR: WARNING! There are option(s) set that were not used! Could be the program crashed before they were used or a spelling mistake, etc!

For instance: (I cannot copy the code, it put everything as a block)

Uploading Untitled-1.png…

Nico

Subject: Compilation Error in LaMEM: Assistance Needed

I am currently working with LaMEM and encountered an issue while compiling using the "make mode=opt all" command. The error message I received is as follows:

In file paraViewOutBin.cpp, line 378:
Error: macro "SETERRQ" is passed 4 arguments but takes only 3
  378 |   SETERRQ(PETSC_COMM_WORLD, PETSC_ERR_USER, "Too many phase aggregates specified! Max allowed: %lld", (LLD)_max_num_phase_agg_);

Could you kindly provide guidance on how to resolve this compilation error? I appreciate your assistance in this matter.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.