Skip to content
Snippets Groups Projects
Commit 50e1612d authored by David Hendriks's avatar David Hendriks
Browse files

moved a part to general examples, and added some custom logging snippets

parent 7d09cd97
No related branches found
No related tags found
No related merge requests found
......@@ -103,6 +103,42 @@ def run_example_binary_with_run_system():
run_example_binary_with_run_system()
def run_example_custom_logging_autogenerated():
"""
This is an example function for the autogeneration of logging codes that binary_c uses.
"""
# generate logging lines
logging_line = autogen_C_logging_code(
{
"MY_STELLAR_DATA": ["model.time", "star[0].mass"],
"my_sss2": ["model.time", "star[1].mass"],
}
)
# Generate code around logging lines
custom_logging_code = binary_c_log_code(logging_line)
# Generate library and get memaddr
func_memaddr = create_and_load_logging_function(custom_logging_code)
#
m1 = 15.0 # Msun
m2 = 14.0 # Msun
separation = 0 # 0 = ignored, use period
orbital_period = 4530.0 # days
eccentricity = 0.0
metallicity = 0.02
max_evolution_time = 15000
argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}".format(
m1, m2, separation, orbital_period, eccentricity, metallicity, max_evolution_time
)
output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)
print(output)
run_example_custom_logging_autogenerated()
def run_example_binary_with_custom_logging():
"""
......
......@@ -8,15 +8,20 @@ from binarycpython.utils.custom_logging_functions import (
from binarycpython.utils.grid import Population
#################################################
#
#################################################
# no logging set.
pop = Population()
pop.set(M_1=10, M_2=10, separation=0, orbital_period=4530, eccentricity=0, metallicity=0.02, max_evolution_time=15000)
out = pop.evolve_single()
print(out)
###########################################
#################################################
# Example logging snippet for logging
pop.set(C_logging_code="""
if(stardata->star[0].stellar_type>=MS)
{
......@@ -47,6 +52,7 @@ print(out)
#################################################
# Example logging snippet for checking whether the system becomes a NS, and stop the evolution if so.
pop.set(M_1=100, M_2=10, separation=0, orbital_period=400530, eccentricity=0, metallicity=0.002, max_evolution_time=15000)
pop.set(C_logging_code="""
if(stardata->star[0].stellar_type>=NS)
......@@ -72,52 +78,10 @@ pop.set(C_logging_code="""
};
""")
out = pop.evolve_single()
print(out)
# TODO: add function that shows a
# TODO: add function for compact object mergers
quit()
def custom_logging_autogenerated():
"""
This is an example function for the autogeneration of logging codes that binary_c uses.
"""
# generate logging lines
logging_line = autogen_C_logging_code(
{
"MY_STELLAR_DATA": ["model.time", "star[0].mass"],
"my_sss2": ["model.time", "star[1].mass"],
}
)
# Generate code around logging lines
custom_logging_code = binary_c_log_code(logging_line)
# Generate library and get memaddr
func_memaddr = create_and_load_logging_function(custom_logging_code)
#
m1 = 15.0 # Msun
m2 = 14.0 # Msun
separation = 0 # 0 = ignored, use period
orbital_period = 4530.0 # days
eccentricity = 0.0
metallicity = 0.02
max_evolution_time = 15000
argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}".format(
m1, m2, separation, orbital_period, eccentricity, metallicity, max_evolution_time
)
output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)
print(output)
\ No newline at end of file
# TODO: add function
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment